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.