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

Bundles are restarted during start level change

    Details

      Description

      When shutting down felix, some bundles get started again during shutdown: Can be reproduced like this:

      install felix in a fresh directory.
      Put configadmin-1.2.4, shell-1.4.0 and fileinstall-3.0.0 in bundle directory.
      Put pax-logging-api-1.5 and pax-logging-service-1.5 in load directory.
      Put a .cfg file to configure logging in load directory.

      Start felix.
      Stop felix.

      The log output shows that bundles are stopped, and the started again. Felix outputs IllegalStateExceptions: Zipfile is closed during shutdown.

      [DEBUG, 06/03-13:17:49, FelixDispatchQueue , framework ] BundleEvent STOPPED
      [INFO , 06/03-13:17:49, FelixStartLevel , Activator ] Disabling SLF4J API support.
      [INFO , 06/03-13:17:49, FelixStartLevel , Activator ] Disabling Jakarta Commons Logging API support.
      [INFO , 06/03-13:17:49, FelixStartLevel , Activator ] Disabling Log4J API support.
      [INFO , 06/03-13:17:49, FelixStartLevel , Activator ] Disabling Avalon Logger API support.
      [INFO , 06/03-13:17:49, FelixStartLevel , Activator ] Disabling JULI Logger API support.
      [DEBUG, 06/03-13:17:49, FelixDispatchQueue , pax-logging-service ] BundleEvent STARTED <--- HERE **********
      [DEBUG, 06/03-13:17:49, FelixStartLevel , configadmin ] Scheduling task Thread[Configuration Updater,5,main]
      [INFO , 06/03-13:17:49, fileinstall-load , Activator ] Enabling SLF4J API support.
      [INFO , 06/03-13:17:49, fileinstall-load , Activator ] Enabling Jakarta Commons Logging API support.
      [INFO , 06/03-13:17:49, fileinstall-load , Activator ] Enabling Log4J API support.
      [INFO , 06/03-13:17:49, fileinstall-load , Activator ] Enabling Avalon Logger API support.
      [INFO , 06/03-13:17:49, fileinstall-load , Activator ] Enabling JULI Logger API support.
      [DEBUG, 06/03-13:17:49, FelixDispatchQueue , pax-logging-api ] BundleEvent STARTED
      [DEBUG, 06/03-13:17:49, FelixStartLevel , configadmin ] ServiceEvent UNREGISTERING
      [DEBUG, 06/03-13:17:49, FelixDispatchQueue , configadmin ] BundleEvent STOPPED
      [DEBUG, 06/03-13:17:49, FelixDispatchQueue , compendium ] BundleEvent STOPPED
      [DEBUG, 06/03-13:17:49, FelixDispatchQueue , remote ] BundleEvent STOPPED
      [DEBUG, 06/03-13:17:49, FelixStartLevel , shell ] ServiceEvent UNREGISTERING
      [DEBUG, 06/03-13:17:49, FelixStartLevel , shell ] ServiceEvent UNREGISTERING
      [DEBUG, 06/03-13:17:49, FelixStartLevel , shell ] ServiceEvent UNREGISTERING
      [DEBUG, 06/03-13:17:49, FelixStartLevel , shell ] ServiceEvent UNREGISTERING
      [DEBUG, 06/03-13:17:49, FelixStartLevel , shell ] ServiceEvent UNREGISTERING
      [DEBUG, 06/03-13:17:49, FelixStartLevel , shell ] ServiceEvent UNREGISTERING
      [DEBUG, 06/03-13:17:49, FelixStartLevel , shell ] ServiceEvent UNREGISTERING
      [DEBUG, 06/03-13:17:49, FelixStartLevel , shell ] ServiceEvent UNREGISTERING
      [DEBUG, 06/03-13:17:49, FelixStartLevel , shell ] ServiceEvent UNREGISTERING
      [DEBUG, 06/03-13:17:49, FelixStartLevel , shell ] ServiceEvent UNREGISTERING
      [DEBUG, 06/03-13:17:49, FelixStartLevel , shell ] ServiceEvent UNREGISTERING
      [DEBUG, 06/03-13:17:49, FelixStartLevel , shell ] ServiceEvent UNREGISTERING
      [DEBUG, 06/03-13:17:49, FelixStartLevel , shell ] ServiceEvent UNREGISTERING
      [DEBUG, 06/03-13:17:49, FelixStartLevel , shell ] ServiceEvent UNREGISTERING
      [DEBUG, 06/03-13:17:49, FelixStartLevel , shell ] ServiceEvent UNREGISTERING
      [DEBUG, 06/03-13:17:49, FelixStartLevel , shell ] ServiceEvent UNREGISTERING
      [DEBUG, 06/03-13:17:49, FelixStartLevel , shell ] ServiceEvent UNREGISTERING
      [DEBUG, 06/03-13:17:49, FelixStartLevel , shell ] ServiceEvent UNREGISTERING
      [DEBUG, 06/03-13:17:49, FelixStartLevel , shell ] ServiceEvent UNREGISTERING
      [DEBUG, 06/03-13:17:49, FelixDispatchQueue , shell ] BundleEvent STOPPED
      [DEBUG, 06/03-13:17:49, FelixStartLevel , fileinstall ] ServiceEvent UNREGISTERING
      [DEBUG, 06/03-13:17:49, FelixStartLevel , fileinstall ] ServiceEvent UNREGISTERING
      [DEBUG, 06/03-13:17:49, FelixDispatchQueue , fileinstall ] BundleEvent STOPPED
      [DEBUG, 06/03-13:17:49, FelixShutdown , framework ] ServiceEvent UNREGISTERING
      [DEBUG, 06/03-13:17:49, FelixShutdown , framework ] ServiceEvent UNREGISTERING

      java.lang.IllegalStateException: zip file closed
      at java.util.zip.ZipFile.ensureOpen(ZipFile.java:403)
      at java.util.zip.ZipFile.getEntry(ZipFile.java:148)
      at java.util.jar.JarFile.getEntry(JarFile.java:206)
      at org.apache.felix.framework.util.JarFileX.getEntry(JarFileX.java:61)
      at org.apache.felix.framework.cache.JarContent.getEntryAsBytes(JarContent.java:120)
      at org.apache.felix.framework.ModuleImpl$ModuleClassLoader.findClass(ModuleImpl.java:1781)
      at org.apache.felix.framework.ModuleImpl.findClassOrResourceByDelegation(ModuleImpl.java:758)
      at org.apache.felix.framework.ModuleImpl.access$100(ModuleImpl.java:61)
      at org.apache.felix.framework.ModuleImpl$ModuleClassLoader.loadClass(ModuleImpl.java:1733)
      at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
      at org.apache.felix.framework.ModuleImpl.getClassByDelegation(ModuleImpl.java:674)
      at org.apache.felix.framework.ServiceRegistrationImpl$ServiceReferenceImpl.isAssignableTo(ServiceRegistrationImpl.java:470)
      at org.apache.felix.framework.util.Util.isServiceAssignable(Util.java:224)
      at org.apache.felix.framework.util.EventDispatcher.invokeServiceListenerCallback(EventDispatcher.java:848)
      at org.apache.felix.framework.util.EventDispatcher.fireEventImmediately(EventDispatcher.java:732)
      at org.apache.felix.framework.util.EventDispatcher.fireServiceEvent(EventDispatcher.java:662)
      at org.apache.felix.framework.Felix.fireServiceEvent(Felix.java:3623)
      at org.apache.felix.framework.Felix.access$000(Felix.java:39)
      at org.apache.felix.framework.Felix$2.serviceChanged(Felix.java:667)
      at org.apache.felix.framework.ServiceRegistry.unregisterService(ServiceRegistry.java:124)
      at org.apache.felix.framework.ServiceRegistrationImpl.unregister(ServiceRegistrationImpl.java:129)
      at org.apache.felix.framework.PackageAdminActivator.stop(PackageAdminActivator.java:44)
      at org.apache.felix.framework.util.SecureAction.stopActivator(SecureAction.java:683)
      at org.apache.felix.framework.Felix$SystemBundleActivator.run(Felix.java:4168)
      at java.lang.Thread.run(Thread.java:619)

      If i put the pax-logging bundles in the bundle directory, felix shuts down clean

        Attachments

          Activity

            People

            • Assignee:
              rickhall Richard S. Hall
              Reporter:
              prange Atle Prange
            • Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: