-
Notifications
You must be signed in to change notification settings - Fork 146
Open
Labels
bugSomething isn't workingSomething isn't working
Description
One of our automated tests ran into this exception:
!ENTRY org.eclipse.core.resources 4 376 2025-10-27 16:00:47.252
!MESSAGE Marker id 6922 not found.
!STACK 0
java.lang.IllegalStateException
at org.eclipse.core.internal.resources.Marker.checkInfo(Marker.java:71)
at org.eclipse.core.internal.resources.Marker.getType(Marker.java:228)
at org.eclipse.ui.texteditor.MarkerUtilities.getMarkerType(MarkerUtilities.java:259)
at org.eclipse.jdt.internal.ui.text.correction.CorrectionMarkerResolutionGenerator.internalHasResolutions(CorrectionMarkerResolutionGenerator.java:338)
at org.eclipse.jdt.internal.ui.text.correction.CorrectionMarkerResolutionGenerator.hasResolutions(CorrectionMarkerResolutionGenerator.java:327)
at org.eclipse.ui.internal.ide.registry.MarkerHelpRegistry.hasResolution(MarkerHelpRegistry.java:263)
at org.eclipse.ui.internal.ide.registry.MarkerHelpRegistry.hasResolutions(MarkerHelpRegistry.java:236)
at org.eclipse.ui.views.markers.MarkerField.annotateImage(MarkerField.java:86)
at org.eclipse.ui.internal.views.markers.MarkerProblemSeverityAndMessageField.update(MarkerProblemSeverityAndMessageField.java:83)
at org.eclipse.ui.internal.views.markers.MarkerColumnLabelProvider.update(MarkerColumnLabelProvider.java:54)
at org.eclipse.jface.viewers.ViewerColumn.refresh(ViewerColumn.java:149)
at org.eclipse.jface.viewers.AbstractTreeViewer.doUpdateItem(AbstractTreeViewer.java:999)
at org.eclipse.ui.internal.views.markers.MarkersTreeViewer.doUpdateItem(MarkersTreeViewer.java:62)
at org.eclipse.jface.viewers.AbstractTreeViewer$UpdateItemSafeRunnable.run(AbstractTreeViewer.java:156)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:47)
at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:169)
at org.eclipse.jface.viewers.AbstractTreeViewer.doUpdateItem(AbstractTreeViewer.java:1072)
at org.eclipse.jface.viewers.StructuredViewer$UpdateItemSafeRunnable.run(StructuredViewer.java:426)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:47)
at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:169)
at org.eclipse.jface.viewers.StructuredViewer.updateItem(StructuredViewer.java:2111)
at org.eclipse.jface.viewers.AbstractTreeViewer.createTreeItem(AbstractTreeViewer.java:892)
at org.eclipse.jface.viewers.AbstractTreeViewer.createChildren(AbstractTreeViewer.java:870)
at org.eclipse.jface.viewers.TreeViewer.createChildren(TreeViewer.java:612)
at org.eclipse.jface.viewers.AbstractTreeViewer.internalCustomizedExpandToLevel(AbstractTreeViewer.java:1855)
at org.eclipse.jface.viewers.AbstractTreeViewer.internalExpandToLevel(AbstractTreeViewer.java:1886)
at org.eclipse.jface.viewers.AbstractTreeViewer.expandToLevel(AbstractTreeViewer.java:1167)
at org.eclipse.jface.viewers.AbstractTreeViewer.expandToLevel(AbstractTreeViewer.java:1138)
at org.eclipse.ui.internal.views.markers.ExtendedMarkersView.reexpandCategories(ExtendedMarkersView.java:1175)
at org.eclipse.ui.internal.views.markers.UIUpdateJob.runInUIThread(UIUpdateJob.java:107)
at org.eclipse.ui.progress.UIJob.lambda$0(UIJob.java:148)
at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:40)
at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:132)
at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:5079)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:4548)
When debugging, I can reproduce the following two stack traces on the same ResourceInfo object:
"main" #1 [95302] prio=6 os_prio=0 cpu=10069.24ms elapsed=369.49s tid=0x00007f55cc01ae40 nid=95302 runnable [0x00007f55d25fa000]
java.lang.Thread.State: RUNNABLE
at org.eclipse.core.internal.resources.ResourceInfo.getMarkers(ResourceInfo.java:196)
at org.eclipse.core.internal.resources.MarkerManager.findMarkerInfo(MarkerManager.java:274)
at org.eclipse.core.internal.resources.Marker.getInfo(Marker.java:211)
at org.eclipse.core.internal.resources.Marker.getType(Marker.java:227)
at org.eclipse.ui.texteditor.MarkerUtilities.getMarkerType(MarkerUtilities.java:259)
at org.eclipse.jdt.internal.ui.text.correction.CorrectionMarkerResolutionGenerator.internalHasResolutions(CorrectionMarkerResolutionGenerator.java:338)
at org.eclipse.jdt.internal.ui.text.correction.CorrectionMarkerResolutionGenerator.hasResolutions(CorrectionMarkerResolutionGenerator.java:327)
at org.eclipse.ui.internal.ide.registry.MarkerHelpRegistry.hasResolution(MarkerHelpRegistry.java:263)
at org.eclipse.ui.internal.ide.registry.MarkerHelpRegistry.hasResolutions(MarkerHelpRegistry.java:236)
at org.eclipse.ui.views.markers.MarkerField.annotateImage(MarkerField.java:86)
at org.eclipse.ui.internal.views.markers.MarkerProblemSeverityAndMessageField.update(MarkerProblemSeverityAndMessageField.java:83)
at org.eclipse.ui.internal.views.markers.MarkerColumnLabelProvider.update(MarkerColumnLabelProvider.java:54)
at org.eclipse.jface.viewers.ViewerColumn.refresh(ViewerColumn.java:149)
at org.eclipse.jface.viewers.AbstractTreeViewer.doUpdateItem(AbstractTreeViewer.java:999)
at org.eclipse.ui.internal.views.markers.MarkersTreeViewer.doUpdateItem(MarkersTreeViewer.java:62)
at org.eclipse.jface.viewers.AbstractTreeViewer$UpdateItemSafeRunnable.run(AbstractTreeViewer.java:156)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:47)
at org.eclipse.ui.internal.JFaceUtil$$Lambda/0x00007f55541bbc70.run(Unknown Source)
at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:169)
at org.eclipse.jface.viewers.AbstractTreeViewer.doUpdateItem(AbstractTreeViewer.java:1072)
at org.eclipse.jface.viewers.StructuredViewer$UpdateItemSafeRunnable.run(StructuredViewer.java:426)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:47)
at org.eclipse.ui.internal.JFaceUtil$$Lambda/0x00007f55541bbc70.run(Unknown Source)
at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:169)
at org.eclipse.jface.viewers.StructuredViewer.updateItem(StructuredViewer.java:2111)
at org.eclipse.jface.viewers.AbstractTreeViewer.createTreeItem(AbstractTreeViewer.java:892)
at org.eclipse.jface.viewers.AbstractTreeViewer.createChildren(AbstractTreeViewer.java:870)
at org.eclipse.jface.viewers.TreeViewer.createChildren(TreeViewer.java:612)
at org.eclipse.jface.viewers.AbstractTreeViewer.createChildren(AbstractTreeViewer.java:817)
at org.eclipse.jface.viewers.AbstractTreeViewer.handleTreeExpand(AbstractTreeViewer.java:1601)
at org.eclipse.jface.viewers.TreeViewer.handleTreeExpand(TreeViewer.java:905)
at org.eclipse.jface.viewers.AbstractTreeViewer$3.treeExpanded(AbstractTreeViewer.java:1613)
at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:170)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:91)
at org.eclipse.swt.widgets.Display.sendEvent(Display.java:5889)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1656)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1682)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1665)
at org.eclipse.swt.widgets.Tree.gtk_test_expand_row(Tree.java:2600)
at org.eclipse.swt.widgets.Widget.windowProc(Widget.java:2668)
at org.eclipse.swt.widgets.Display.windowProc(Display.java:6202)
at org.eclipse.swt.internal.gtk3.GTK3.gtk_main_do_event(Native Method)
at org.eclipse.swt.widgets.Display.eventProc(Display.java:1624)
at org.eclipse.swt.internal.gtk3.GTK3.gtk_main_iteration_do(Native Method)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:4542)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1147)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:339)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1038)
at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:153)
at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:677)
at org.eclipse.ui.internal.Workbench$$Lambda/0x00007f55541dfd48.run(Unknown Source)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:339)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:583)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:173)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:185)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:219)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:149)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:115)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:467)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:298)
at java.lang.invoke.DirectMethodHandle$Holder.invokeStatic([email protected]/DirectMethodHandle$Holder)
at java.lang.invoke.LambdaForm$MH/0x00007f5554016800.invoke([email protected]/LambdaForm$MH)
at java.lang.invoke.LambdaForm$MH/0x00007f5554016c00.invokeExact_MT([email protected]/LambdaForm$MH)
at jdk.internal.reflect.DirectMethodHandleAccessor.invokeImpl([email protected]/DirectMethodHandleAccessor.java:155)
at jdk.internal.reflect.DirectMethodHandleAccessor.invoke([email protected]/DirectMethodHandleAccessor.java:103)
at java.lang.reflect.Method.invoke([email protected]/Method.java:580)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:615)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:563)
at org.eclipse.equinox.launcher.Main.run(Main.java:1415)
at org.eclipse.equinox.launcher.Main.main(Main.java:1387)
"Worker-15: Building" #128 [98667] prio=5 os_prio=0 cpu=18.10ms elapsed=130.64s tid=0x00007f544c004410 nid=98667 at breakpoint [0x00007f54b34fa000]
java.lang.Thread.State: RUNNABLE
at org.eclipse.core.internal.resources.ResourceInfo.setMarkers(ResourceInfo.java:389)
at org.eclipse.core.internal.resources.MarkerManager.basicRemoveMarkers(MarkerManager.java:201)
at org.eclipse.core.internal.resources.MarkerManager.recursiveRemoveMarkers(MarkerManager.java:496)
at org.eclipse.core.internal.resources.MarkerManager.removeMarkers(MarkerManager.java:551)
at org.eclipse.core.internal.resources.Resource.deleteMarkers(Resource.java:870)
at org.eclipse.jdt.internal.core.builder.JavaBuilder.removeProblemsFor(JavaBuilder.java:147)
at org.eclipse.jdt.internal.core.builder.IncrementalImageBuilder.updateProblemsFor(IncrementalImageBuilder.java:873)
at org.eclipse.jdt.internal.core.builder.AbstractImageBuilder.acceptResult(AbstractImageBuilder.java:178)
at org.eclipse.jdt.internal.compiler.Compiler.processCompiledUnits(Compiler.java:501)
at org.eclipse.jdt.internal.compiler.Compiler.compile(Compiler.java:358)
at org.eclipse.jdt.internal.compiler.Compiler.compile(Compiler.java:309)
at org.eclipse.jdt.internal.core.builder.AbstractImageBuilder.compile(AbstractImageBuilder.java:486)
at org.eclipse.jdt.internal.core.builder.IncrementalImageBuilder.compile(IncrementalImageBuilder.java:387)
at org.eclipse.jdt.internal.core.builder.AbstractImageBuilder.compile(AbstractImageBuilder.java:377)
at org.eclipse.jdt.internal.core.builder.IncrementalImageBuilder.incrementalBuildLoop(IncrementalImageBuilder.java:207)
at org.eclipse.jdt.internal.core.builder.IncrementalImageBuilder.build(IncrementalImageBuilder.java:164)
at org.eclipse.jdt.internal.core.builder.JavaBuilder.buildDeltas(JavaBuilder.java:330)
at org.eclipse.jdt.internal.core.builder.JavaBuilder.build(JavaBuilder.java:247)
at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:1109)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:47)
at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:299)
at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:355)
at org.eclipse.core.internal.events.BuildManager$1.run(BuildManager.java:449)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:47)
at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:452)
at org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:564)
at org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:512)
at org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:594)
at org.eclipse.core.internal.events.AutoBuildJob.doBuild(AutoBuildJob.java:208)
at org.eclipse.core.internal.events.AutoBuildJob.run(AutoBuildJob.java:309)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)
Letting the AutoBuildJob thread finish, then letting the main thread finish, results in:
!ENTRY org.eclipse.core.resources 4 376 2025-10-29 16:51:21.855
!MESSAGE Marker id 60 not found.
!STACK 0
java.lang.IllegalStateException
at org.eclipse.core.internal.resources.Marker.checkInfo(Marker.java:71)
at org.eclipse.core.internal.resources.Marker.getType(Marker.java:228)
at org.eclipse.ui.texteditor.MarkerUtilities.getMarkerType(MarkerUtilities.java:259)
at org.eclipse.jdt.internal.ui.text.correction.CorrectionMarkerResolutionGenerator.internalHasResolutions(CorrectionMarkerResolutionGenerator.java:338)
at org.eclipse.jdt.internal.ui.text.correction.CorrectionMarkerResolutionGenerator.hasResolutions(CorrectionMarkerResolutionGenerator.java:327)
at org.eclipse.ui.internal.ide.registry.MarkerHelpRegistry.hasResolution(MarkerHelpRegistry.java:263)
at org.eclipse.ui.internal.ide.registry.MarkerHelpRegistry.hasResolutions(MarkerHelpRegistry.java:236)
at org.eclipse.ui.views.markers.MarkerField.annotateImage(MarkerField.java:86)
at org.eclipse.ui.internal.views.markers.MarkerProblemSeverityAndMessageField.update(MarkerProblemSeverityAndMessageField.java:83)
at org.eclipse.ui.internal.views.markers.MarkerColumnLabelProvider.update(MarkerColumnLabelProvider.java:54)
at org.eclipse.jface.viewers.ViewerColumn.refresh(ViewerColumn.java:149)
at org.eclipse.jface.viewers.AbstractTreeViewer.doUpdateItem(AbstractTreeViewer.java:999)
at org.eclipse.ui.internal.views.markers.MarkersTreeViewer.doUpdateItem(MarkersTreeViewer.java:62)
at org.eclipse.jface.viewers.AbstractTreeViewer$UpdateItemSafeRunnable.run(AbstractTreeViewer.java:156)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:47)
at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:169)
at org.eclipse.jface.viewers.AbstractTreeViewer.doUpdateItem(AbstractTreeViewer.java:1072)
at org.eclipse.jface.viewers.StructuredViewer$UpdateItemSafeRunnable.run(StructuredViewer.java:426)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:47)
at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:169)
at org.eclipse.jface.viewers.StructuredViewer.updateItem(StructuredViewer.java:2111)
at org.eclipse.jface.viewers.AbstractTreeViewer.createTreeItem(AbstractTreeViewer.java:892)
at org.eclipse.jface.viewers.AbstractTreeViewer.createChildren(AbstractTreeViewer.java:870)
at org.eclipse.jface.viewers.TreeViewer.createChildren(TreeViewer.java:612)
at org.eclipse.jface.viewers.AbstractTreeViewer.createChildren(AbstractTreeViewer.java:817)
at org.eclipse.jface.viewers.AbstractTreeViewer.handleTreeExpand(AbstractTreeViewer.java:1601)
at org.eclipse.jface.viewers.TreeViewer.handleTreeExpand(TreeViewer.java:905)
at org.eclipse.jface.viewers.AbstractTreeViewer$3.treeExpanded(AbstractTreeViewer.java:1613)
at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:170)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:91)
at org.eclipse.swt.widgets.Display.sendEvent(Display.java:5889)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1656)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1682)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1665)
at org.eclipse.swt.widgets.Tree.gtk_test_expand_row(Tree.java:2600)
at org.eclipse.swt.widgets.Widget.windowProc(Widget.java:2668)
at org.eclipse.swt.widgets.Display.windowProc(Display.java:6202)
at org.eclipse.swt.internal.gtk3.GTK3.gtk_main_do_event(Native Method)
at org.eclipse.swt.widgets.Display.eventProc(Display.java:1624)
at org.eclipse.swt.internal.gtk3.GTK3.gtk_main_iteration_do(Native Method)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:4542)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1147)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:339)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1038)
at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:153)
at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:677)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:339)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:583)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:173)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:185)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:219)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:149)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:115)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:467)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:298)
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
at java.base/java.lang.reflect.Method.invoke(Method.java:580)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:615)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:563)
at org.eclipse.equinox.launcher.Main.run(Main.java:1415)
at org.eclipse.equinox.launcher.Main.main(Main.java:1387)
To reproduce:
- Debug Eclipse in a new workspace.
- In the debuggee, create a Java project with a source file:
package test;
public class TestClass {
public static void main(String[] args) {
// int x;
}
}
- Set a breakpoint at the
returnline of:org.eclipse.jdt.internal.ui.text.correction.CorrectionMarkerResolutionGenerator.internalHasResolutions(IMarker) - Set a conditional breakpoint at the start of:
org.eclipse.core.internal.resources.ResourceInfo.setMarkers(MarkerSet), the condition is:value == null - In the debuggee, comment in the line:
// int x; - In the debuggee, comment out the same line, this will hit the breakpoint in:
ResourceInfo.setMarkers() - In the debuggee, expand the only collapsed row, this will hit the breakpoint in:
CorrectionMarkerResolutionGenerator - Set a breakpoint at:
org.eclipse.core.internal.resources.ResourceInfo.getMarkers(boolean) - Resume the main thread that is in
CorrectionMarkerResolutionGenerator, this will hit the breakpoint in:ResourceInfo.getMarkers() - You should now see the two stack traces from above, on the same object.
- Step over in the
AutoBuildJobthread. - Resume the main thread.
- Observe logged error.
See screen recording:
vokoscreenNG-2025-10-29_17-05-53.mp4
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't working