[jira] [Assigned] (KARAF-6074) Race condition between the FeaturesService and FeatureDeploymentListener
[ https://issues.apache.org/jira/browse/KARAF-6074?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Jean-Baptiste Onofré reassigned KARAF-6074: --- Assignee: Jean-Baptiste Onofré > Race condition between the FeaturesService and FeatureDeploymentListener > > > Key: KARAF-6074 > URL: https://issues.apache.org/jira/browse/KARAF-6074 > Project: Karaf > Issue Type: Bug > Components: karaf >Affects Versions: 4.2.2, 4.2.4 > Environment: Karaf 4.2.2 Windows 7 and Equinox >Reporter: J. Brébec >Assignee: Jean-Baptiste Onofré >Priority: Critical > > 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. > > {code:java} > 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) > [?:?]{code} -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Assigned] (KARAF-6074) Race condition between the FeaturesService and FeatureDeploymentListener
[ https://issues.apache.org/jira/browse/KARAF-6074?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Grzegorz Grzybek reassigned KARAF-6074: --- Assignee: (was: Grzegorz Grzybek) > Race condition between the FeaturesService and FeatureDeploymentListener > > > Key: KARAF-6074 > URL: https://issues.apache.org/jira/browse/KARAF-6074 > Project: Karaf > Issue Type: Bug > Components: karaf >Affects Versions: 4.2.2, 4.2.4 > Environment: Karaf 4.2.2 Windows 7 and Equinox >Reporter: J. Brébec >Priority: Critical > > 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. > > {code:java} > 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) > [?:?]{code} -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Assigned] (KARAF-6074) Race condition between the FeaturesService and FeatureDeploymentListener
[ https://issues.apache.org/jira/browse/KARAF-6074?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Grzegorz Grzybek reassigned KARAF-6074: --- Assignee: Grzegorz Grzybek (was: Jean-Baptiste Onofré) > Race condition between the FeaturesService and FeatureDeploymentListener > > > Key: KARAF-6074 > URL: https://issues.apache.org/jira/browse/KARAF-6074 > Project: Karaf > Issue Type: Bug > Components: karaf >Affects Versions: 4.2.2 > Environment: Karaf 4.2.2 Windows 7 and Equinox >Reporter: J. Brébec >Assignee: Grzegorz Grzybek >Priority: Major > > 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. > > {code:java} > 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) > [?:?]{code} -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Assigned] (KARAF-6074) Race condition between the FeaturesService and FeatureDeploymentListener
[ https://issues.apache.org/jira/browse/KARAF-6074?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Jean-Baptiste Onofré reassigned KARAF-6074: --- Assignee: Jean-Baptiste Onofré > Race condition between the FeaturesService and FeatureDeploymentListener > > > Key: KARAF-6074 > URL: https://issues.apache.org/jira/browse/KARAF-6074 > Project: Karaf > Issue Type: Bug > Components: karaf >Affects Versions: 4.2.2 > Environment: Karaf 4.2.2 Windows 7 and Equinox >Reporter: J. Brébec >Assignee: Jean-Baptiste Onofré >Priority: Major > > 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. > > {code:java} > 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) > [?:?]{code} -- This message was sent by Atlassian JIRA (v7.6.3#76005)