[ https://issues.apache.org/jira/browse/DELTASPIKE-558?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Mark Struberg resolved DELTASPIKE-558. -------------------------------------- Resolution: Fixed Fixed long time ago. Was an ancient OpenEJB issue. > OpenEJB-ContainerControl tests randomly lock up on Solaris > ---------------------------------------------------------- > > Key: DELTASPIKE-558 > URL: https://issues.apache.org/jira/browse/DELTASPIKE-558 > Project: DeltaSpike > Issue Type: Bug > Components: CdiControl > Affects Versions: 0.6 > Environment: Solaris 10/11 > Java 1.6/1.8 > Reporter: Ron Smeral > Assignee: Romain Manni-Bucau > Priority: Major > > 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: > {noformat} > 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) > {noformat} -- This message was sent by Atlassian Jira (v8.3.4#803005)