Uploaded image for project: 'JBoss Transaction Manager'
  1. JBoss Transaction Manager
  2. JBTM-1619

HeuristicTest (and some others) hang

    XMLWordPrintable

Details

    • Bug
    • Resolution: Cannot Reproduce
    • Major
    • 5.0.0.M4
    • 4.17.3, 5.0.0.M2
    • Testing
    • None

    Description

      Running the com.hp.mwtests.ts.jts.local.heuristics.HeuristicTest (and some other tests in that module) hang on my system. All of them hang at the point where the POA is being destroyed. Here's the jstack output of the hanging tests:

      2013-04-05 18:53:53
      Full thread dump Java HotSpot(TM) Server VM (20.1-b02 mixed mode):
      
      "Attach Listener" daemon prio=10 tid=0x6e503c00 nid=0x55dc waiting on condition [0x00000000]
         java.lang.Thread.State: RUNNABLE
      
      "POADestructor" prio=10 tid=0x6dd6f800 nid=0x559c in Object.wait() [0x6d7fe000]
         java.lang.Thread.State: WAITING (on object monitor)
      	at java.lang.Object.wait(Native Method)
      	- waiting on <0x9f0c0558> (a org.jacorb.poa.RequestController)
      	at java.lang.Object.wait(Object.java:485)
      	at org.jacorb.poa.RequestController.waitForShutdown(Unknown Source)
      	- locked <0x9f0c0558> (a org.jacorb.poa.RequestController)
      	at org.jacorb.poa.POA$1.run(Unknown Source)
      
      "Transaction Reaper Worker 0" daemon prio=10 tid=0x6dd13800 nid=0x5599 in Object.wait() [0x6dbfe000]
         java.lang.Thread.State: WAITING (on object monitor)
      	at java.lang.Object.wait(Native Method)
      	- waiting on <0x9e18c450> (a java.util.LinkedList)
      	at java.lang.Object.wait(Object.java:485)
      	at com.arjuna.ats.arjuna.coordinator.TransactionReaper.waitForCancellations(TransactionReaper.java:321)
      	- locked <0x9e18c450> (a java.util.LinkedList)
      	at com.arjuna.ats.internal.arjuna.coordinator.ReaperWorkerThread.run(ReaperWorkerThread.java:65)
      
      "Transaction Reaper" daemon prio=10 tid=0x6dd5d000 nid=0x5598 in Object.wait() [0x6de5c000]
         java.lang.Thread.State: TIMED_WAITING (on object monitor)
      	at java.lang.Object.wait(Native Method)
      	- waiting on <0x9e184ae0> (a com.arjuna.ats.arjuna.coordinator.TransactionReaper)
      	at com.arjuna.ats.internal.arjuna.coordinator.ReaperThread.run(ReaperThread.java:90)
      	- locked <0x9e184ae0> (a com.arjuna.ats.arjuna.coordinator.TransactionReaper)
      
      "Listener:55978" daemon prio=10 tid=0x6dd2ac00 nid=0x5597 runnable [0x6dead000]
         java.lang.Thread.State: RUNNABLE
      	at java.net.PlainSocketImpl.socketAccept(Native Method)
      	at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:408)
      	- locked <0x9f0c0140> (a java.net.SocksSocketImpl)
      	at java.net.ServerSocket.implAccept(ServerSocket.java:462)
      	at java.net.ServerSocket.accept(ServerSocket.java:430)
      	at com.arjuna.ats.internal.arjuna.recovery.Listener.run(Listener.java:122)
      
      "ClientMessageReceptor0" daemon prio=10 tid=0x6dd22400 nid=0x5596 in Object.wait() [0x6defe000]
         java.lang.Thread.State: WAITING (on object monitor)
      	at java.lang.Object.wait(Native Method)
      	- waiting on <0x9f0c02d0> (a java.lang.Object)
      	at java.lang.Object.wait(Object.java:485)
      	at org.jacorb.orb.giop.GIOPConnection.waitUntilConnected(Unknown Source)
      	- locked <0x9f0c02d0> (a java.lang.Object)
      	at org.jacorb.orb.giop.GIOPConnection.getMessage(Unknown Source)
      	at org.jacorb.orb.giop.GIOPConnection.receiveMessages(Unknown Source)
      	at org.jacorb.orb.giop.MessageReceptor.doWork(Unknown Source)
      	at org.jacorb.util.threadpool.ConsumerTie.run(Unknown Source)
      	at java.lang.Thread.run(Thread.java:662)
      
      "ServerSocketListener" daemon prio=10 tid=0x6df7e000 nid=0x5594 runnable [0x6e196000]
         java.lang.Thread.State: RUNNABLE
      	at java.net.PlainSocketImpl.socketAccept(Native Method)
      	at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:408)
      	- locked <0x9f0c0400> (a java.net.SocksSocketImpl)
      	at java.net.ServerSocket.implAccept(ServerSocket.java:462)
      	at java.net.ServerSocket.accept(ServerSocket.java:430)
      	at org.jacorb.orb.iiop.IIOPListener$Acceptor.run(Unknown Source)
      
      "RequestController-1" daemon prio=10 tid=0x6dd2c800 nid=0x5593 in Object.wait() [0x6e1fc000]
         java.lang.Thread.State: WAITING (on object monitor)
      	at java.lang.Object.wait(Native Method)
      	- waiting on <0x9f0c0600> (a java.lang.Object)
      	at java.lang.Object.wait(Object.java:485)
      	at org.jacorb.poa.RequestController.waitForQueue(Unknown Source)
      	- locked <0x9f0c0600> (a java.lang.Object)
      	at org.jacorb.poa.RequestController.run(Unknown Source)
      
      "Low Memory Detector" daemon prio=10 tid=0xb67bcc00 nid=0x5591 runnable [0x00000000]
         java.lang.Thread.State: RUNNABLE
      
      "C2 CompilerThread1" daemon prio=10 tid=0xb67bb000 nid=0x5590 waiting on condition [0x00000000]
         java.lang.Thread.State: RUNNABLE
      
      "C2 CompilerThread0" daemon prio=10 tid=0xb67b9000 nid=0x558f waiting on condition [0x00000000]
         java.lang.Thread.State: RUNNABLE
      
      "Signal Dispatcher" daemon prio=10 tid=0xb67b7800 nid=0x558e runnable [0x00000000]
         java.lang.Thread.State: RUNNABLE
      
      "Finalizer" daemon prio=10 tid=0xb67a9400 nid=0x558d in Object.wait() [0x6f165000]
         java.lang.Thread.State: WAITING (on object monitor)
      	at java.lang.Object.wait(Native Method)
      	- waiting on <0x9f0f5fb8> (a java.lang.ref.ReferenceQueue$Lock)
      	at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:118)
      	- locked <0x9f0f5fb8> (a java.lang.ref.ReferenceQueue$Lock)
      	at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:134)
      	at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:159)
      
      "Reference Handler" daemon prio=10 tid=0xb67a7c00 nid=0x558c in Object.wait() [0x6e8b1000]
         java.lang.Thread.State: WAITING (on object monitor)
      	at java.lang.Object.wait(Native Method)
      	- waiting on <0x9f0f6088> (a java.lang.ref.Reference$Lock)
      	at java.lang.Object.wait(Object.java:485)
      	at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:116)
      	- locked <0x9f0f6088> (a java.lang.ref.Reference$Lock)
      
      "main" prio=10 tid=0xb6705400 nid=0x5586 in Object.wait() [0xb68af000]
         java.lang.Thread.State: WAITING (on object monitor)
      	at java.lang.Object.wait(Native Method)
      	- waiting on <0x9e2d8010> (a org.jacorb.poa.POA$1)
      	at java.lang.Thread.join(Thread.java:1186)
      	- locked <0x9e2d8010> (a org.jacorb.poa.POA$1)
      	at java.lang.Thread.join(Thread.java:1239)
      	at org.jacorb.poa.POA.destroy(Unknown Source)
      	at com.arjuna.orbportability.internal.orbspecific.oa.implementations.POABase.destroyRootPOA(POABase.java:68)
      	at com.arjuna.orbportability.oa.core.OA.destroyRootPOA(OA.java:97)
      	at com.arjuna.orbportability.RootOA.destroy(RootOA.java:91)
      	- locked <0x9f1098f0> (a com.arjuna.orbportability.RootOA)
      	at com.hp.mwtests.ts.jts.local.heuristics.HeuristicTest.test(HeuristicTest.java:194)
      	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 org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
      	at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
      	at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
      	at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
      	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
      	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
      	at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
      	at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
      	at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
      	at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
      	at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
      	at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
      	at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
      	at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:123)
      	at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:104)
      	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 org.apache.maven.surefire.util.ReflectionUtils.invokeMethodWithArray(ReflectionUtils.java:164)
      	at org.apache.maven.surefire.booter.ProviderFactory$ProviderProxy.invoke(ProviderFactory.java:110)
      	at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:172)
      	at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcessWhenForked(SurefireStarter.java:78)
      	at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:70)
      
      "VM Thread" prio=10 tid=0xb67a4000 nid=0x558b runnable 
      
      "GC task thread#0 (ParallelGC)" prio=10 tid=0xb670c800 nid=0x5587 runnable 
      
      "GC task thread#1 (ParallelGC)" prio=10 tid=0xb670e000 nid=0x5588 runnable 
      
      "GC task thread#2 (ParallelGC)" prio=10 tid=0xb670f800 nid=0x5589 runnable 
      
      "GC task thread#3 (ParallelGC)" prio=10 tid=0xb6710c00 nid=0x558a runnable 
      
      "VM Periodic Task Thread" prio=10 tid=0xb67be800 nid=0x5592 waiting on condition 
      
      JNI global references: 1330
      
      
      

      My environment is Ubuntu 11.x, Java version:

      java version "1.6.0_26"
      Java(TM) SE Runtime Environment (build 1.6.0_26-b03)
      Java HotSpot(TM) Server VM (build 20.1-b02, mixed mode)
      

      mvn version:

      Apache Maven 3.0.5 (r01de14724cdef164cd33c7c8c2fe155faf9602da; 2013-02-19 19:21:28+0530)
      

      This happens on master as well as 4.17 branch.

      Attachments

        Activity

          People

            thjenkin@redhat.com Tom Jenkinson
            jaikiran Jaikiran Pai (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Time Tracking

                Estimated:
                Original Estimate - Not Specified
                Not Specified
                Remaining:
                Remaining Estimate - 0 minutes
                0m
                Logged:
                Time Spent - 1 hour, 30 minutes
                1h 30m