Hi Scott,
The hang is not predictable, but it is mostly on the RaTopicUnitTestCase.
Trying to dump the threads crashes the VM, but below is the start
of one of the dumps. It appears to be a deadlock in the
UnifiedLoaderRepository.
Looking at the code, there might be an ordering problem between
synchronized(this) and becoming the "currentThread".
e.g.
A starts with removeClassLoader and synchronizes on the ULR
B starts with loadClassInternal and synchronizes on the ClassLoader
B becomes the currentThread
B reaches the synchronized(this) in loadClass and waits on the ULR
A sends a notification which leads to a loadClassInternal
A isn't the currentThread and waits in synchronize(ClassLoader)
Result
A is waiting to become the currentThread (held by B)
B is waiting on the ULR (held by A) with its classloader locked
02:03:31,604 INFO [MainDeployer] Successfully completed deployment of
package: file:/D:/cygwin/home/ejort/jboss30rc4/jb
oss-all/testsuite/output/lib/jmsra.jar
02:08:32,586 WARN [TxCapsule] Transaction XidImpl [FormatId=257,
GlobalId=HTIMES1//561, BranchQual=] timed out. status=
STATUS_ACTIVE
Full thread dump:
"Thread Pool Worker-0" daemon prio=5 tid=0xb73fe60 nid=0xaa0 waiting on
monitor [0xd65e000..0xd65fdc4]
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:420)
at
org.jboss.mx.loading.UnifiedLoaderRepository$ReentrantLock.acquire(UnifiedLoaderRepository.java:793)
at
org.jboss.mx.loading.UnifiedLoaderRepository.unsynchronize(UnifiedLoaderRepository.java:230)
at
org.jboss.mx.loading.UnifiedLoaderRepository.loadClass(UnifiedLoaderRepository.java:155)
at
org.jboss.mx.loading.UnifiedClassLoader.loadClass(UnifiedClassLoader.java:285)
at java.lang.ClassLoader.loadClass(ClassLoader.java:255)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:315)
at
org.jboss.ejb.plugins.MessageDrivenInstancePool.create(MessageDrivenInstancePool.java:62)
at
org.jboss.ejb.plugins.AbstractInstancePool.get(AbstractInstancePool.java:208)
at
org.jboss.ejb.plugins.MessageDrivenInstanceInterceptor.invoke(MessageDrivenInstanceInterceptor.java:74)
at
org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(AbstractTxInterceptor.java:96)
at
org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptorCMT.java:167)
at
org.jboss.ejb.plugins.TxInterceptorCMT.invoke(TxInterceptorCMT.java:61)
at
org.jboss.ejb.plugins.SecurityInterceptor.invoke(SecurityInterceptor.java:129)
at
org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:166)
at
org.jboss.ejb.MessageDrivenContainer.invoke(MessageDrivenContainer.java:302)
at
org.jboss.ejb.plugins.jms.JMSContainerInvoker.invoke(JMSContainerInvoker.java:625)
at
org.jboss.ejb.plugins.jms.JMSContainerInvoker$MessageListenerImpl.onMessage(JMSContainerInvoker.java:973)
at
org.jboss.jms.asf.StdServerSession.onMessage(StdServerSession.java:234)
at
org.jboss.mq.SpyMessageConsumer.sessionConsumerProcessMessage(SpyMessageConsumer.java:561)
at
org.jboss.mq.SpyMessageConsumer.addMessage(SpyMessageConsumer.java:377)
at org.jboss.mq.SpySession.run(SpySession.java:252)
at org.jboss.jms.asf.StdServerSession.run(StdServerSession.java:173)
at
EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:642)
at java.lang.Thread.run(Thread.java:484)
"RMI TCP Connection(124)-127.0.0.1" daemon prio=5 tid=0xb6dca18 nid=0x3ec
waiting for monitor entry [0xd51f000..0xd51fdc
4]
at
org.jboss.mx.loading.UnifiedLoaderRepository.synchronize(UnifiedLoaderRepository.java:184)
at
org.jboss.mx.loading.UnifiedLoaderRepository.loadClass(UnifiedLoaderRepository.java:124)
at
org.jboss.mx.loading.UnifiedClassLoader.loadClass(UnifiedClassLoader.java:285)
at java.lang.ClassLoader.loadClass(ClassLoader.java:255)
at
org.jboss.invocation.MarshalledValueInputStream.resolveClass(MarshalledValueInputStream.java:41)
at
java.io.ObjectInputStream.inputClassDescriptor(ObjectInputStream.java:918)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:366)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:236)
at
java.io.ObjectInputStream.inputObject(ObjectInputStream.java:1186)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:386)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:236)
at org.jboss.invocation.MarshalledValue.get(MarshalledValue.java:68)
at
org.jboss.invocation.MarshalledInvocation.getValue(MarshalledInvocation.java:276)
at
org.jboss.invocation.Invocation.getObjectName(Invocation.java:221)
at
org.jboss.invocation.jrmp.server.JRMPInvoker.invoke(JRMPInvoker.java:359)
at java.lang.reflect.Method.invoke(Native Method)
at
sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:241)
at sun.rmi.transport.Transport$1.run(Transport.java:152)
at java.security.AccessController.doPrivileged(Native Method)
at sun.rmi.transport.Transport.serviceCall(Transport.java:148)
at
sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:465)
at
sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:706)
at java.lang.Thread.run(Thread.java:484)
Regards,
Adrian
>From: "Scott M Stark" <[EMAIL PROTECTED]>
>Reply-To: "Scott M Stark" <[EMAIL PROTECTED]>
>To: <[EMAIL PROTECTED]>
>Subject: Re: [JBoss-Dev] DeployServiceUnitTestCase.testDependsElement
>failure
>Date: Tue, 28 May 2002 14:06:16 -0700
>
>I've run clean builds on OSX and Linux for 3.0 and both complete
>without any errors. Where are you seeing the testsuite hang?
>
>xxxxxxxxxxxxxxxxxxxxxxxx
>Scott Stark
>Chief Technology Officer
>JBoss Group, LLC
>xxxxxxxxxxxxxxxxxxxxxxxx
_________________________________________________________________
Chat with friends online, try MSN Messenger: http://messenger.msn.com
_______________________________________________________________
Don't miss the 2002 Sprint PCS Application Developer's Conference
August 25-28 in Las Vegas -- http://devcon.sprintpcs.com/adp/index.cfm
_______________________________________________
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development