Details

    • Type: Bug Bug
    • Status: Resolved
    • Priority: Critical Critical
    • Resolution: Fixed
    • Affects Version/s: current
    • Fix Version/s: milestone 1
    • Component/s: core
    • Labels:
      None
    • Environment:

      Operating System: All
      Platform: All

      Description

      When stress.queue test is exeuted against MQ series, the MDB starts hanging. A
      detailed explanation of the issue is available at
      http://www.mqseries.net/phpBB2/viewtopic.php?t=23588

      Here is the relevent stacktrace.

      > > 3835
      > > Attaching to process ID 3835, please wait...
      > > Debugger attached successfully.
      > > Client compiler detected.
      > > JVM version is 1.5.0_02-b09
      > > Thread 4731: (state = BLOCKED)
      > > - java.lang.Object.wait(long) (Interpreted frame)
      > > -
      > > com.sun.corba.ee.impl.orbutil.threadpool.WorkQueueImpl.requestWork(long)
      > > @bci=73, line=122 (Interpreted frame)
      > > -
      > > com.sun.corba.ee.impl.orbutil.threadpool.ThreadPoolImpl$WorkerThread.run()
      > > @bci=46, line=380 (Interpreted frame)
      > >
      > >
      > >
      > >
      > > Thread 4719: (state = BLOCKED)
      > > - java.lang.Object.wait(long) (Interpreted frame)
      > > - java.util.TimerThread.mainLoop() @bci=201, line=509 (Interpreted
      > > frame)
      > > - java.util.TimerThread.run() @bci=1, line=462 (Interpreted frame)
      > >
      > >
      > >
      > >
      > > Thread 4713: (state = IN_NATIVE)
      > > - java.net.SocketInputStream.socketRead0(java.io.FileDescriptor,
      > > byte[], int, int, int) (Interpreted frame)
      > > - java.net.SocketInputStream.read(byte[], int, int) @bci=84, line=129
      > > (Interpreted frame)
      > > - java.io.BufferedInputStream.fill() @bci=175, line=218 (Interpreted
      > > frame)
      > > - java.io.BufferedInputStream.read() @bci=12, line=235 (Compiled frame)
      > > - java.io.DataInputStream.readInt() @bci=4, line=353 (Compiled frame)
      > > - com.ibm.mq.MQInternalCommunications.timedReadInt(int) @bci=56,
      > > line=3705 (Interpreted frame)
      > > - com.ibm.mq.MQInternalCommunications.receiveBytes(com.ibm.mq.Pint,
      > > com.ibm.mq.Pint, com.ibm.mq.Pint) @bci=73, line=1165 (Interpreted frame)
      > > - com.ibm.mq.MQInternalCommunications.receive(com.ibm.mq.Pint,
      > > com.ibm.mq.Pint, com.ibm.mq.Pint) @bci=13, line=1353 (Interpreted frame)
      > > - com.ibm.mq.MQSESSIONClient.lowLevelComms(com.ibm.mq.Pint,
      > > com.ibm.mq.Pint, com.ibm.mq.Pint, byte[], byte[]) @bci=360, line=2800
      > > (Interpreted frame)
      > > - com.ibm.mq.MQSESSIONClient.xaOp(javax.transaction.xa.Xid, int, int,
      > > int, int) @bci=202, line=383 (Interpreted frame)
      > > - com.ibm.mq.MQSESSIONClient.XASTART(javax.transaction.xa.Xid, int,
      > > int) @bci=16, line=633 (Interpreted frame)
      > > - com.ibm.mq.MQXAResource.start(javax.transaction.xa.Xid, int)
      > > @bci=121, line=434 (Interpreted frame)
      > > -
      > > com.sun.genericra.outbound.XAResourceProxy.start(javax.transaction.xa.Xid,
      > > int) @bci=42, line=211 (Interpreted frame)
      > > -
      > >
      com.sun.jts.jta.TransactionState.startAssociation(javax.transaction.xa.XAResource,
      > > org.omg.CosTransactions.Control, int) @bci=229, line=265 (Interpreted
      > > frame)
      > > -
      > > com.sun.jts.jta.TransactionImpl.enlistResource(javax.transaction.xa.XAResource)
      > > @bci=95, line=181 (Interpreted frame)
      > > -
      > >
      com.sun.enterprise.distributedtx.J2EETransaction.enlistResource(javax.transaction.xa.XAResource)
      > > @bci=67, line=397 (Interpreted frame)
      > > -
      > >
      com.sun.enterprise.distributedtx.J2EETransactionManagerImpl.enlistResource(javax.transaction.Transaction,
      > > com.sun.enterprise.resource.ResourceHandle) @bci=58, line=312
      > > (Interpreted frame)
      > > -
      > >
      com.sun.enterprise.distributedtx.J2EETransactionManagerOpt.enlistResource(javax.transaction.Transaction,
      > > com.sun.enterprise.resource.ResourceHandle) @bci=275, line=114
      > > (Interpreted frame)
      > > -
      > >
      com.sun.enterprise.resource.ResourceManagerImpl.registerResource(com.sun.enterprise.resource.ResourceHandle)
      > > @bci=89, line=112 (Interpreted frame)
      > > -
      > >
      com.sun.enterprise.resource.ResourceManagerImpl.enlistResource(com.sun.enterprise.resource.ResourceHandle)
      > > @bci=2, line=71 (Interpreted frame)
      > > -
      > >
      com.sun.enterprise.resource.PoolManagerImpl.getResource(com.sun.enterprise.resource.ResourceSpec,
      > > com.sun.enterprise.resource.ResourceAllocator,
      > > com.sun.enterprise.resource.ClientSecurityInfo) @bci=209, line=176
      > > (Interpreted frame)
      > > -
      > >
      com.sun.enterprise.connectors.ConnectionManagerImpl.internalGetConnection(javax.resource.spi.ManagedConnectionFactory,
      > > com.sun.enterprise.deployment.ResourcePrincipal,
      > > javax.resource.spi.ConnectionRequestInfo, boolean, java.lang.String)
      > > @bci=410, line=268 (Interpreted frame)
      > > -
      > >
      com.sun.enterprise.connectors.ConnectionManagerImpl.allocateConnection(javax.resource.spi.ManagedConnectionFactory,
      > > javax.resource.spi.ConnectionRequestInfo, java.lang.String) @bci=360,
      > > line=193 (Interpreted frame)
      > > -
      > >
      com.sun.enterprise.connectors.ConnectionManagerImpl.allocateConnection(javax.resource.spi.ManagedConnectionFactory,
      > > javax.resource.spi.ConnectionRequestInfo) @bci=7, line=122
      > > (Interpreted frame)
      > > - com.sun.genericra.outbound.ConnectionFactory.createConnection()
      > > @bci=11, line=69 (Interpreted frame)
      > > -
      > > com.sun.genericra.outbound.ConnectionFactory.createQueueConnection()
      > > @bci=1, line=101 (Interpreted frame)
      > > -
      > >
      com.sun.s1peqe.connector.mq.simplestress.ejb.SimpleMessageBean.onMessage(javax.jms.Message)
      > > @bci=102, line=82 (Interpreted frame)
      > > -
      > > sun.reflect.NativeMethodAccessorImpl.invoke0(java.lang.reflect.Method,
      > > java.lang.Object, java.lang.Object[]) (Compiled frame)
      > > - sun.reflect.NativeMethodAccessorImpl.invoke(java.lang.Object,
      > > java.lang.Object[]) @bci=87, line=39 (Compiled frame)
      > > - sun.reflect.DelegatingMethodAccessorImpl.invoke(java.lang.Object,
      > > java.lang.Object[]) @bci=6, line=25 (Compiled frame)
      > > - java.lang.reflect.Method.invoke(java.lang.Object,
      > > java.lang.Object[]) @bci=111, line=585 (Compiled frame)
      > > - com.sun.enterprise.security.SecurityUtil$2.run() @bci=12, line=153
      > > (Interpreted frame)
      > > -
      > >
      java.security.AccessController.doPrivileged(java.security.PrivilegedExceptionAction,
      > > java.security.AccessControlContext) (Interpreted frame)
      > > -
      > >
      com.sun.enterprise.security.application.EJBSecurityManager.doAsPrivileged(java.security.PrivilegedExceptionAction)
      > > @bci=197, line=950 (Interpreted frame)
      > > -
      > > com.sun.enterprise.security.SecurityUtil.invoke(java.lang.reflect.Method,
      > > com.sun.ejb.Invocation, java.lang.Object, java.lang.Object[],
      > > com.sun.ejb.Container, com.sun.enterprise.SecurityManager) @bci=113,
      > > line=158 (Interpreted frame)
      > > -
      > > com.sun.ejb.containers.MessageBeanContainer.deliverMessage(java.lang.Object[])
      > > @bci=118, line=956 (Interpreted frame)
      > > -
      > >
      com.sun.ejb.containers.MessageBeanListenerImpl.deliverMessage(java.lang.Object[])
      > > @bci=5, line=42 (Interpreted frame)
      > > -
      > >
      com.sun.enterprise.connectors.inflow.MessageEndpointInvocationHandler.invoke(java.lang.Object,
      > > java.lang.reflect.Method, java.lang.Object[]) @bci=287, line=130
      > > (Interpreted frame)
      > > - $Proxy19.onMessage(javax.jms.Message) @bci=16 (Interpreted frame)
      > > -
      > > com.sun.genericra.inbound.DeliveryHelper.deliverMessage(javax.jms.Message)
      > > @bci=24, line=180 (Interpreted frame)
      > > - com.sun.genericra.inbound.DeliveryHelper.deliver() @bci=17,
      > > line=127 (Interpreted frame)
      > > - com.sun.genericra.inbound.DeliveryHelper.deliver(javax.jms.Message,
      > > javax.jms.Destination) @bci=11, line=117 (Interpreted frame)
      > > -
      > > com.sun.genericra.inbound.EndpointConsumer.consumeMessage(javax.jms.Message,
      > > com.sun.genericra.inbound.InboundJmsResource) @bci=11, line=193
      > > (Interpreted frame)
      > > -
      > > com.sun.genericra.inbound.MessageListener.onMessage(javax.jms.Message)
      > > @bci=43, line=56 (Interpreted frame)
      > > - com.ibm.mq.jms.MQSession.run() @bci=261, line=1662 (Interpreted frame)
      > > - com.sun.genericra.inbound.WorkImpl.run() @bci=25, line=49
      > > (Interpreted frame)
      > > - com.sun.enterprise.connectors.work.OneWork.doWork() @bci=21,
      > > line=45 (Interpreted frame)
      > > -
      > > com.sun.corba.ee.impl.orbutil.threadpool.ThreadPoolImpl$WorkerThread.run()
      > > @bci=139, line=409 (Interpreted frame)
      > >
      > >
      > > Thread 4710: (state = IN_NATIVE)
      > > - java.net.SocketInputStream.socketRead0(java.io.FileDescriptor,
      > > byte[], int, int, int) (Interpreted frame)
      > > - java.net.SocketInputStream.read(byte[], int, int) @bci=84, line=129
      > > (Interpreted frame)
      > > - java.io.BufferedInputStream.fill() @bci=175, line=218 (Interpreted
      > > frame)
      > > - java.io.BufferedInputStream.read() @bci=12, line=235 (Compiled frame)
      > > - java.io.DataInputStream.readInt() @bci=4, line=353 (Compiled frame)
      > > - com.ibm.mq.MQInternalCommunications.timedReadInt(int) @bci=56,
      > > line=3705 (Interpreted frame)
      > > - com.ibm.mq.MQInternalCommunications.receiveBytes(com.ibm.mq.Pint,
      > > com.ibm.mq.Pint, com.ibm.mq.Pint) @bci=73, line=1165 (Interpreted frame)
      > > - com.ibm.mq.MQInternalCommunications.receive(com.ibm.mq.Pint,
      > > com.ibm.mq.Pint, com.ibm.mq.Pint) @bci=13, line=1353 (Interpreted frame)
      > > - com.ibm.mq.MQSESSIONClient.lowLevelComms(com.ibm.mq.Pint,
      > > com.ibm.mq.Pint, com.ibm.mq.Pint, byte[], byte[]) @bci=360, line=2800
      > > (Interpreted frame)
      > > - com.ibm.mq.MQSESSIONClient.xaOp(javax.transaction.xa.Xid, int, int,
      > > int, int) @bci=202, line=383 (Interpreted frame)
      > > - com.ibm.mq.MQSESSIONClient.XASTART(javax.transaction.xa.Xid, int,
      > > int) @bci=16, line=633 (Interpreted frame)
      > > - com.ibm.mq.MQXAResource.start(javax.transaction.xa.Xid, int)
      > > @bci=121, line=434 (Interpreted frame)
      > > -
      > > com.sun.genericra.outbound.XAResourceProxy.start(javax.transaction.xa.Xid,
      > > int) @bci=42, line=211 (Interpreted frame)
      > > -
      > >
      com.sun.jts.jta.TransactionState.startAssociation(javax.transaction.xa.XAResource,
      > > org.omg.CosTransactions.Control, int) @bci=229, line=265 (Interpreted
      > > frame)
      > > -
      > > com.sun.jts.jta.TransactionImpl.enlistResource(javax.transaction.xa.XAResource)
      > > @bci=95, line=181 (Interpreted frame)
      > > -
      > >
      com.sun.enterprise.distributedtx.J2EETransaction.enlistResource(javax.transaction.xa.XAResource)
      > > @bci=67, line=397 (Interpreted frame)
      > > -
      > >
      com.sun.enterprise.distributedtx.J2EETransactionManagerImpl.enlistResource(javax.transaction.Transaction,
      > > com.sun.enterprise.resource.ResourceHandle) @bci=58, line=312
      > > (Interpreted frame)
      > > -
      > >
      com.sun.enterprise.distributedtx.J2EETransactionManagerOpt.enlistResource(javax.transaction.Transaction,
      > > com.sun.enterprise.resource.ResourceHandle) @bci=275, line=114
      > > (Interpreted frame)
      > > -
      > >
      com.sun.enterprise.resource.ResourceManagerImpl.registerResource(com.sun.enterprise.resource.ResourceHandle)
      > > @bci=89, line=112 (Interpreted frame)
      > > -
      > >
      com.sun.enterprise.resource.ResourceManagerImpl.enlistResource(com.sun.enterprise.resource.ResourceHandle)
      > > @bci=2, line=71 (Interpreted frame)
      > > -
      > >
      com.sun.enterprise.resource.PoolManagerImpl.getResource(com.sun.enterprise.resource.ResourceSpec,
      > > com.sun.enterprise.resource.ResourceAllocator,
      > > com.sun.enterprise.resource.ClientSecurityInfo) @bci=209, line=176
      > > (Interpreted frame)
      > > -
      > >
      com.sun.enterprise.connectors.ConnectionManagerImpl.internalGetConnection(javax.resource.spi.ManagedConnectionFactory,
      > > com.sun.enterprise.deployment.ResourcePrincipal,
      > > javax.resource.spi.ConnectionRequestInfo, boolean, java.lang.String)
      > > @bci=410, line=268 (Interpreted frame)
      > > -
      > >
      com.sun.enterprise.connectors.ConnectionManagerImpl.allocateConnection(javax.resource.spi.ManagedConnectionFactory,
      > > javax.resource.spi.ConnectionRequestInfo, java.lang.String) @bci=360,
      > > line=193 (Interpreted frame)
      > > -
      > >
      com.sun.enterprise.connectors.ConnectionManagerImpl.allocateConnection(javax.resource.spi.ManagedConnectionFactory,
      > > javax.resource.spi.ConnectionRequestInfo) @bci=7, line=122
      > > (Interpreted frame)
      > > - com.sun.genericra.outbound.ConnectionFactory.createConnection()
      > > @bci=11, line=69 (Interpreted frame)
      > > -
      > > com.sun.genericra.outbound.ConnectionFactory.createQueueConnection()
      > > @bci=1, line=101 (Interpreted frame)
      > > -
      > >
      com.sun.s1peqe.connector.mq.simplestress.ejb.SimpleMessageBean.onMessage(javax.jms.Message)
      > > @bci=102, line=82 (Interpreted frame)
      > > -
      > > sun.reflect.NativeMethodAccessorImpl.invoke0(java.lang.reflect.Method,
      > > java.lang.Object, java.lang.Object[]) (Compiled frame)
      > > - sun.reflect.NativeMethodAccessorImpl.invoke(java.lang.Object,
      > > java.lang.Object[]) @bci=87, line=39 (Compiled frame)
      > > - sun.reflect.DelegatingMethodAccessorImpl.invoke(java.lang.Object,
      > > java.lang.Object[]) @bci=6, line=25 (Compiled frame)
      > > - java.lang.reflect.Method.invoke(java.lang.Object,
      > > java.lang.Object[]) @bci=111, line=585 (Compiled frame)
      > > - com.sun.enterprise.security.SecurityUtil$2.run() @bci=12, line=153
      > > (Interpreted frame)
      > > -
      > >
      java.security.AccessController.doPrivileged(java.security.PrivilegedExceptionAction,
      > > java.security.AccessControlContext) (Interpreted frame)
      > > -
      > >
      com.sun.enterprise.security.application.EJBSecurityManager.doAsPrivileged(java.security.PrivilegedExceptionAction)
      > > @bci=197, line=950 (Interpreted frame)
      > > -
      > > com.sun.enterprise.security.SecurityUtil.invoke(java.lang.reflect.Method,
      > > com.sun.ejb.Invocation, java.lang.Object, java.lang.Object[],
      > > com.sun.ejb.Container, com.sun.enterprise.SecurityManager) @bci=113,
      > > line=158 (Interpreted frame)
      > > -
      > > com.sun.ejb.containers.MessageBeanContainer.deliverMessage(java.lang.Object[])
      > > @bci=118, line=956 (Interpreted frame)
      > > -
      > >
      com.sun.ejb.containers.MessageBeanListenerImpl.deliverMessage(java.lang.Object[])
      > > @bci=5, line=42 (Interpreted frame)
      > > -
      > >
      com.sun.enterprise.connectors.inflow.MessageEndpointInvocationHandler.invoke(java.lang.Object,
      > > java.lang.reflect.Method, java.lang.Object[]) @bci=287, line=130
      > > (Interpreted frame)
      > > - $Proxy19.onMessage(javax.jms.Message) @bci=16 (Interpreted frame)
      > > -
      > > com.sun.genericra.inbound.DeliveryHelper.deliverMessage(javax.jms.Message)
      > > @bci=24, line=180 (Interpreted frame)
      > > - com.sun.genericra.inbound.DeliveryHelper.deliver() @bci=17,
      > > line=127 (Interpreted frame)
      > > - com.sun.genericra.inbound.DeliveryHelper.deliver(javax.jms.Message,
      > > javax.jms.Destination) @bci=11, line=117 (Interpreted frame)
      > > -
      > > com.sun.genericra.inbound.EndpointConsumer.consumeMessage(javax.jms.Message,
      > > com.sun.genericra.inbound.InboundJmsResource) @bci=11, line=193
      > > (Interpreted frame)
      > > -
      > > com.sun.genericra.inbound.MessageListener.onMessage(javax.jms.Message)
      > > @bci=43, line=56 (Interpreted frame)
      > > - com.ibm.mq.jms.MQSession.run() @bci=261, line=1662 (Interpreted frame)
      > > - com.sun.genericra.inbound.WorkImpl.run() @bci=25, line=49
      > > (Interpreted frame)
      > > - com.sun.enterprise.connectors.work.OneWork.doWork() @bci=21,
      > > line=45 (Interpreted frame)
      > > -
      > > com.sun.corba.ee.impl.orbutil.threadpool.ThreadPoolImpl$WorkerThread.run()
      > > @bci=139, line=409 (Interpreted frame)
      > >
      > >
      > > Thread 4692: (state = IN_NATIVE)
      > > - java.net.SocketInputStream.socketRead0(java.io.FileDescriptor,
      > > byte[], int, int, int) (Interpreted frame)
      > > - java.net.SocketInputStream.read(byte[], int, int) @bci=84, line=129
      > > (Interpreted frame)
      > > - java.io.BufferedInputStream.fill() @bci=175, line=218 (Interpreted
      > > frame)
      > > - java.io.BufferedInputStream.read() @bci=12, line=235 (Compiled frame)
      > > - java.io.DataInputStream.readInt() @bci=4, line=353 (Compiled frame)
      > > - com.ibm.mq.MQInternalCommunications.timedReadInt(int) @bci=56,
      > > line=3705 (Interpreted frame)
      > > - com.ibm.mq.MQInternalCommunications.receiveBytes(com.ibm.mq.Pint,
      > > com.ibm.mq.Pint, com.ibm.mq.Pint) @bci=73, line=1165 (Interpreted frame)
      > > - com.ibm.mq.MQInternalCommunications.receive(com.ibm.mq.Pint,
      > > com.ibm.mq.Pint, com.ibm.mq.Pint) @bci=13, line=1353 (Interpreted frame)
      > > - com.ibm.mq.MQSESSIONClient.lowLevelComms(com.ibm.mq.Pint,
      > > com.ibm.mq.Pint, com.ibm.mq.Pint, byte[], byte[]) @bci=360, line=2800
      > > (Interpreted frame)
      > > - com.ibm.mq.MQSESSIONClient.xaOp(javax.transaction.xa.Xid, int, int,
      > > int, int) @bci=202, line=383 (Interpreted frame)
      > > - com.ibm.mq.MQSESSIONClient.XASTART(javax.transaction.xa.Xid, int,
      > > int) @bci=16, line=633 (Interpreted frame)
      > > - com.ibm.mq.MQXAResource.start(javax.transaction.xa.Xid, int)
      > > @bci=121, line=434 (Interpreted frame)
      > > -
      > > com.sun.genericra.outbound.XAResourceProxy.start(javax.transaction.xa.Xid,
      > > int) @bci=42, line=211 (Interpreted frame)
      > > -
      > >
      com.sun.jts.jta.TransactionState.startAssociation(javax.transaction.xa.XAResource,
      > > org.omg.CosTransactions.Control, int) @bci=229, line=265 (Interpreted
      > > frame)
      > > -
      > > com.sun.jts.jta.TransactionImpl.enlistResource(javax.transaction.xa.XAResource)
      > > @bci=95, line=181 (Interpreted frame)
      > > -
      > >
      com.sun.enterprise.distributedtx.J2EETransaction.enlistResource(javax.transaction.xa.XAResource)
      > > @bci=67, line=397 (Interpreted frame)
      > > -
      > >
      com.sun.enterprise.distributedtx.J2EETransactionManagerImpl.enlistResource(javax.transaction.Transaction,
      > > com.sun.enterprise.resource.ResourceHandle) @bci=58, line=312
      > > (Interpreted frame)
      > > -
      > >
      com.sun.enterprise.distributedtx.J2EETransactionManagerOpt.enlistResource(javax.transaction.Transaction,
      > > com.sun.enterprise.resource.ResourceHandle) @bci=275, line=114
      > > (Interpreted frame)
      > > -
      > >
      com.sun.enterprise.resource.ResourceManagerImpl.registerResource(com.sun.enterprise.resource.ResourceHandle)
      > > @bci=89, line=112 (Interpreted frame)
      > > -
      > >
      com.sun.enterprise.resource.ResourceManagerImpl.enlistResource(com.sun.enterprise.resource.ResourceHandle)
      > > @bci=2, line=71 (Interpreted frame)
      > > -
      > >
      com.sun.enterprise.resource.PoolManagerImpl.getResource(com.sun.enterprise.resource.ResourceSpec,
      > > com.sun.enterprise.resource.ResourceAllocator,
      > > com.sun.enterprise.resource.ClientSecurityInfo) @bci=209, line=176
      > > (Interpreted frame)
      > > -
      > >
      com.sun.enterprise.connectors.ConnectionManagerImpl.internalGetConnection(javax.resource.spi.ManagedConnectionFactory,
      > > com.sun.enterprise.deployment.ResourcePrincipal,
      > > javax.resource.spi.ConnectionRequestInfo, boolean, java.lang.String)
      > > @bci=410, line=268 (Interpreted frame)
      > > -
      > >
      com.sun.enterprise.connectors.ConnectionManagerImpl.allocateConnection(javax.resource.spi.ManagedConnectionFactory,
      > > javax.resource.spi.ConnectionRequestInfo, java.lang.String) @bci=360,
      > > line=193 (Interpreted frame)
      > > -
      > >
      com.sun.enterprise.connectors.ConnectionManagerImpl.allocateConnection(javax.resource.spi.ManagedConnectionFactory,
      > > javax.resource.spi.ConnectionRequestInfo) @bci=7, line=122
      > > (Interpreted frame)
      > > - com.sun.genericra.outbound.ConnectionFactory.createConnection()
      > > @bci=11, line=69 (Interpreted frame)
      > > -
      > > com.sun.genericra.outbound.ConnectionFactory.createQueueConnection()
      > > @bci=1, line=101 (Interpreted frame)
      > > -
      > >
      com.sun.s1peqe.connector.mq.simplestress.ejb.SimpleMessageBean.onMessage(javax.jms.Message)
      > > @bci=102, line=82 (Interpreted frame)
      > > -
      > > sun.reflect.NativeMethodAccessorImpl.invoke0(java.lang.reflect.Method,
      > > java.lang.Object, java.lang.Object[]) (Compiled frame)
      > > - sun.reflect.NativeMethodAccessorImpl.invoke(java.lang.Object,
      > > java.lang.Object[]) @bci=87, line=39 (Compiled frame)
      > > - sun.reflect.DelegatingMethodAccessorImpl.invoke(java.lang.Object,
      > > java.lang.Object[]) @bci=6, line=25 (Compiled frame)
      > > - java.lang.reflect.Method.invoke(java.lang.Object,
      > > java.lang.Object[]) @bci=111, line=585 (Compiled frame)
      > > - com.sun.enterprise.security.SecurityUtil$2.run() @bci=12, line=153
      > > (Interpreted frame)
      > > -
      > >
      java.security.AccessController.doPrivileged(java.security.PrivilegedExceptionAction,
      > > java.security.AccessControlContext) (Interpreted frame)
      > > -
      > >
      com.sun.enterprise.security.application.EJBSecurityManager.doAsPrivileged(java.security.PrivilegedExceptionAction)
      > > @bci=197, line=950 (Interpreted frame)
      > > -
      > > com.sun.enterprise.security.SecurityUtil.invoke(java.lang.reflect.Method,
      > > com.sun.ejb.Invocation, java.lang.Object, java.lang.Object[],
      > > com.sun.ejb.Container, com.sun.enterprise.SecurityManager) @bci=113,
      > > line=158 (Interpreted frame)
      > > -
      > > com.sun.ejb.containers.MessageBeanContainer.deliverMessage(java.lang.Object[])
      > > @bci=118, line=956 (Interpreted frame)
      > > -
      > >
      com.sun.ejb.containers.MessageBeanListenerImpl.deliverMessage(java.lang.Object[])
      > > @bci=5, line=42 (Interpreted frame)
      > > -
      > >
      com.sun.enterprise.connectors.inflow.MessageEndpointInvocationHandler.invoke(java.lang.Object,
      > > java.lang.reflect.Method, java.lang.Object[]) @bci=287, line=130
      > > (Interpreted frame)
      > > - $Proxy19.onMessage(javax.jms.Message) @bci=16 (Interpreted frame)
      > > -
      > > com.sun.genericra.inbound.DeliveryHelper.deliverMessage(javax.jms.Message)
      > > @bci=24, line=180 (Interpreted frame)
      > > - com.sun.genericra.inbound.DeliveryHelper.deliver() @bci=17,
      > > line=127 (Interpreted frame)
      > > - com.sun.genericra.inbound.DeliveryHelper.deliver(javax.jms.Message,
      > > javax.jms.Destination) @bci=11, line=117 (Interpreted frame)
      > > -
      > > com.sun.genericra.inbound.EndpointConsumer.consumeMessage(javax.jms.Message,
      > > com.sun.genericra.inbound.InboundJmsResource) @bci=11, line=193
      > > (Interpreted frame)
      > > -
      > > com.sun.genericra.inbound.MessageListener.onMessage(javax.jms.Message)
      > > @bci=43, line=56 (Interpreted frame)
      > > - com.ibm.mq.jms.MQSession.run() @bci=261, line=1662 (Interpreted frame)
      > > - com.sun.genericra.inbound.WorkImpl.run() @bci=25, line=49
      > > (Interpreted frame)
      > > - com.sun.enterprise.connectors.work.OneWork.doWork() @bci=21,
      > > line=45 (Interpreted frame)
      > > -
      > > com.sun.corba.ee.impl.orbutil.threadpool.ThreadPoolImpl$WorkerThread.run()
      > > @bci=139, line=409 (Interpreted frame)
      > >
      > >
      > > Thread 4691: (state = IN_NATIVE)
      > > - java.net.SocketInputStream.socketRead0(java.io.FileDescriptor,
      > > byte[], int, int, int) (Interpreted frame)
      > > - java.net.SocketInputStream.read(byte[], int, int) @bci=84, line=129
      > > (Interpreted frame)
      > > - java.io.BufferedInputStream.fill() @bci=175, line=218 (Interpreted
      > > frame)
      > > - java.io.BufferedInputStream.read() @bci=12, line=235 (Compiled frame)
      > > - java.io.DataInputStream.readInt() @bci=4, line=353 (Compiled frame)
      > > - com.ibm.mq.MQInternalCommunications.timedReadInt(int) @bci=56,
      > > line=3705 (Interpreted frame)
      > > - com.ibm.mq.MQInternalCommunications.receiveBytes(com.ibm.mq.Pint,
      > > com.ibm.mq.Pint, com.ibm.mq.Pint) @bci=73, line=1165 (Interpreted frame)
      > > - com.ibm.mq.MQInternalCommunications.receive(com.ibm.mq.Pint,
      > > com.ibm.mq.Pint, com.ibm.mq.Pint) @bci=13, line=1353 (Interpreted frame)
      > > - com.ibm.mq.MQSESSIONClient.lowLevelComms(com.ibm.mq.Pint,
      > > com.ibm.mq.Pint, com.ibm.mq.Pint, byte[], byte[]) @bci=360, line=2800
      > > (Interpreted frame)
      > > - com.ibm.mq.MQSESSIONClient.MQGET(int, int, com.ibm.mq.MQMsg2,
      > > com.ibm.mq.MQGetMessageOptions, int, byte[], com.ibm.mq.Pint,
      > > com.ibm.mq.Pint, com.ibm.mq.Pint) @bci=465, line=1845 (Interpreted frame)
      > > - com.ibm.mq.MQSESSION.spiBatchedGet(int, int, com.ibm.mq.MQMsg2,
      > > com.ibm.mq.MQGetMessageOptions, int, byte[], com.ibm.mq.Pint,
      > > com.ibm.mq.Pint, com.ibm.mq.Pint) @bci=16, line=306 (Interpreted frame)
      > > - com.ibm.mq.MQSPIQueue.spiBatchedGetInt(com.ibm.mq.MQMsg2,
      > > com.ibm.mq.MQGetMessageOptions, int, com.ibm.mq.Pint, com.ibm.mq.Pint)
      > > @bci=422,
      > > line=556 (Interpreted frame)
      > > - com.ibm.mq.MQSPIQueue.spiBatchedGetNoExc(com.ibm.mq.MQMsg2,
      > > com.ibm.mq.MQGetMessageOptions, int) @bci=24, line=433 (Interpreted
      > > frame)
      > > - com.ibm.mq.jms.MQQueueAgentThread1Impl.browseMsg(int, boolean, int)
      > > @bci=339, line=534 (Interpreted frame)
      > > - com.ibm.mq.jms.MQQueueAgentThread1Impl.browse(int, long) @bci=285,
      > > line=384 (Interpreted frame)
      > > - com.ibm.mq.jms.MQQueueAgentThread.run() @bci=208, line=1602
      > > (Interpreted frame)
      > > - java.lang.Thread.run() @bci=11, line=595 (Interpreted frame)
      > >
      > >
      > > Thread 4678: (state = BLOCKED)
      > > - java.lang.Object.wait(long) (Interpreted frame)
      > > - java.lang.Object.wait() @bci=2, line=474 (Interpreted frame)
      > > - com.ibm.mq.PoolScavenger.run() @bci=177, line=152 (Interpreted frame)
      > > - java.lang.Thread.run() @bci=11, line=595 (Interpreted frame)
      > >
      > >
      > > Thread 3990: (state = IN_NATIVE)
      > >
      > >
      > > Thread 3989: (state = IN_NATIVE)
      > >
      > >
      > > Thread 3988: (state = IN_NATIVE)
      > >
      > >
      > > Thread 3987: (state = IN_NATIVE)
      > >
      > >
      > > Thread 3986: (state = IN_NATIVE)
      > >
      > >
      > > Thread 3985: (state = IN_NATIVE)
      > >
      > >
      > > Thread 3984: (state = IN_NATIVE)
      > >
      > >
      > > Thread 3983: (state = IN_NATIVE)
      > >
      > >
      > > Thread 3982: (state = IN_NATIVE)
      > >
      > >
      > > Thread 3981: (state = IN_NATIVE)
      > >
      > >
      > > Thread 3980: (state = IN_NATIVE)
      > >
      > >
      > > Thread 3979: (state = IN_NATIVE)
      > >
      > >
      > > Thread 3978: (state = IN_NATIVE)
      > >
      > >
      > > Thread 3977: (state = IN_NATIVE)
      > >
      > >
      > > Thread 3976: (state = IN_NATIVE)
      > >
      > >
      > > Thread 3975: (state = IN_NATIVE)
      > >
      > >
      > > Thread 3974: (state = IN_NATIVE)
      > >
      > >
      > > Thread 3973: (state = IN_NATIVE)
      > >
      > >
      > > Thread 3972: (state = IN_NATIVE)
      > >
      > >
      > > Thread 3971: (state = IN_NATIVE)
      > >
      > >
      > > Thread 3970: (state = IN_NATIVE)
      > >
      > >
      > > Thread 3969: (state = IN_NATIVE)
      > >
      > >
      > > Thread 3968: (state = IN_NATIVE)
      > >
      > >
      > > Thread 3967: (state = IN_NATIVE)
      > >
      > >
      > > Thread 3966: (state = IN_NATIVE)
      > >
      > >
      > > Thread 3965: (state = IN_NATIVE)
      > >
      > >
      > > Thread 3964: (state = IN_NATIVE)
      > >
      > >
      > > Thread 3963: (state = IN_NATIVE)
      > >
      > >
      > > Thread 3962: (state = IN_NATIVE)
      > >
      > >
      > > Thread 4024: (state = BLOCKED)
      > > - java.lang.Object.wait(long) (Interpreted frame)
      > > - java.util.TimerThread.mainLoop() @bci=201, line=509 (Interpreted
      > > frame)
      > > - java.util.TimerThread.run() @bci=1, line=462 (Interpreted frame)
      > >
      > >
      > > Thread 4023: (state = BLOCKED)
      > > - java.lang.Object.wait(long) (Interpreted frame)
      > > - java.util.TimerThread.mainLoop() @bci=201, line=509 (Interpreted
      > > frame)
      > > - java.util.TimerThread.run() @bci=1, line=462 (Interpreted frame)
      > >
      > >
      > > Thread 4014: (state = BLOCKED)
      > > - java.lang.Object.wait(long) (Interpreted frame)
      > > - java.lang.ref.ReferenceQueue.remove(long) @bci=44, line=116
      > > (Interpreted frame)
      > > - sun.rmi.transport.DGCClient$EndpointEntry$RenewCleanThread.run()
      > > @bci=95, line=500 (Interpreted frame)
      > > - java.lang.Thread.run() @bci=11, line=595 (Interpreted frame)
      > >
      > >
      > > Thread 4012: (state = IN_NATIVE)
      > > - java.net.PlainSocketImpl.socketAccept(java.net.SocketImpl)
      > > (Interpreted frame)
      > > - java.net.PlainSocketImpl.accept(java.net.SocketImpl) @bci=7,
      > > line=384 (Interpreted frame)
      > > - java.net.ServerSocket.implAccept(java.net.Socket) @bci=50, line=450
      > > (Interpreted frame)
      > > - com.sun.net.ssl.internal.ssl.SSLServerSocketImpl.accept() @bci=38,
      > > line=259 (Interpreted frame)
      > > - sun.rmi.transport.tcp.TCPTransport.run() @bci=59, line=334
      > > (Interpreted frame)
      > > - java.lang.Thread.run() @bci=11, line=595 (Interpreted frame)
      > >
      > >
      > > Thread 4011: (state = IN_NATIVE)
      > > - java.net.PlainSocketImpl.socketAccept(java.net.SocketImpl)
      > > (Interpreted frame)
      > > - java.net.PlainSocketImpl.accept(java.net.SocketImpl) @bci=7,
      > > line=384 (Interpreted frame)
      > > - java.net.ServerSocket.implAccept(java.net.Socket) @bci=50, line=450
      > > (Interpreted frame)
      > > - java.net.ServerSocket.accept() @bci=48, line=421 (Interpreted frame)
      > > - sun.rmi.transport.tcp.TCPTransport.run() @bci=59, line=334
      > > (Interpreted frame)
      > > - java.lang.Thread.run() @bci=11, line=595 (Interpreted frame)
      > >
      > >
      > > Thread 3949: (state = IN_NATIVE)
      > >
      > >
      > > Thread 3948: (state = BLOCKED)
      > > - java.lang.Thread.sleep(long) (Interpreted frame)
      > > -
      > > org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run()
      > > @bci=22, line=1598 (Interpreted frame)
      > > - java.lang.Thread.run() @bci=11, line=595 (Interpreted frame)
      > >
      > >
      > > Thread 3947: (state = BLOCKED)
      > > - java.lang.Thread.sleep(long) (Interpreted frame)
      > > - com.sun.enterprise.security.web.SingleSignOn.threadSleep() @bci=9,
      > > line=591 (Interpreted frame)
      > > - com.sun.enterprise.security.web.SingleSignOn.run() @bci=8, line=649
      > > (Interpreted frame)
      > > - java.lang.Thread.run() @bci=11, line=595 (Interpreted frame)
      > >
      > >
      > > Thread 3946: (state = BLOCKED)
      > > - java.lang.Thread.sleep(long) (Interpreted frame)
      > > -
      > > org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run()
      > > @bci=22, line=1598 (Interpreted frame)
      > > - java.lang.Thread.run() @bci=11, line=595 (Interpreted frame)
      > >
      > >
      > > Thread 3945: (state = BLOCKED)
      > > - java.lang.Thread.sleep(long) (Interpreted frame)
      > > - com.sun.enterprise.security.web.SingleSignOn.threadSleep() @bci=9,
      > > line=591 (Interpreted frame)
      > > - com.sun.enterprise.security.web.SingleSignOn.run() @bci=8, line=649
      > > (Interpreted frame)
      > > - java.lang.Thread.run() @bci=11, line=595 (Interpreted frame)
      > >
      > >
      > > Thread 3944: (state = BLOCKED)
      > > - java.lang.Thread.sleep(long) (Interpreted frame)
      > > -
      > > org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run()
      > > @bci=22, line=1598 (Interpreted frame)
      > > - java.lang.Thread.run() @bci=11, line=595 (Interpreted frame)
      > >
      > >
      > > Thread 3943: (state = BLOCKED)
      > > - java.lang.Thread.sleep(long) (Interpreted frame)
      > > -
      > > org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run()
      > > @bci=22, line=1598 (Interpreted frame)
      > > - java.lang.Thread.run() @bci=11, line=595 (Interpreted frame)
      > >
      > >
      > > Thread 3942: (state = BLOCKED)
      > > - java.lang.Thread.sleep(long) (Interpreted frame)
      > > -
      > > org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run()
      > > @bci=22, line=1598 (Interpreted frame)
      > > - java.lang.Thread.run() @bci=11, line=595 (Interpreted frame)
      > >
      > >
      > > Thread 3941: (state = BLOCKED)
      > > - java.lang.Thread.sleep(long) (Interpreted frame)
      > > -
      > > org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run()
      > > @bci=22, line=1598 (Interpreted frame)
      > > - java.lang.Thread.run() @bci=11, line=595 (Interpreted frame)
      > >
      > >
      > > Thread 3940: (state = BLOCKED)
      > > - java.lang.Object.wait(long) (Interpreted frame)
      > > - java.lang.Object.wait() @bci=2, line=474 (Interpreted frame)
      > > - com.sun.enterprise.management.support.LoaderRegThread.run()
      > > @bci=32, line=138 (Interpreted frame)
      > >
      > >
      > > Thread 3939: (state = BLOCKED)
      > > - java.lang.Thread.sleep(long) (Interpreted frame)
      > > - com.sun.enterprise.management.support.Loader.mySleep(long) @bci=3,
      > > line=519 (Interpreted frame)
      > > -
      > >
      com.sun.enterprise.management.support.Loader.access$100(com.sun.enterprise.management.support.Loader,
      > > long) @bci=2, line=58 (Interpreted frame)
      > > -
      > > com.sun.enterprise.management.support.Loader$DeferredRegistrationThread.run()
      > > @bci=107, line=364 (Interpreted frame)
      > >
      > >
      > > Thread 3938: (state = BLOCKED)
      > > - java.lang.Thread.sleep(long) (Interpreted frame)
      > > - com.sun.enterprise.admin.server.core.channel.RMIClient.run()
      > > @bci=11, line=123 (Interpreted frame)
      > > - java.lang.Thread.run() @bci=11, line=595 (Interpreted frame)
      > >
      > >
      > > Thread 3935: (state = BLOCKED)
      > > - java.lang.Object.wait(long) (Interpreted frame)
      > > - java.lang.ref.ReferenceQueue.remove(long) @bci=44, line=116
      > > (Interpreted frame)
      > > - sun.rmi.transport.DGCClient$EndpointEntry$RenewCleanThread.run()
      > > @bci=95, line=500 (Interpreted frame)
      > > - java.lang.Thread.run() @bci=11, line=595 (Interpreted frame)
      > >
      > >
      > > Thread 3902: (state = BLOCKED)
      > > - java.lang.Object.wait(long) (Interpreted frame)
      > > - java.lang.Object.wait() @bci=2, line=474 (Interpreted frame)
      > > - java.util.TimerThread.mainLoop() @bci=28, line=483 (Interpreted frame)
      > > - java.util.TimerThread.run() @bci=1, line=462 (Interpreted frame)
      > >
      > >
      > > Thread 3901: (state = BLOCKED)
      > > - java.lang.Object.wait(long) (Interpreted frame)
      > > - java.util.TimerThread.mainLoop() @bci=201, line=509 (Interpreted
      > > frame)
      > > - java.util.TimerThread.run() @bci=1, line=462 (Interpreted frame)
      > >
      > >
      > > Thread 3899: (state = BLOCKED)
      > > - java.lang.Object.wait(long) (Interpreted frame)
      > > - java.lang.Object.wait() @bci=2, line=474 (Interpreted frame)
      > > - com.sun.corba.ee.impl.javax.rmi.CORBA.KeepAlive.run() @bci=8,
      > > line=757 (Interpreted frame)
      > >
      > >
      > > Thread 3898: (state = IN_NATIVE)
      > > - java.net.PlainSocketImpl.socketAccept(java.net.SocketImpl)
      > > (Interpreted frame)
      > > - java.net.PlainSocketImpl.accept(java.net.SocketImpl) @bci=7,
      > > line=384 (Interpreted frame)
      > > - java.net.ServerSocket.implAccept(java.net.Socket) @bci=50, line=450
      > > (Interpreted frame)
      > > - com.sun.net.ssl.internal.ssl.SSLServerSocketImpl.accept() @bci=38,
      > > line=259 (Interpreted frame)
      > > -
      > > com.sun.corba.ee.impl.transport.SocketOrChannelAcceptorImpl.accept()
      > > @bci=15, line=235 (Interpreted frame)
      > > - com.sun.corba.ee.impl.transport.ListenerThreadImpl.doWork()
      > > @bci=83, line=72 (Interpreted frame)
      > > -
      > > com.sun.corba.ee.impl.orbutil.threadpool.ThreadPoolImpl$WorkerThread.run()
      > > @bci=139, line=409 (Interpreted frame)
      > >
      > >
      > > Thread 3897: (state = IN_NATIVE)
      > > - java.net.PlainSocketImpl.socketAccept(java.net.SocketImpl)
      > > (Interpreted frame)
      > > - java.net.PlainSocketImpl.accept(java.net.SocketImpl) @bci=7,
      > > line=384 (Interpreted frame)
      > > - java.net.ServerSocket.implAccept(java.net.Socket) @bci=50, line=450
      > > (Interpreted frame)
      > > - com.sun.net.ssl.internal.ssl.SSLServerSocketImpl.accept() @bci=38,
      > > line=259 (Interpreted frame)
      > > -
      > > com.sun.corba.ee.impl.transport.SocketOrChannelAcceptorImpl.accept()
      > > @bci=15, line=235 (Interpreted frame)
      > > - com.sun.corba.ee.impl.transport.ListenerThreadImpl.doWork()
      > > @bci=83, line=72 (Interpreted frame)
      > > -
      > > com.sun.corba.ee.impl.orbutil.threadpool.ThreadPoolImpl$WorkerThread.run()
      > > @bci=139, line=409 (Interpreted frame)
      > >
      > >
      > > Thread 3896: (state = IN_NATIVE)
      > > - sun.nio.ch.PollArrayWrapper.poll0(long, int, long) (Interpreted frame)
      > > - sun.nio.ch.PollArrayWrapper.poll(int, int, long) @bci=13, line=100
      > > (Interpreted frame)
      > > - sun.nio.ch.PollSelectorImpl.doSelect(long) @bci=33, line=56
      > > (Interpreted frame)
      > > - sun.nio.ch.SelectorImpl.lockAndDoSelect(long) @bci=37, line=69
      > > (Interpreted frame)
      > > - sun.nio.ch.SelectorImpl.select(long) @bci=30, line=80 (Interpreted
      > > frame)
      > > - com.sun.corba.ee.impl.transport.SelectorImpl.run() @bci=56,
      > > line=242 (Interpreted frame)
      > >
      > >
      > > Thread 3889: (state = BLOCKED)
      > > - java.lang.Object.wait(long) (Interpreted frame)
      > > - java.lang.Object.wait() @bci=2, line=474 (Interpreted frame)
      > > - java.util.TimerThread.mainLoop() @bci=28, line=483 (Interpreted frame)
      > > - java.util.TimerThread.run() @bci=1, line=462 (Interpreted frame)
      > >
      > >
      > > Thread 3858: (state = IN_NATIVE)
      > > - java.lang.UNIXProcess.waitForProcessExit(int) (Interpreted frame)
      > > - java.lang.UNIXProcess.access$900(java.lang.UNIXProcess, int)
      > > @bci=2, line=20 (Interpreted frame)
      > > - java.lang.UNIXProcess$1$1.run() @bci=165, line=132 (Interpreted frame)
      > >
      > >
      > > Thread 3856: (state = BLOCKED)
      > > - java.lang.Thread.sleep(long) (Interpreted frame)
      > > - sun.rmi.transport.DGCImpl$LeaseChecker.run() @bci=3, line=310
      > > (Interpreted frame)
      > > - java.lang.Thread.run() @bci=11, line=595 (Interpreted frame)
      > >
      > >
      > > Thread 3850: (state = BLOCKED)
      > > - java.lang.Object.wait(long) (Interpreted frame)
      > > - sun.misc.GC$Daemon.run() @bci=51, line=100 (Interpreted frame)
      > >
      > >
      > > Thread 3849: (state = BLOCKED)
      > > - java.lang.Object.wait(long) (Interpreted frame)
      > > - java.lang.ref.ReferenceQueue.remove(long) @bci=44, line=116
      > > (Interpreted frame)
      > > - java.lang.ref.ReferenceQueue.remove() @bci=2, line=132 (Interpreted
      > > frame)
      > > - sun.rmi.transport.ObjectTable$Reaper.run() @bci=3, line=336
      > > (Interpreted frame)
      > > - java.lang.Thread.run() @bci=11, line=595 (Interpreted frame)
      > >
      > >
      > > Thread 3848: (state = BLOCKED)
      > > - java.lang.Object.wait(long) (Interpreted frame)
      > > - java.lang.Object.wait() @bci=2, line=474 (Interpreted frame)
      > > - java.util.TimerThread.mainLoop() @bci=28, line=483 (Interpreted frame)
      > > - java.util.TimerThread.run() @bci=1, line=462 (Interpreted frame)
      > >
      > >
      > > Thread 3847: (state = IN_NATIVE)
      > > - java.net.PlainSocketImpl.socketAccept(java.net.SocketImpl)
      > > (Interpreted frame)
      > > - java.net.PlainSocketImpl.accept(java.net.SocketImpl) @bci=7,
      > > line=384 (Interpreted frame)
      > > - java.net.ServerSocket.implAccept(java.net.Socket) @bci=50, line=450
      > > (Interpreted frame)
      > > - java.net.ServerSocket.accept() @bci=48, line=421 (Interpreted frame)
      > > - sun.rmi.transport.tcp.TCPTransport.run() @bci=59, line=334
      > > (Interpreted frame)
      > > - java.lang.Thread.run() @bci=11, line=595 (Interpreted frame)
      > >
      > >
      > > Thread 3840: (state = BLOCKED)
      > >
      > >
      > > Thread 3839: (state = BLOCKED)
      > > - java.lang.Object.wait(long) (Interpreted frame)
      > > - java.lang.ref.ReferenceQueue.remove(long) @bci=44, line=116
      > > (Interpreted frame)
      > > - java.lang.ref.ReferenceQueue.remove() @bci=2, line=132 (Interpreted
      > > frame)
      > > - java.lang.ref.Finalizer$FinalizerThread.run() @bci=3, line=159
      > > (Interpreted frame)
      > >
      > >
      > > Thread 3838: (state = BLOCKED)
      > > - java.lang.Object.wait(long) (Interpreted frame)
      > > - java.lang.Object.wait() @bci=2, line=474 (Interpreted frame)
      > > - java.lang.ref.Reference$ReferenceHandler.run() @bci=46, line=116
      > > (Interpreted frame)
      > >
      > >
      > > Thread 3835: (state = BLOCKED)
      >
      >
      >

        Activity

        Hide
        binod added a comment -

        XAResource implementation of the MQ series JMS client library seems to have an
        issue. It executes isSameRM method based on the name of Queue Manager. Now, for
        the test case that is relevent, both inbound and outbound communicaton had used
        same queue manager.

        To support XA semantics properly, the MQ series should have supported
        XAResource.start(xid, XAResource.TMJOIN) for the second resource in the
        transaction with same branch id. Now this is not the case.

        Google further confirms that the doubts are valid.
        http://wldj.sys-con.com/read/42825.htm

        Following the solution provided.

        All resource adapter objects (RA, MCF, AdminObject, ActivationSpec) etc will
        support a new property called RMPolicy. This property as of today has two valid
        String values

        1. "ProviderManaged" : Indicating that RM polcy is managed by JMS provider. This
        is the default.

        2. "OnePerPhysicalConnection" : This means that there is one RM per physical
        connection. RA will make sure that this is the case.

        The implementaton of "OnePerPhysicalConnection" RMPolicy overrides isSameRM
        method of XAResource of JMS provider and returns a boolean based on whether the
        physical connection associated with XAResource are equal or not.

        Show
        binod added a comment - XAResource implementation of the MQ series JMS client library seems to have an issue. It executes isSameRM method based on the name of Queue Manager. Now, for the test case that is relevent, both inbound and outbound communicaton had used same queue manager. To support XA semantics properly, the MQ series should have supported XAResource.start(xid, XAResource.TMJOIN) for the second resource in the transaction with same branch id. Now this is not the case. Google further confirms that the doubts are valid. http://wldj.sys-con.com/read/42825.htm Following the solution provided. All resource adapter objects (RA, MCF, AdminObject, ActivationSpec) etc will support a new property called RMPolicy. This property as of today has two valid String values 1. "ProviderManaged" : Indicating that RM polcy is managed by JMS provider. This is the default. 2. "OnePerPhysicalConnection" : This means that there is one RM per physical connection. RA will make sure that this is the case. The implementaton of "OnePerPhysicalConnection" RMPolicy overrides isSameRM method of XAResource of JMS provider and returns a boolean based on whether the physical connection associated with XAResource are equal or not.
        Hide
        binod added a comment -

        Solution is checked in as per my earlier comment.

        Changed files are

        A java/com/sun/genericra/AbstractXAResourceType.java
        M java/com/sun/genericra/GenericJMSRAProperties.java
        A java/com/sun/genericra/XAResourceType.java
        M java/com/sun/genericra/inbound/DeliveryHelper.java
        M java/com/sun/genericra/inbound/InboundXAResourceProxy.java
        A java/com/sun/genericra/inbound/SimpleXAResourceProxy.java
        M java/com/sun/genericra/outbound/ManagedConnection.java
        M java/com/sun/genericra/outbound/XAResourceProxy.java

        Show
        binod added a comment - Solution is checked in as per my earlier comment. Changed files are A java/com/sun/genericra/AbstractXAResourceType.java M java/com/sun/genericra/GenericJMSRAProperties.java A java/com/sun/genericra/XAResourceType.java M java/com/sun/genericra/inbound/DeliveryHelper.java M java/com/sun/genericra/inbound/InboundXAResourceProxy.java A java/com/sun/genericra/inbound/SimpleXAResourceProxy.java M java/com/sun/genericra/outbound/ManagedConnection.java M java/com/sun/genericra/outbound/XAResourceProxy.java
        Hide
        binod added a comment -

        Adding fixed1.0 keyword

        Show
        binod added a comment - Adding fixed1.0 keyword

          People

          • Assignee:
            binod
            Reporter:
            binod
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: