Community
Participate
Working Groups
The org.eclipse.core.internal.preferences.OSGiPreferencesServiceManager service factory keeps a reference to a node used when creating new OSGi preferences services for each bundle. If for some reason this node is removed from the preferences hierarchy, the osgi prefs manager fails to function properly. The problem is that on each service request it tries to reference the node which fails, because the node is removed. I found that one scenario when the node is removed is the following: 1) export the root preferences node 2) import the root preferences node This will cause all nodes to be removed, because the root node is removed.
Created attachment 67966 [details] test project which trigger the bug This is a test project, which triggers the bug by following the scenario laid out above.
Created attachment 67968 [details] proposal fix for this bug This is a proposal fix for the bug. It checks whether the node was removed before using it.
+1. Adding Tom for review as well. Thanks for the patch.
Patch is good. I also ran the OSGi TCK and it passes on the patched code.
Released.