java.lang.NullPointerException at com.jivesoftware.openfire. session.DeliverRawTextTask.run

I have a two node cluster running Openfire 3.7.1 and Coherence 3.3.1. In my DMZs I have 3 connection managers, which connect to my nodes via load balancers - In general, we see a 1/2 split of the 3 connection managers.

Every 30s (to the msec) I get the following in nohup.out on both nodes. The number of errors in each time period is equal to the number of connection managers currently routed to that node - On the node with two connection managers connected, there are two errors at exactly the same time. I enabled debug logging on my connection managers, but don’t see any periodic connections or errors. Shutting down the connection manager makes it stop, however a connection manager which has no XMPP connections still exhibits the problem. Any idea what could be causing this issue? It doesn’t seem to impact users, but since nohup.out doesn’t go through log4j, it gets messy when it gets too huge.

2012-07-29 21:19:36.476 Oracle Coherence GE 3.3.1/389 (thread=Invocation:OpenFire Cluster Service, member=3): Failure to execute an Invocable object: java.lang.NullPointerException

java.lang.NullPointerException

at com.jivesoftware.openfire.session.DeliverRawTextTask.run(DeliverRawTextTask.jav a:80)

at com.jivesoftware.util.cache.CoherenceClusteredCacheFactory$1.run(CoherenceClust eredCacheFactory.java:385)

at com.tangosol.coherence.component.util.daemon.queueProcessor.service.InvocationS ervice.onInvocationMessage(InvocationService.CDB:6)

at com.tangosol.coherence.component.util.daemon.queueProcessor.service.InvocationS ervice$InvocationMessage.onReceived(InvocationService.CDB:32)

at com.tangosol.coherence.component.util.daemon.queueProcessor.Service.onMessage(S ervice.CDB:9)

at com.tangosol.coherence.component.util.daemon.queueProcessor.Service.onNotify(Se rvice.CDB:123)

at com.tangosol.coherence.component.util.Daemon.run(Daemon.CDB:35)

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

This error looks identical to one I’m seeing in a clustered environment with connection managers running. I’m looking into the problem myself, but any official solution or response would be greatly appreciated.

I fixed this, but I made a few changes at once so not 100% sure which one did it.

  • Moved to Coherence 3.7.1 using the 1.2.1_beta clustering plugin (w/ a few changes to support Coherence 3.7).

  • Updated the java code that was causing the exception to this:

public void run() {

if (getSession()!=null) {

getSession().deliverRawText(text);

}

}