[
https://issues.apache.org/jira/browse/DELTASPIKE-558?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13959705#comment-13959705
]
Romain Manni-Bucau commented on DELTASPIKE-558:
-----------------------------------------------
Personally I see it a bit like an API, like EJBContainer if you want. The impl
is up to the user (I ask since that's maybe my usage). So I'd expect the user
to always specify the openejb version.
> 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
>
> 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
(v6.2#6252)