Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Abandoned
-
framework-1.8.1
-
None
-
None
Description
There seems to be a race condition on felix shutdown that may lead to a dead lock.
Java stack information for the threads listed above:
===================================================
"FelixShutdown":
at org.apache.felix.framework.Felix.setBundleStateAndNotify(Felix.java:4258)
- waiting to lock <0x8c92ec10> (a [Ljava.lang.Object
at org.apache.felix.framework.Felix$SystemBundleActivator.run(Felix.java:4061) - locked <0x8c92e490> (a org.apache.felix.framework.Felix)
at java.lang.Thread.run(Thread.java:619)
"main":
at org.apache.felix.framework.BundleImpl.getLockingThread(BundleImpl.java:1037) - waiting to lock <0x8c92e490> (a org.apache.felix.framework.Felix)
at org.apache.felix.framework.Felix.releaseBundleLock(Felix.java:4336) - locked <0x8c92ec10> (a [Ljava.lang.Object
at org.apache.felix.framework.Felix.stopBundle(Felix.java:1892)
at org.apache.felix.framework.Felix.stop(Felix.java:752)
at org.jboss.osgi.felix.framework.FelixIntegration.stop(FelixIntegration.java:191)
at org.jboss.osgi.spi.testing.internal.EmbeddedRuntime.shutdown(EmbeddedRuntime.java:152)
at org.jboss.test.osgi.bootstrap.CapabilityTestCase.testJAXBCapability(CapabilityTestCase.java:103)
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.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:44)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:180)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:41)
at org.junit.runners.ParentRunner$1.evaluate(ParentRunner.java:173)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.ParentRunner.run(ParentRunner.java:220)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:62)
at org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.executeTestSet(AbstractDirectoryTestSuite.java:140)
at org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.execute(AbstractDirectoryTestSuite.java:127)
at org.apache.maven.surefire.Surefire.run(Surefire.java:177)
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.booter.SurefireBooter.runSuitesInProcess(SurefireBooter.java:338)
at org.apache.maven.surefire.booter.SurefireBooter.main(SurefireBooter.java:997)
Found 1 deadlock.