Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
framework-2.0.5
-
Ubuntu 10.04, Windows server
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