Guillaume Nodet created FELIX-3820: -------------------------------------- Summary: Possible NPE in ConfigAdmin after shutting down when accessed by bad behaving bundles Key: FELIX-3820 URL: https://issues.apache.org/jira/browse/FELIX-3820 Project: Felix Issue Type: Bug Components: Configuration Admin Reporter: Guillaume Nodet Priority: Minor
When a bundle accesses the ConfigAdmin service while or after it has been stopped, NPE can occur because the internal ConfigurationAdminImpl#configurationManager field has been nulled. While this is a minor issue, it would be better to throw a nicer exception indicating the COnfigAdmin service has been stopped. This is mostly for bad behaving bundles that do not react to the service being unregistered though, so it's really a minor issue {code} at org.apache.felix.cm.impl.ConfigurationAdminImpl.listConfigurations(ConfigurationAdminImpl.java:166) at org.apache.felix.fileinstall.internal.ConfigInstaller.findExistingConfiguration(ConfigInstaller.java:346) at org.apache.felix.fileinstall.internal.ConfigInstaller.getConfiguration(ConfigInstaller.java:320) at org.apache.felix.fileinstall.internal.ConfigInstaller.setConfig(ConfigInstaller.java:245) at org.apache.felix.fileinstall.internal.ConfigInstaller.install(ConfigInstaller.java:84) at org.apache.felix.fileinstall.internal.DirectoryWatcher.install(DirectoryWatcher.java:929) at org.apache.felix.fileinstall.internal.DirectoryWatcher.install(DirectoryWatcher.java:857) at org.apache.felix.fileinstall.internal.DirectoryWatcher.process(DirectoryWatcher.java:483) at org.apache.felix.fileinstall.internal.DirectoryWatcher.start(DirectoryWatcher.java:224) at org.apache.felix.fileinstall.internal.FileInstall.updated(FileInstall.java:252) at org.apache.felix.fileinstall.internal.FileInstall.start(FileInstall.java:139) at org.apache.felix.framework.util.SecureAction.startActivator(SecureAction.java:645) at org.apache.felix.framework.Felix.doActivateBundle(Felix.java:2259) at org.apache.felix.framework.Felix$7.call(Felix.java:2197) at org.apache.felix.framework.Felix$6.call(Felix.java:2141) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) at java.util.concurrent.FutureTask.run(FutureTask.java:166) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) at java.lang.Thread.run(Thread.java:722) {code} -- 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