Wildfire server is blocked probably due to memory shortage

Hello.

On April 8 our Wildfire server was blocked with a maximum of 100 users online, chatting using video and sound.

After 8PM the logs show a memory saturation problem, especially at 8:28:03PM when a client requested a connection which could not be done. At 8:44 PM the server is down. Between 8:28 and 8:44 PM the server rmust have slowed down. It looks like quite a few sessions are not closed after the client goes. This is perhaps part of the problem. Wildfire needs about 1Mb memory per client, which is what we have with the present configuation, it is theoretically adequate. I have also read the cache still keeps info after the client session is closed down.

Any hint to get over the problem ?

===============

error logs :

2007.04.08 20:16:44

org.jivesoftware.wildfire.audit.spi.AuditorImpl$SaveQueuedPacketsTask.run(Audito rImpl.java:332)

Server internal error

java.lang.NullPointerException

at

org.jivesoftware.wildfire.audit.spi.AuditorImpl.ensureMaxTotalSize(AuditorImpl.j ava:194)

at

org.jivesoftware.wildfire.audit.spi.AuditorImpl.prepareAuditFile(AuditorImpl.jav a:170)

at

org.jivesoftware.wildfire.audit.spi.AuditorImpl.saveQueuedPackets(AuditorImpl.ja va:342)

at

org.jivesoftware.wildfire.audit.spi.AuditorImpl.access$200(AuditorImpl.java:30)

at

org.jivesoftware.wildfire.audit.spi.AuditorImpl$SaveQueuedPacketsTask.run(Audito rImpl.java:329)

at java.util.TimerThread.mainLoop(Unknown Source)

at java.util.TimerThread.run(Unknown Source)


2007.04.08 20:28:03

org.jivesoftware.wildfire.net.BlockingAcceptingMode.run(BlockingAcceptingMode.ja va:62)

Problem accepting the connection

java.lang.OutOfMemoryError: Java heap space

2007.04.08 20:28:03

org.jivesoftware.wildfire.audit.spi.AuditorImpl$SaveQueuedPacketsTask.run(Audito rImpl.java:332)

Server internal error

java.lang.OutOfMemoryError: Java heap space

2007.04.08 20:32:53

org.jivesoftware.wildfire.net.BlockingAcceptingMode.run(BlockingAcceptingMode.ja va:62)

Problem accepting the connection

java.lang.OutOfMemoryError: Java heap space

2007.04.08 20:32:53

org.jivesoftware.wildfire.audit.spi.AuditorImpl$SaveQueuedPacketsTask.run(Audito rImpl.java:332)

Server internal error

java.lang.OutOfMemoryError: Java heap space


2007.04.08 20:44:00

org.jivesoftware.wildfire.user.User.insertProperty(User.java:447)

java.sql.SQLException: Duplicate entry ‘‘i310780-lastActivity’’ for key 1

at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2975)

at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1600)

at

com.mysql.jdbc.ServerPreparedStatement.serverExecute(ServerPreparedStatement.jav a:1125)

at

com.mysql.jdbc.ServerPreparedStatement.executeInternal(ServerPreparedStatement.j ava:677)

at

com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1357)

at

com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1274)

at

com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1259)

at org.jivesoftware.wildfire.user.User.insertProperty(User.java:444)

at org.jivesoftware.wildfire.user.User.access$300(User.java:40)

at org.jivesoftware.wildfire.user.User$PropertiesMap.put(User.java:352)

at

org.jivesoftware.wildfire.spi.PresenceManagerImpl.userUnavailable(PresenceManage rImpl.java:176)

at

org.jivesoftware.wildfire.handler.PresenceUpdateHandler.process(PresenceUpdateHa ndler.java:122)

at

org.jivesoftware.wildfire.handler.PresenceUpdateHandler.process(PresenceUpdateHa ndler.java:153)

at

org.jivesoftware.wildfire.SessionManager$ClientSessionListener.onConnectionClose (SessionManager.java:1454)

at

org.jivesoftware.wildfire.net.SocketConnection.notifyCloseListeners(SocketConnec tion.java:637)

at

org.jivesoftware.wildfire.net.SocketConnection.close(SocketConnection.java:453)

at

org.jivesoftware.wildfire.net.BlockingReadingMode.run(BlockingReadingMode.java:9 4)

at org.jivesoftware.wildfire.net.SocketReader.run(SocketReader.java:123)

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


2007.04.10 08:46:59

org.jivesoftware.wildfire.audit.spi.AuditorImpl$SaveQueuedPacketsTask.run(Audito rImpl.java:332)

Server internal error

java.lang.NullPointerException

at

org.jivesoftware.wildfire.audit.spi.AuditorImpl.ensureMaxTotalSize(AuditorImpl.j ava:194)

at

org.jivesoftware.wildfire.audit.spi.AuditorImpl.prepareAuditFile(AuditorImpl.jav a:170)

at

org.jivesoftware.wildfire.audit.spi.AuditorImpl.saveQueuedPackets(AuditorImpl.ja va:342)

at

org.jivesoftware.wildfire.audit.spi.AuditorImpl.access$200(AuditorImpl.java:30)

at

org.jivesoftware.wildfire.audit.spi.AuditorImpl$SaveQueuedPacketsTask.run(Audito rImpl.java:329)

at java.util.TimerThread.mainLoop(Unknown Source)

at java.util.TimerThread.run(Unknown Source)

Hi,

it may help to increase the max. memory value (Xmx) or decreasing the cache sizes if they are big. “java.lang.OutOfMemoryError: Java heap space” messages are quite clear about the cause for this problem.

LG