Community
Participate
Working Groups
The following incident was reported via the automated error reporting: code: 2 plugin: org.eclipse.core.resources_3.9.1.v20140825-1431 message: Problems occurred when invoking code from plug-in: "org.eclipse.core.resources". fingerprint: 319647f6 exception class: java.lang.IllegalStateException exception message: Preference node "org.eclipse.jdt.core" has been removed. number of children: 0 java.lang.IllegalStateException: Preference node "org.eclipse.jdt.core" has been removed. at org.eclipse.core.internal.preferences.EclipsePreferences.checkRemoved(EclipsePreferences.java:200) at org.eclipse.core.internal.preferences.EclipsePreferences.parent(EclipsePreferences.java:876) at org.eclipse.jdt.internal.core.JavaProject.close(JavaProject.java:480) at org.eclipse.jdt.internal.core.ClasspathChange.generateDelta(ClasspathChange.java:261) at org.eclipse.jdt.internal.core.DeltaProcessor.resourceChanged(DeltaProcessor.java:2065) at org.eclipse.jdt.internal.core.DeltaProcessingState.resourceChanged(DeltaProcessingState.java:477) at org.eclipse.core.internal.events.NotificationManager$1.run(NotificationManager.java:291) at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42) at org.eclipse.core.internal.events.NotificationManager.notify(NotificationManager.java:285) at org.eclipse.core.internal.events.NotificationManager.broadcastChanges(NotificationManager.java:149) at org.eclipse.core.internal.resources.Workspace.broadcastPostChange(Workspace.java:378) at org.eclipse.core.internal.resources.Workspace.endOperation(Workspace.java:1498) at org.eclipse.core.internal.resources.InternalWorkspaceJob.run(InternalWorkspaceJob.java:45) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54) General Information: reported-by: Marcel Bruch anonymous-id: 385b7d4a-7307-3cb4-8e18-f3645fdd9b3a eclipse-build-id: 4.4.1.M20140925-0400 eclipse-product: org.eclipse.epp.package.standard.product operating system: MacOSX 10.10.0 (x86_64) - cocoa jre-version: 1.8.0_20-b26 The following plug-ins were present on the execution stack (*): 1. org.eclipse.core.jobs_3.6.0.v20140424-0053 2. org.eclipse.core.resources_3.9.1.v20140825-1431 3. org.eclipse.core.runtime_3.10.0.v20140318-2214 4. org.eclipse.jdt.core_3.10.0.v20140902-0626 5. org.eclipse.jdt_3.10.0.v20140925-0400 Please note that: * Messages, stacktraces, and nested status objects may be shortened. * Bug fields like status, resolution, and whiteboard are sent back to reporters. * The list of present bundles and their respective versions was calculated by package naming heuristics. This may or may not reflect reality. Other Resources: * Report: https://dev.eclipse.org/recommenders/committers/confess/#/problems/54c4ef9ebee810030da07209 * Manual: https://dev.eclipse.org/recommenders/community/confess/#/guide Thank you for your assistance. Your friendly error-reports-inbox.
Happens every time here I checkout a git branch with a slightly different layout, on git rebase or pulls.
This looks like a case of the JavaProject holding onto its preferences a bit longer. In this particular case, the project is being closed anyway. So, I think we should just expect the IllegalStateException and ignore it here.
In my case it also happens each time I switch Git branch (using Source Tree).
I have no connection to GIT or SVN on this Eclipse. In my case it happens every time I do a File Search without refreshing my project directories. I think it should ask for a refresh before searching or doing some actions. To be concrete: 1) I change/delete/move some file from my projects OUTSIDE of Eclipse. 2) I do a search. 3) When it searches through the file I've changed/deleted/moved it throws this error code. I hope this comment helps, thank you for this amazing IDE!
Sorry, I have to move this out of 4.6.
Here's a different stack trace for what I believe is the same problem: java.lang.IllegalStateException: Preference node "org.eclipse.jdt.core" has been removed. at org.eclipse.core.internal.preferences.EclipsePreferences.checkRemoved(EclipsePreferences.java:200) at org.eclipse.core.internal.resources.ProjectPreferences.internalGet(ProjectPreferences.java:429) at org.eclipse.core.internal.preferences.EclipsePreferences.get(EclipsePreferences.java:484) at org.eclipse.jdt.internal.core.JavaModelManager.getOption(JavaModelManager.java:2118) at org.eclipse.jdt.internal.core.JavaProject.getOption(JavaProject.java:1657) at org.eclipse.jdt.internal.core.JavaModelManager.determineIfOnClasspath(JavaModelManager.java:1041) at org.eclipse.jdt.internal.core.JavaModelManager.create(JavaModelManager.java:934) at org.eclipse.jdt.internal.core.JavaModelManager.create(JavaModelManager.java:864) at org.eclipse.jdt.core.JavaCore.create(JavaCore.java:3177) at org.eclipse.jdt.ui.StandardJavaElementContentProvider.internalGetParent(StandardJavaElementContentProvider.java:469) at org.eclipse.jdt.internal.ui.packageview.PackageExplorerContentProvider.internalGetParent(PackageExplorerContentProvider.java:403) at org.eclipse.jdt.ui.StandardJavaElementContentProvider.getParent(StandardJavaElementContentProvider.java:251) at org.eclipse.jdt.internal.ui.packageview.WorkingSetAwareContentProvider.getParent(WorkingSetAwareContentProvider.java:195) at org.eclipse.jface.viewers.AbstractTreeViewer.getParentElement(AbstractTreeViewer.java:1707) I get this from the Package Explorer - and similar traces from the compiler or when trying to use the editor - all the time these days when I switch between different branches that have changes to project-specific preferences. I usually use command-line git to switch branches, so maybe the fact that I have "Refresh on access" and "Refresh using native hooks" enabled could factor into this as well. The effect is quite severe: The IDE becomes practically unusable, and the only sensible fix is to completely restart it - which is a real pain when you have a large workspace and have to do that on every other branch switch. With a healthy mix of support and feature development work, I currently have to do this at least once or twice a day. From a quick glance at the affected code, I would assume that it's a concurrency issue between the code trying to read from a preference node, and a resource refresh happening on a different thread that affects the preference model. I guess introducing synchronization here could have a lot of consequences. But wouldn't it be easily possible to wrap the handful of code sections that read those preferences so they refresh the preference nodes on error and retry the operation?
Bulk move out of 4.8
This bug hasn't had any activity in quite some time. Maybe the problem got resolved, was a duplicate of something else, or became less pressing for some reason - or maybe it's still relevant but just hasn't been looked at yet. If you have further information on the current state of the bug, please add it. The information can be, for example, that the problem still occurs, that you still want the feature, that more information is needed, or that the bug is (for whatever reason) no longer relevant. -- The automated Eclipse Genie.