NettyMultiThreadRandomReattachTest hang issue in HornetQ test suite
gaohoward Oct 19, 2011 1:24 AMA quick look at Francisco's stack shows the test is waiting for the test thread to finish (thread.join())
"main" prio=10 tid=0x089f8c00 nid=0x1962 in Object.wait() [0xb6dbc000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <0x64647fd8> (a org.hornetq.tests.integration.cluster.reattach.MultiThreadReattachSupport$1Runner)
at java.lang.Thread.join(Thread.java:1186)
- locked <0x64647fd8> (a org.hornetq.tests.integration.cluster.reattach.MultiThreadReattachSupport$1Runner)
at java.lang.Thread.join(Thread.java:1239)
at org.hornetq.tests.integration.cluster.reattach.MultiThreadReattachSupport.runMultipleThreadsFailoverTest(MultiThreadReattachSupport.java:163)
at org.hornetq.tests.integration.cluster.reattach.MultiThreadRandomReattachTestBase.runTestMultipleThreads(MultiThreadRandomReattachTestBase.java:1291)
at org.hornetq.tests.integration.cluster.reattach.MultiThreadRandomReattachTestBase.runTestMultipleThreads(MultiThreadRandomReattachTestBase.java:1282)
at org.hornetq.tests.integration.cluster.reattach.MultiThreadRandomReattachTestBase.testA(MultiThreadRandomReattachTestBase.java:76)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at junit.framework.TestCase.runTest(TestCase.java:164)
at junit.framework.TestCase.runBare(TestCase.java:130)
at junit.framework.TestResult$1.protect(TestResult.java:106)
at junit.framework.TestResult.runProtected(TestResult.java:124)
at junit.framework.TestResult.run(TestResult.java:109)
at junit.framework.TestCase.run(TestCase.java:120)
at junit.framework.TestSuite.runTest(TestSuite.java:230)
at junit.framework.TestSuite.run(TestSuite.java:225)
at org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.run(JUnitTestRunner.java:420)
at org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.launch(JUnitTestRunner.java:911)
at org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.main(JUnitTestRunner.java:768)
The code is here:
...
for (Runner thread : threads)
{
thread.join(); //line 163 in MultiThreadReattachSupport
...
each thread is executing the method org.hornetq.tests.cluster.reattach.MultiThreadRandomReattachTestBase.doTestA(ClientSessionFactory, int)
So I think some thread get stuck in this method somewhere. But so far I couldn't tell which thread in the stack is the one.
(attached Francisco's stack)
-
JBPAPP-7353_jstack.txt.gz 7.7 KB