[
http://jira.jboss.com/jira/browse/JBAS-3791?page=comments#action_12345912 ]
J?rg von Frantzius commented on JBAS-3791:
------------------------------------------
Thanks for answering. We had already checked whether we had another JBossMQ node (aka
HAJNDI master node?), but the StagePartition messages were all consistent, i.e. all
instances had listed the same instance as the first one in their view of the
StagePartition.
After we had turned on logging (for which a thorough additional read of
http://wiki.jboss.org/wiki/Wiki.jsp?page=JBossMessagingUser_Enabling_TRAC...
was very helpful, BTW), the master node had moved to a different server instance in the
cluster. In that configuration, the error did not occur because much fewer message were
written to the database as more memory was available on that server instance (i.e. there
were comparably few cache misses in the MessageCache).
So at least we have a workaround for the moment, which is to make sure the HAJNDI master
node is on an instance with more free memory.
Also we checked that only the instances of the cluster are accessing the database in
question, and we have no replication/synchronization of databases here.
I'll try to reproduce the error with logging turned on.
NPE in org.jboss.mq.server.BasicQueue.setupMessageAcknowledgement()
-------------------------------------------------------------------
Key: JBAS-3791
URL:
http://jira.jboss.com/jira/browse/JBAS-3791
Project: JBoss Application Server
Issue Type: Bug
Security Level: Public(Everyone can see)
Components: JMS service
Affects Versions: JBossAS-4.0.3 SP1
Environment: OS: Linux 2.6.9-22.0.2.ELsmp (amd64)
JVM Version: 1.5.0_08-b03 (Sun Microsystems Inc.)
JVM Name: Java HotSpot(TM) 64-Bit Server VM
Reporter: J?rg von Frantzius
In a clustered system with 4 server instances, and after having received a couple of
thousand of messages, we got the following exception in our logs. Afterwards, one
subscribing MDB won't be called in onMessage() anymore. The stuff I wrote in the forum
probably really is just unducated guessing.
2006-10-24 18:53:24,187 ERROR [UIL2(SocketManager.MsgPool@a52a72a
client=192.168.100.214:53381)#4 SocketManager] Failed to handle:
org.jboss.mq.il.uil2.msgs.ReceiveMsg2084258688[msgType: m_receive, msgID: -2147361440,
error: null]
java.lang.NullPointerException
at org.jboss.mq.server.BasicQueue.setupMessageAcknowledgement(BasicQueue.java:945)
at org.jboss.mq.server.BasicQueue.receive(BasicQueue.java:516)
at org.jboss.mq.server.JMSTopic.receive(JMSTopic.java:320)
at org.jboss.mq.server.ClientConsumer.receive(ClientConsumer.java:222)
at org.jboss.mq.server.JMSDestinationManager.receive(JMSDestinationManager.java:656)
at org.jboss.mq.server.JMSServerInvoker.receive(JMSServerInvoker.java:226)
at
org.jboss.mq.il.uil2.ServerSocketManagerHandler.handleMsg(ServerSocketManagerHandler.java:155)
at org.jboss.mq.il.uil2.SocketManager$ReadTask.handleMsg(SocketManager.java:369)
at org.jboss.mq.il.uil2.msgs.BaseMsg.run(BaseMsg.java:377)
at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:748)
at java.lang.Thread.run(Thread.java:595)
2006-10-24 18:53:24,251 WARN [Connection Consumer for dest
Subscription[subId=-2147483648connection=ConnectionToken:ID:23/null
destination=TOPIC.sgw/MOCacheInvalidationTopic messageSelector=null Local Create] id=12
SpyConnectionConsumer] Connection consumer closing due to error in listening thread
SpyConnectionConsumer[sub=Subscription[subId=-2147483648connection=ConnectionToken:ID:23/null
destination=TOPIC.sgw/MOCacheInvalidationTopic messageSelector=null Local Create]
messages=0 waitingForMessage=false internalThread=Thread[Connection Consumer for dest
Subscription[subId=-2147483648connection=ConnectionToken:ID:23/null
destination=TOPIC.sgw/MOCacheInvalidationTopic messageSelector=null Local Create]
id=12,5,jboss] sessionPool=org.jboss.jms.asf.StdServerSessionPool@6c6fff7a
connection=Connection@753785396[token=ConnectionToken:ID:23/null rcvstate=STARTED]]
org.jboss.mq.SpyJMSException: Cannot receive ; - nested throwable:
(java.lang.NullPointerException)
at org.jboss.mq.SpyJMSException.getAsJMSException(SpyJMSException.java:66)
at org.jboss.mq.SpyJMSException.rethrowAsJMSException(SpyJMSException.java:51)
at org.jboss.mq.Connection.receive(Connection.java:916)
at org.jboss.mq.SpyConnectionConsumer.run(SpyConnectionConsumer.java:238)
at java.lang.Thread.run(Thread.java:595)
Caused by: java.lang.NullPointerException
at org.jboss.mq.server.BasicQueue.setupMessageAcknowledgement(BasicQueue.java:945)
at org.jboss.mq.server.BasicQueue.receive(BasicQueue.java:516)
at org.jboss.mq.server.JMSTopic.receive(JMSTopic.java:320)
at org.jboss.mq.server.ClientConsumer.receive(ClientConsumer.java:222)
at org.jboss.mq.server.JMSDestinationManager.receive(JMSDestinationManager.java:656)
at org.jboss.mq.server.JMSServerInvoker.receive(JMSServerInvoker.java:226)
at
org.jboss.mq.il.uil2.ServerSocketManagerHandler.handleMsg(ServerSocketManagerHandler.java:155)
at org.jboss.mq.il.uil2.SocketManager$ReadTask.handleMsg(SocketManager.java:369)
at org.jboss.mq.il.uil2.msgs.BaseMsg.run(BaseMsg.java:377)
at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:748)
... 1 more
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira