You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@aries.apache.org by "Mark Nuttall (JIRA)" <ji...@apache.org> on 2012/12/06 16:05:10 UTC

[jira] [Created] (ARIES-982) Deadlock between Subsystems EventHook and Activator

Mark Nuttall created ARIES-982:
----------------------------------

             Summary: Deadlock between Subsystems EventHook and Activator
                 Key: ARIES-982
                 URL: https://issues.apache.org/jira/browse/ARIES-982
             Project: Aries
          Issue Type: Bug
          Components: Subsystem
    Affects Versions: 0.4
            Reporter: Mark Nuttall


We're sometimes seeing a deadlock between one thread that's passed through

4XESTACKTRACE                at org/apache/aries/subsystem/core/internal/SubsystemServiceRegistrar.register(SubsystemServiceRegistrar.java:69)
5XESTACKTRACE                   (entered lock: org/apache/aries/subsystem/core/internal/SubsystemServiceRegistrar@0xD6FEEAA0, entry count: 1)
4XESTACKTRACE                at org/apache/aries/subsystem/core/internal/SubsystemResourceInstaller.installAriesSubsystem(SubsystemResourceInstaller.java:96)
4XESTACKTRACE                at org/apache/aries/subsystem/core/internal/SubsystemResourceInstaller.install(SubsystemResourceInstaller.java:40)
4XESTACKTRACE                at org/apache/aries/subsystem/core/internal/Subsystems.getRootSubsystem(Subsystems.java:130)
5XESTACKTRACE                   (entered lock: org/apache/aries/subsystem/core/internal/Subsystems@0xD6FEEAB0, entry count: 1)
4XESTACKTRACE                at org/apache/aries/subsystem/core/internal/Activator.activate(Activator.java:167)
4XESTACKTRACE                at org/apache/aries/subsystem/core/internal/Activator.addingService(Activator.java:263)
5XESTACKTRACE                   (entered lock: org/apache/aries/subsystem/core/internal/Activator@0xD6C83A70, entry count: 1)

and another, 
3XMTHREADINFO      "Blueprint Extender: 2" J9VMThread:0x083A9800, j9thread_t:0x087B373C, java/lang/Thread:0xD6346650, state:B, prio=5
3XMTHREADINFO1            (native thread ID:0x770F, native priority:0x5, native policy:UNKNOWN)
3XMTHREADINFO2            (native stack address range from:0xD0278000, to:0xD02B9000, size:0x41000)
3XMTHREADBLOCK     Blocked on: org/apache/aries/subsystem/core/internal/Activator@0xD6C83A70 Owned by: "Blueprint Extender: 3" (J9VMThread:0x087D5D00, java/lang/Thread:0xD66F2280)
3XMTHREADINFO3           Java callstack:
4XESTACKTRACE                at org/apache/aries/subsystem/core/internal/BundleEventHook.handleExplicitlyInstalledBundleBundleContext(BundleEventHook.java:55)
4XESTACKTRACE                at org/apache/aries/subsystem/core/internal/BundleEventHook.handleInstalledEvent(BundleEventHook.java:93)
4XESTACKTRACE                at org/apache/aries/subsystem/core/internal/BundleEventHook.event(BundleEventHook.java:41)

The problem looks to be caused by the call to Activator.getInstance() within BundleEventHook.handleExplicitlyInstalledBundleBundleContext(). One option would be to move that call into the BundleEventHook() constructor. 

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira