Details
Description
On the first start of a custom Karaf container (4.2.2), the logs shows a log of NPE in FeatureDeploymentListener.
After some analysis of this Exception, it's look like a race condition between the FeaturesService and the FeatureDeploymentListener :
- The FeaturesService starts and launch a provisioning in another thread
- a FeatureDeploymentListener is registered, and call bundleChanged for every bundle installed (the startup bundles)
- It calls FeaturesService.state.requirements and get an empty map
- Updating the root regions in the requirements map fails with an NPE
- Some times later, the deployment task launched at step 1 is started, and FeaturesService.saveState() is called : state.requirements."root region" is initialised
The step 5 is executed in another thread, so it can happens before step 2 (and it works) or after, causing this NPE
Moreover, some methods in FeaturesService assume that state.requirements."root region" exists. There are probably others npe here.
14:37:55.668 ERROR [activator-1-thread-2] Unable to update deployed features for bundle: org.eclipse.osgi - 3.12.100.v20180210-1608 java.lang.NullPointerException: null at org.apache.karaf.deployer.features.FeatureDeploymentListener.bundleChanged(FeatureDeploymentListener.java:247) [25:org.apache.karaf.deployer.features:4.2.2] at org.apache.karaf.deployer.features.FeatureDeploymentListener.init(FeatureDeploymentListener.java:95) [25:org.apache.karaf.deployer.features:4.2.2] at org.apache.karaf.deployer.features.osgi.Activator.doStart(Activator.java:52) [25:org.apache.karaf.deployer.features:4.2.2] at org.apache.karaf.util.tracker.BaseActivator.run(BaseActivator.java:292) [25:org.apache.karaf.deployer.features:4.2.2] at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:?] at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:?] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:?] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:?]
Attachments
Issue Links
- relates to
-
KARAF-6089 Deadlock with FeatureDeploymentListener
- Resolved
- links to