Leak counting ad-hoc commands is preventing new commands from being executed

Description

Steps to reproduce this problem
1. Have an external component connect to Openfire
2. Execute the fist step of a command that has many steps/stages
3. Disconnect the external component
4. Repeat the operation 101 times and make sure that it worked all times (or reduce system property "xmpp.command.limit" to a smaller number so you do not have to go to 100 + 1)

The same problem applies to clients and not only external components

Environment

None

Activity

Show:
Andrea Luciani
October 20, 2020, 1:53 PM
Edited

still reproducible in Openfire v4.4.1

Scenario:

  • Client using same /Resource any time he join.

  • An adhoc command require more stages (e.g. fill a form with requested info before proceed)

 

Steps:
1) Decrease xmpp.command.limit    e.g. "3"  (required to quickly face the issue)
2) Restart Openfire
3) Start a client session and during adhoc command execution (after 1st step) close the connection, or let the connection timeout
4) Repeat step 3) 2 more times
5) Any other try to execute an adhoc command will result in: 
          <error code="405" type="cancel"><not-allowed xmlns="urn:ietf:params:xml:ns:xmpp-stanzas"/></error>

 

Conclusion:
In AdHocCommandManager there should be a method to remove sessionCounter(from) for closed or timedout sessions.
Currently, in case of incompleted adhoc command (no action="cancel" or "complete") this counter will only be increased.

Daryl Herzmann
November 20, 2016, 7:30 PM

resolving as incomplete. Can reopen if somebody is currently reproducing

Holger Bergunde
October 22, 2015, 5:48 PM

I am not sure because i didn't had a closer look to this issue for at least 2 years. Maybe axel has an idea?

Daryl Herzmann
October 22, 2015, 1:39 PM

Holger, is this issue still valid?

Guus der Kinderen
February 6, 2013, 7:57 PM

Removing the 'fix version' for all unresolved issues that were scheduled for version 7.8.2. We're releasing this version today - the remaining issues should be rescheduled later.

Incomplete

Assignee

Unassigned

Reporter

Gaston Dombiak