Uploaded image for project: 'DeltaSpike'
  1. DeltaSpike
  2. DELTASPIKE-558

OpenEJB-ContainerControl tests randomly lock up on Solaris

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 0.6
    • None
    • CdiControl
    • None
    • Solaris 10/11
      Java 1.6/1.8

    Description

      The tests for OpenEJB-ContainerControl often hang on Solaris.
      Noticed on Solaris 10/11 with Java 1.6/1.8.

      Output of jstack suggests that this might be an issue of the OpenEJB container itself.

      jstack output:

      2014-04-03 08:07:18
      Full thread dump Java HotSpot(TM) Server VM (24.51-b03 mixed mode):
      
      "Attach Listener" daemon prio=3 tid=0x00db3400 nid=0xa8 waiting on condition [0x00000000]
         java.lang.Thread.State: RUNNABLE
      
      "RetryTimer" daemon prio=3 tid=0x00996000 nid=0x24 in Object.wait() [0xb2eef000]
         java.lang.Thread.State: WAITING (on object monitor)
              at java.lang.Object.wait(Native Method)
              - waiting on <0xead92c58> (a java.util.TaskQueue)
              at java.lang.Object.wait(Object.java:503)
              at java.util.TimerThread.mainLoop(Timer.java:526)
              - locked <0xead92c58> (a java.util.TaskQueue)
              at java.util.TimerThread.run(Timer.java:505)
      
      "Service Thread" daemon prio=3 tid=0x00231c00 nid=0x22 runnable [0x00000000]
         java.lang.Thread.State: RUNNABLE
      
      "C2 CompilerThread1" daemon prio=3 tid=0x00230000 nid=0x21 waiting on condition [0x00000000]
         java.lang.Thread.State: RUNNABLE
      
      "C2 CompilerThread0" daemon prio=3 tid=0x0022d800 nid=0x20 waiting on condition [0x00000000]
         java.lang.Thread.State: RUNNABLE
      
      "Signal Dispatcher" daemon prio=3 tid=0x0022c000 nid=0x1f runnable [0x00000000]
         java.lang.Thread.State: RUNNABLE
      
      "Finalizer" daemon prio=3 tid=0x0021a800 nid=0x1e in Object.wait() [0xb382f000]
         java.lang.Thread.State: WAITING (on object monitor)
              at java.lang.Object.wait(Native Method)
              - waiting on <0xead9ed68> (a java.lang.ref.ReferenceQueue$Lock)
              at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:135)
              - locked <0xead9ed68> (a java.lang.ref.ReferenceQueue$Lock)
              at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:151)
              at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:189)
      
      "Reference Handler" daemon prio=3 tid=0x00214800 nid=0x1d in Object.wait() [0xb38bf000]
         java.lang.Thread.State: WAITING (on object monitor)
              at java.lang.Object.wait(Native Method)
              - waiting on <0xead93db8> (a java.lang.ref.Reference$Lock)
              at java.lang.Object.wait(Object.java:503)
              at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:133)
              - locked <0xead93db8> (a java.lang.ref.Reference$Lock)
      
      "main" prio=3 tid=0x00028c00 nid=0x2 waiting on condition [0xfdf4c000]
         java.lang.Thread.State: WAITING (parking)
              at sun.misc.Unsafe.park(Native Method)
              - parking to wait for  <0xead91ce0> (a java.util.concurrent.Semaphore$NonfairSync)
              at java.util.concurrent.locks.LockSupport.park(LockSupport.java:186)
              at java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:834)
              at java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireSharedInterruptibly(AbstractQueuedSynchronizer.java:994)
              at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireSharedInterruptibly(AbstractQueuedSynchronizer.java:1303)
              at java.util.concurrent.Semaphore.acquire(Semaphore.java:472)
              at org.apache.openejb.Core.<clinit>(Core.java:138)
              at org.apache.openejb.core.LocalInitialContext.<clinit>(LocalInitialContext.java:51)
              at java.lang.Class.forName0(Native Method)
              at java.lang.Class.forName(Class.java:270)
              at org.apache.openejb.core.LocalInitialContextFactory.getLocalInitialContext(LocalInitialContextFactory.java:81)
              at org.apache.openejb.core.LocalInitialContextFactory.getInitialContext(LocalInitialContextFactory.java:41)
              at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:684)
              at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:307)
              at javax.naming.InitialContext.init(InitialContext.java:242)
              at javax.naming.InitialContext.<init>(InitialContext.java:216)
              at org.apache.deltaspike.cdise.openejb.OpenEjbContainerControl.boot(OpenEjbContainerControl.java:99)
              - locked <0xead9f1f0> (a org.apache.deltaspike.cdise.openejb.OpenEjbContainerControl)
              at org.apache.deltaspike.cdise.openejb.OpenEJbContainerControlConfigurationTest.ensureDataSourceExist(OpenEJbContainerControlConfigurationTest.java:44)
              at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
              at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
              at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
              at java.lang.reflect.Method.invoke(Method.java:606)
              at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:45)
              at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
              at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:42)
              at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
              at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:263)
              at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:68)
              at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:47)
              at org.junit.runners.ParentRunner$3.run(ParentRunner.java:231)
              at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:60)
              at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:229)
              at org.junit.runners.ParentRunner.access$000(ParentRunner.java:50)
              at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:222)
              at org.junit.runners.ParentRunner.run(ParentRunner.java:300)
              at org.junit.runners.Suite.runChild(Suite.java:128)
              at org.junit.runners.Suite.runChild(Suite.java:24)
              at org.junit.runners.ParentRunner$3.run(ParentRunner.java:231)
              at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:60)
              at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:229)
              at org.junit.runners.ParentRunner.access$000(ParentRunner.java:50)
              at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:222)
              at org.junit.runners.ParentRunner.run(ParentRunner.java:300)
              at org.junit.runner.JUnitCore.run(JUnitCore.java:157)
              at org.junit.runner.JUnitCore.run(JUnitCore.java:136)
              at org.apache.maven.surefire.junitcore.JUnitCoreWrapper.execute(JUnitCoreWrapper.java:61)
              at org.apache.maven.surefire.junitcore.JUnitCoreProvider.invoke(JUnitCoreProvider.java:140)
              at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
              at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
              at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
              at java.lang.reflect.Method.invoke(Method.java:606)
              at org.apache.maven.surefire.util.ReflectionUtils.invokeMethodWithArray(ReflectionUtils.java:188)
              at org.apache.maven.surefire.booter.ProviderFactory$ProviderProxy.invoke(ProviderFactory.java:166)
              at org.apache.maven.surefire.booter.ProviderFactory.invokeProvider(ProviderFactory.java:86)
              at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:101)
              at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:74)
      

      Attachments

        Activity

          People

            romain.manni-bucau Romain Manni-Bucau
            rsmeral Ron Smeral
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: