another thread: https://community.igniterealtime.org/message/239911#239911
Users report that when using Pidgin client they see that many sessions are left on the server after a client reconnects (after a sleep or hibernate). In this case a new session is generated for the client, but the old one is left and the server seems to send messages to that ghost sessions, so the messages are being lost. One user reports, that this can be eliminated by setting a resource in Pidgin manually (by default it generates a random string for every login it seems). This probably explains why those sessions are not being kicked out by the resource policy. But the server should still clear the stale sessions automatically. Users report that using 3.9.1 eliminates this issue. This may also be related to a memory leak reported in 3.9.2+ versions as stale sessions draw the memory.
I wonder if this commit is somehow to blame. We appear to be reproducing this with current master build on igniterealtime. I am going to revert that commit and try that build on igniterealtime to see what happens
Igniterealtime is now running master build with the patch for mostly backed out. Will be watching closely for results.
PR has been merged and Igniterealtime's Openfire hopefully verifies that this issue is resolved.
I have not seen this issue manifest since we upgraded to 4.0.2. Thank you for fixing this!
Thanks to everyone who worked to report and test the software.
Happy to see the ghost session bug reported as resolved ... it sure wasn't any fun reverting version upgrades along the way (attempts from June 2014).
And then an oops in packaging for 4.0.3 bit me until I got the fixed package (bad me for snagging the package well prior to the maintenance date!).
I didn't make the time to upgrade to 4.0.2 before 4.0.3 was released ... but all appears to be well with 4.0.3.
Thanks for the effort and software.