3.5.1 memory leak? something blew up with MUC


My beloved chat server just exhausted memory and fell over In a rush to get it back going, I didn’t have a chance to do a thread dump or anything like that. I did notice lots of error messages appearing like so:

2008.06.12 20:58:06 org.jivesoftware.openfire.session.LocalOutgoingServerSession.authenticateDomain( LocalOutgoingServerSession.java:214) Error authenticating domain with remote server: conference.iemchat.com

java.lang.ClassCastException: org.jivesoftware.openfire.muc.spi.MultiUserChatServerImpl cannot be cast to org.jivesoftware.openfire.session.OutgoingServerSession

at org.jivesoftware.openfire.spi.RoutingTableImpl.getServerRoute(RoutingTableImpl. java:550)

at org.jivesoftware.openfire.SessionManager.getOutgoingServerSession(SessionManage r.java:822)

at org.jivesoftware.openfire.session.LocalOutgoingServerSession.authenticateDomain (LocalOutgoingServerSession.java:121)

at org.jivesoftware.openfire.server.OutgoingSessionPromise$PacketsProcessor.sendPa cket(OutgoingSessionPromise.java:215)

at org.jivesoftware.openfire.server.OutgoingSessionPromise$PacketsProcessor.run(Ou tgoingSessionPromise.java:194)

at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)

at java.lang.Thread.run(Unknown Source)


any thoughts on this? typical memory usage is around 300 out of 512 and have been using openfire without an issue for over a year now. 1 crash per year is okay, I guess



I should note that memory usage was fine this morning and slowly grew all day today…

Hey Daryl,

That exception is indeed unexpected. Do you know how to reproduce it? To analyze the OOM problem we are going to need heap dumps of the JVM. You can add the following parameter to the start up script -XX:+HeapDumpOnOutOfMemoryError so that a heap dump is automatically created when the JVM runs out of memory. Use jhat to analyze the dump. Make sure to assign enough memory to jhat to load the heap dump. Also make sure to use the same java version.


– Gato

Hi Gato,

3.5.2 blew up this morning in the same manner. I should clarify that the server was still running, just anything to do with MUC was ‘locked’. The same error as above started appearing again before it happened. The setting you suggested must not have been triggered for some reason.