3 Replies Latest reply on Sep 27, 2011 3:14 AM by kamenchuk

    Get frozen sending a message

    kamenchuk

      Hi

       

      Trying to send a message, the call JBossConnectionFactory.createTopicConnection() gets stuck and never returns. Threads dump shows that the thread infinitely waits for the MicroSocketClientInvoker.readVersion() to complete. Please find the full strack traces of the relevant threads below

       

      Looking at the MicroSocketClientInvoker.transport() line 895 it seems like there is no way to specify a timeout

       

      Do I incorrectly use the API? Or have misconfigured JBoss? Or is it a bug in Messaging/Remoting?

       

      Versions I use:

      jboss 5.1.0 GA

      jboss-messaging-1.4.6

      jboss-remoting-2_5_4_SP2

       

       

      Thanks

      Alexey

       

       

      Thread: WorkerThread#24[192.168.21.4:50313] : priority:5, demon:false, threadId:9437, threadState:BLOCKED

       

          - waiting on <0x57910c73> (a org.jboss.jms.server.connectionmanager.SimpleConnectionManager)

          org.jboss.jms.server.connectionmanager.SimpleConnectionManager.registerConnection(SimpleConnectionManager.java:104)

          org.jboss.jms.server.endpoint.ServerConnectionEndpoint.(ServerConnectionEndpoint.java:196)

          org.jboss.jms.server.endpoint.ServerConnectionFactoryEndpoint.createConnectionDelegateInternal(ServerConnectionFactoryEndpoint.java:273)

          org.jboss.jms.server.endpoint.ServerConnectionFactoryEndpoint.createConnectionDelegate(ServerConnectionFactoryEndpoint.java:171)

          org.jboss.jms.server.endpoint.advised.ConnectionFactoryAdvised.org$jboss$jms$server$endpoint$advised$ConnectionFactoryAdvised$createConnectionDelegate$aop(ConnectionFactoryAdvised.java:108)

          org.jboss.jms.server.endpoint.advised.ConnectionFactoryAdvised.createConnectionDelegate(ConnectionFactoryAdvised.java)

          org.jboss.jms.wireformat.ConnectionFactoryCreateConnectionDelegateRequest.serverInvoke(ConnectionFactoryCreateConnectionDelegateRequest.java:91)

          org.jboss.jms.server.remoting.JMSServerInvocationHandler.invoke(JMSServerInvocationHandler.java:157)

          org.jboss.remoting.ServerInvoker.invoke(ServerInvoker.java:967)

          org.jboss.remoting.transport.local.LocalClientInvoker.invoke(LocalClientInvoker.java:106)

          org.jboss.remoting.Client.invoke(Client.java:2070)

          org.jboss.remoting.Client.invoke(Client.java:879)

          org.jboss.jms.client.delegate.ClientConnectionFactoryDelegate.org$jboss$jms$client$delegate$ClientConnectionFactoryDelegate$createConnectionDelegate$aop(ClientConnectionFactoryDelegate.java:178)

          org.jboss.jms.client.delegate.ClientConnectionFactoryDelegate$createConnectionDelegate_N3019492359065420858.invokeTarget(ClientConnectionFactoryDelegate$createConnectionDelegate_N3019492359065420858.java)

          org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:111)

          org.jboss.jms.client.container.StateCreationAspect.handleCreateConnectionDelegate(StateCreationAspect.java:80)

          org.jboss.aop.advice.org.jboss.jms.client.container.StateCreationAspect_z_handleCreateConnectionDelegate_40792359.invoke(StateCreationAspect_z_handleCreateConnectionDelegate_40792359.java)

          org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)

          org.jboss.jms.client.delegate.ClientConnectionFactoryDelegate.createConnectionDelegate(ClientConnectionFactoryDelegate.java)

          org.jboss.jms.client.JBossConnectionFactory.createConnectionInternal(JBossConnectionFactory.java:205)

          org.jboss.jms.client.JBossConnectionFactory.createTopicConnection(JBossConnectionFactory.java:115)

          org.jboss.jms.client.JBossConnectionFactory.createTopicConnection(JBossConnectionFactory.java:109)

          net.uk.topdog.td2.common.dao.server.objectchanges.JmsConnectionHelperBean.trySendJmsMessage(JmsConnectionHelperBean.java:126)

          net.uk.topdog.td2.common.dao.server.objectchanges.JmsConnectionHelperBean.publishJmsMessage(JmsConnectionHelperBean.java:80)

       

       

      --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

      Thread: Timer-7 : priority:5, demon:true, threadId:247, threadState:BLOCKED

       

          - waiting on <0x5854bbf> (a org.jboss.messaging.core.impl.MessagingQueue$DistributorWrapper)

          org.jboss.messaging.core.impl.MessagingQueue$DistributorWrapper.remove(MessagingQueue.java:621)

          org.jboss.jms.server.endpoint.ServerConsumerEndpoint.localClose(ServerConsumerEndpoint.java:524)

          org.jboss.jms.server.endpoint.ServerSessionEndpoint.localClose(ServerSessionEndpoint.java:1159)

          org.jboss.jms.server.endpoint.ServerConnectionEndpoint.close(ServerConnectionEndpoint.java:395)

          - locked <0x633e29b0> (a org.jboss.jms.server.endpoint.ServerConnectionEndpoint)

          org.jboss.jms.server.endpoint.advised.ConnectionAdvised.org$jboss$jms$server$endpoint$advised$ConnectionAdvised$close$aop(ConnectionAdvised.java:63)

          org.jboss.jms.server.endpoint.advised.ConnectionAdvised$close_N4742752445160157748.invokeTarget(ConnectionAdvised$close_N4742752445160157748.java)

          org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:111)

          org.jboss.jms.server.container.ServerLogInterceptor.invoke(ServerLogInterceptor.java:105)

          org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)

          org.jboss.jms.server.endpoint.advised.ConnectionAdvised.close(ConnectionAdvised.java)

          org.jboss.jms.server.connectionmanager.SimpleConnectionManager.cleanupForSessionID(SimpleConnectionManager.java:488)

          org.jboss.jms.server.connectionmanager.SimpleConnectionManager.handleClientFailure(SimpleConnectionManager.java:201)

          - locked <0x57910c73> (a org.jboss.jms.server.connectionmanager.SimpleConnectionManager)

          org.jboss.jms.server.endpoint.advised.ConnectionAdvised.org$jboss$jms$server$endpoint$advised$ConnectionAdvised$close$aop(ConnectionAdvised.java:63)

          org.jboss.jms.server.endpoint.advised.ConnectionAdvised$close_N4742752445160157748.invokeTarget(ConnectionAdvised$close_N4742752445160157748.java)

          org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:111)

          org.jboss.jms.server.container.ServerLogInterceptor.invoke(ServerLogInterceptor.java:105)

          org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)

          org.jboss.jms.server.endpoint.advised.ConnectionAdvised.close(ConnectionAdvised.java)

          org.jboss.jms.server.connectionmanager.SimpleConnectionManager.cleanupForSessionID(SimpleConnectionManager.java:488)

          org.jboss.jms.server.connectionmanager.SimpleConnectionManager.handleClientFailure(SimpleConnectionManager.java:201)

          - locked <0x57910c73> (a org.jboss.jms.server.connectionmanager.SimpleConnectionManager)

          org.jboss.jms.server.connectionmanager.SimpleConnectionManager.handleConnectionException(SimpleConnectionManager.java:241)

          org.jboss.remoting.ConnectionNotifier.connectionLost(ConnectionNotifier.java:60)

          org.jboss.remoting.Lease.notifyClientLost(Lease.java:342)

          org.jboss.remoting.Lease.access$600(Lease.java:41)

          org.jboss.remoting.Lease$LeaseTimerTask.run(Lease.java:413)

          java.util.TimerThread.mainLoop(Timer.java:512)

          java.util.TimerThread.run(Timer.java:462)

       

       

      --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

       

      Thread: WorkerThread#4[192.168.1.73:46363] : priority:5, demon:false, threadId:275, threadState:BLOCKED

       

          - waiting on <0x58b17978> (a org.jboss.messaging.core.impl.clusterconnection.MessageSucker)

          org.jboss.messaging.core.impl.clusterconnection.MessageSucker.setConsuming(MessageSucker.java:288)

          org.jboss.messaging.core.impl.MessagingQueue.informSuckers(MessagingQueue.java:566)

          org.jboss.messaging.core.impl.MessagingQueue.access$200(MessagingQueue.java:67)

          org.jboss.messaging.core.impl.MessagingQueue$DistributorWrapper.remove(MessagingQueue.java:641)

          - locked <0x5854bbf> (a org.jboss.messaging.core.impl.MessagingQueue$DistributorWrapper)

          org.jboss.jms.server.endpoint.ServerConsumerEndpoint.localClose(ServerConsumerEndpoint.java:524)

          org.jboss.jms.server.endpoint.ServerConsumerEndpoint.close(ServerConsumerEndpoint.java:388)

          org.jboss.jms.server.endpoint.advised.ConsumerAdvised.org$jboss$jms$server$endpoint$advised$ConsumerAdvised$close$aop(ConsumerAdvised.java:59)

          org.jboss.jms.server.endpoint.advised.ConsumerAdvised$close_N4742752445160157748.invokeTarget(ConsumerAdvised$close_N4742752445160157748.java)

          org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:111)

          org.jboss.jms.server.container.ServerLogInterceptor.invoke(ServerLogInterceptor.java:105)

          org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)

          org.jboss.jms.server.endpoint.advised.ConsumerAdvised.close(ConsumerAdvised.java)

          org.jboss.jms.wireformat.CloseRequest.serverInvoke(CloseRequest.java:66)

          org.jboss.jms.server.remoting.JMSServerInvocationHandler.invoke(JMSServerInvocationHandler.java:157)

          org.jboss.remoting.ServerInvoker.invoke(ServerInvoker.java:967)

          org.jboss.remoting.transport.socket.ServerThread.completeInvocation(ServerThread.java:791)

          - locked <0x3d2ac700> (a org.jboss.remoting.transport.socket.ServerThread)

          org.jboss.remoting.transport.socket.ServerThread.processInvocation(ServerThread.java:744)

          org.jboss.remoting.transport.socket.ServerThread.dorun(ServerThread.java:586)

          org.jboss.remoting.transport.socket.ServerThread.run(ServerThread.java:234)

       

       

       

      --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

       

      Thread: Thread-3350 : priority:5, demon:true, threadId:16865, threadState:RUNNABLE

       

          java.net.SocketInputStream.socketRead0(Native Method)

          java.net.SocketInputStream.read(SocketInputStream.java:129)

          java.io.BufferedInputStream.fill(BufferedInputStream.java:218)

          java.io.BufferedInputStream.read(BufferedInputStream.java:237)

          - locked <0x30830003> (a java.io.BufferedInputStream)

          java.io.FilterInputStream.read(FilterInputStream.java:66)

          org.jboss.remoting.transport.socket.MicroSocketClientInvoker.readVersion(MicroSocketClientInvoker.java:1342)

          org.jboss.remoting.transport.socket.MicroSocketClientInvoker.transport(MicroSocketClientInvoker.java:895)

          org.jboss.remoting.transport.bisocket.BisocketClientInvoker.transport(BisocketClientInvoker.java:470)

          org.jboss.remoting.MicroRemoteClientInvoker.invoke(MicroRemoteClientInvoker.java:169)

          org.jboss.remoting.Client.invoke(Client.java:2070)

          org.jboss.remoting.Client.invoke(Client.java:879)

          org.jboss.remoting.Client.invoke(Client.java:867)

          org.jboss.jms.client.delegate.DelegateSupport.doInvoke(DelegateSupport.java:189)

          org.jboss.jms.client.delegate.DelegateSupport.doInvoke(DelegateSupport.java:160)

          org.jboss.jms.client.delegate.ClientConsumerDelegate.org$jboss$jms$client$delegate$ClientConsumerDelegate$close$aop(ClientConsumerDelegate.java:122)

          org.jboss.jms.client.delegate.ClientConsumerDelegate$close_N4742752445160157748.invokeTarget(ClientConsumerDelegate$close_N4742752445160157748.java)

          org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:111)

          org.jboss.jms.client.container.FailoverValveInterceptor.invoke(FailoverValveInterceptor.java:92)

          org.jboss.aop.advice.PerInstanceInterceptor.invoke(PerInstanceInterceptor.java:86)

          org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)

          org.jboss.jms.client.container.ClosedInterceptor.invoke(ClosedInterceptor.java:170)

          org.jboss.aop.advice.PerInstanceInterceptor.invoke(PerInstanceInterceptor.java:86)

          org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)

          org.jboss.jms.client.delegate.ClientConsumerDelegate.close(ClientConsumerDelegate.java)

          org.jboss.messaging.core.impl.clusterconnection.MessageSucker.suspend(MessageSucker.java:225)

          - locked <0x58b17978> (a org.jboss.messaging.core.impl.clusterconnection.MessageSucker)

          org.jboss.messaging.core.impl.clusterconnection.ClusterConnectionManager$ConnectionInfo.cleanupConnection(ClusterConnectionManager.java:804)

          - locked <0x77da9e35> (a org.jboss.messaging.core.impl.clusterconnection.ClusterConnectionManager$ConnectionInfo)

          org.jboss.messaging.core.impl.clusterconnection.ClusterConnectionManager$ConnectionInfo.onException(ClusterConnectionManager.java:785)

          org.jboss.jms.client.remoting.ConsolidatedRemotingConnectionListener.handleConnectionException(ConsolidatedRemotingConnectionListener.java:120)

          org.jboss.remoting.ConnectionValidator$3.run(ConnectionValidator.java:524)