Sorry for the noise. I wasn't seeing my comments being posted, so I kept
recreating them, but apparently they were all successfully recorded.
-> richard
On 07/08/2009 06:13 PM, Richard S. Hall (JIRA) wrote:
[
https://issues.apache.org/jira/browse/FELIX-1311?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12728932#action_12728932
]
Richard S. Hall commented on FELIX-1311:
----------------------------------------
For FELIX-1287, we introduced some changes in this area which may impact and/or
fix this issue. Could you try to reproduce this on trunk? Even if it doesn't
fix the issue, an updated thread dump would be helpful, thanks!
Felix shutdown may lead to dead lock
------------------------------------
Key: FELIX-1311
URL: https://issues.apache.org/jira/browse/FELIX-1311
Project: Felix
Issue Type: Bug
Components: Framework
Affects Versions: felix-1.8.1
Reporter: Thomas Diesler
Attachments: thread-dump.txt
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.