Uploaded image for project: 'Aries'
  1. Aries
  2. ARIES-1441

Subsystem core tries to shutdown the framework when it has a framework dependency like org.osgi.util.tracker

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • subsystem-2.0.6, subsystem-2.0.8
    • subsystem-2.0.10
    • Subsystem
    • karaf
      pax exam

    • Patch

    Description

      When performing a shutdown of the subsystem core bundle it tries to stop the framework because there is a org.osgi.util.tracker import package.

      Also in the same situation described above when trying to shutdown the framework by calling stop on bundle 0 it can fail with:
      [org.apache.aries.subsystem.core.internal.StopAction] : An error occurred while stopping resource osgi.identity; osgi.identity="org.eclipse.osgi"; type="osgi.bundle"; version:Version="3.10.0.v20140606-1445"; singleton:="true" of subsystem org.apache.aries.subsystem.core.internal.BasicSubsystem@25760667
      org.osgi.framework.BundleException: Unable to acquire the state change lock for the module: osgi.identity; osgi.identity="org.eclipse.osgi"; type="osgi.bundle"; version:Version="3.10.0.v20140606-1445"; singleton:="true" [id=0] STOPPED [STOPPED] invalid
      at org.eclipse.osgi.container.Module.lockStateChange(Module.java:329)
      at org.eclipse.osgi.internal.framework.EquinoxBundle$SystemBundle$EquinoxSystemModule.asyncStop(EquinoxBundle.java:151)
      at org.eclipse.osgi.internal.framework.EquinoxBundle$SystemBundle.stop(EquinoxBundle.java:272)
      at org.eclipse.osgi.internal.framework.EquinoxBundle$SystemBundle.stop(EquinoxBundle.java:277)
      at org.apache.aries.subsystem.core.internal.StopAction.stopBundleResource(StopAction.java:97)
      at org.apache.aries.subsystem.core.internal.StopAction.stopResource(StopAction.java:109)
      at org.apache.aries.subsystem.core.internal.StopAction.run(StopAction.java:67)
      at org.apache.aries.subsystem.core.internal.StopAction.stopSubsystemResource(StopAction.java:135)
      at org.apache.aries.subsystem.core.internal.StopAction.stopResource(StopAction.java:107)
      at org.apache.aries.subsystem.core.internal.StopAction.run(StopAction.java:67)
      at org.apache.aries.subsystem.core.internal.Activator.deactivate(Activator.java:162)
      at org.apache.aries.subsystem.core.internal.Activator.removedService(Activator.java:291)
      at org.osgi.util.tracker.ServiceTracker$Tracked.customizerRemoved(ServiceTracker.java:967)
      at org.osgi.util.tracker.ServiceTracker$Tracked.customizerRemoved(ServiceTracker.java:870)
      at org.osgi.util.tracker.AbstractTracked.untrack(AbstractTracked.java:341)
      at org.osgi.util.tracker.ServiceTracker$Tracked.serviceChanged(ServiceTracker.java:909)
      at org.eclipse.osgi.internal.serviceregistry.FilteredServiceListener.serviceChanged(FilteredServiceListener.java:109)
      at org.eclipse.osgi.internal.framework.BundleContextImpl.dispatchEvent(BundleContextImpl.java:914)
      at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
      at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:148)
      at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEventPrivileged(ServiceRegistry.java:862)
      at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEvent(ServiceRegistry.java:801)
      at org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.unregister(ServiceRegistrationImpl.java:222)
      at org.eclipse.equinox.internal.region.RegionManager.stop(RegionManager.java:67)
      at org.eclipse.osgi.internal.framework.BundleContextImpl$4.run(BundleContextImpl.java:827)
      at org.eclipse.osgi.internal.framework.BundleContextImpl$4.run(BundleContextImpl.java:1)
      at java.security.AccessController.doPrivileged(Native Method)
      at org.eclipse.osgi.internal.framework.BundleContextImpl.stop(BundleContextImpl.java:820)
      at org.eclipse.osgi.internal.framework.EquinoxBundle.stopWorker0(EquinoxBundle.java:950)
      at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.stopWorker(EquinoxBundle.java:324)
      at org.eclipse.osgi.container.Module.doStop(Module.java:626)
      at org.eclipse.osgi.container.Module.stop(Module.java:488)
      at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.decStartLevel(ModuleContainer.java:1623)
      at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.doContainerStartLevel(ModuleContainer.java:1542)
      at org.eclipse.osgi.container.SystemModule.stopWorker(SystemModule.java:248)
      at org.eclipse.osgi.internal.framework.EquinoxBundle$SystemBundle$EquinoxSystemModule.stopWorker(EquinoxBundle.java:145)
      at org.eclipse.osgi.container.Module.doStop(Module.java:626)
      at org.eclipse.osgi.container.Module.stop(Module.java:488)
      at org.eclipse.osgi.container.SystemModule.stop(SystemModule.java:186)
      at org.eclipse.osgi.internal.framework.EquinoxBundle$SystemBundle$EquinoxSystemModule$1.run(EquinoxBundle.java:160)
      at java.lang.Thread.run(Thread.java:662)

      Attachments

        Issue Links

          Activity

            People

              jwross@us.ibm.com John Ross
              baselzinga Bas
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: