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.

Reply via email to