Memory leak with openfire 3.10.3

I am observing openfire memleak after upgrading to 3.10.3. When I took a heap dump after taking one single chat (closed the MUC session), I observed that openfire is still holding those xmpp messages belong to that chat. This is confirmed with 2nd chat also (the xmpp messages for both chats are in memory).

This behaviour is very obvious in the server with full load causing memleak in 3 hours.

Are there any configuration missing?

Any one have idea?

Environment:

Openfire 3.10.3

Smack 3.3.0

Using embedded db

Messages that are held in memory are send using following API:

Message smackMessage = new Message();
smackMessage.setTo(muc.getRoom());
smackMessage.setType(Type.groupchat);
smackMessage.setBody(msg);
muc.sendMessage(smackMessage);

There indeed appears to be a memory leak in the MUC implementation. Several community members are working on fixing this. See, for example, the code changes in this pull request on Github: Fix memory leak when getChatRoom() calls return null or throw exception by aberenguel · Pull Request #518 · igniterealti…

Thanks for the info. I have also identified this issue from the heap dump and fixed it locally for now.

Still I see many LocalMUCRoom objects not getting cleaned up and are attached to GroupEventDispatcher.