Uploaded image for project: 'Felix'
  1. Felix
  2. FELIX-1311

Felix shutdown may lead to dead lock

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Abandoned
    • framework-1.8.1
    • None
    • Framework
    • 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.

      Attachments

        1. thread-dump.txt
          16 kB
          Thomas Diesler

        Activity

          People

            Unassigned Unassigned
            tdiesler Thomas Diesler
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: