eclipse-jdt / eclipse-jdt/eclipse.jdt.ui

Unhandled event loop exception

Open
#2,275 2 comments 0 reactions 0 assignees View on GitHub
Dominant language
Java
Stars
59
Forks
127
Avg merge
23h 30m
Merged PRs (30d)
35

Description

Trace:
```
org.eclipse.core.runtime.AssertionFailedException: null argument:
at org.eclipse.core.runtime.Assert.isNotNull(Assert.java:93)
at org.eclipse.core.runtime.Assert.isNotNull(Assert.java:80)
at org.eclipse.jface.viewers.AbstractTreeViewer.assertElementsNotNull(AbstractTreeViewer.java:1501)
at org.eclipse.jface.viewers.AbstractTreeViewer.getRawChildren(AbstractTreeViewer.java:1476)
at org.eclipse.jface.viewers.TreeViewer.getRawChildren(TreeViewer.java:352)
at org.eclipse.jface.viewers.StructuredViewer.getFilteredChildren(StructuredViewer.java:848)
at org.eclipse.jdt.internal.ui.javaeditor.JavaOutlinePage$JavaOutlineViewer.isExpandable(JavaOutlinePage.java:428)
at org.eclipse.jface.viewers.AbstractTreeViewer.isExpandable(AbstractTreeViewer.java:2298)
at org.eclipse.jface.viewers.AbstractTreeViewer.updatePlus(AbstractTreeViewer.java:3119)
at org.eclipse.jface.viewers.TreeViewer.updatePlus(TreeViewer.java:796)
at org.eclipse.jface.viewers.AbstractTreeViewer.updateChildren(AbstractTreeViewer.java:3011)
at org.eclipse.jface.viewers.AbstractTreeViewer.internalRefreshStruct(AbstractTreeViewer.java:2030)
at org.eclipse.jface.viewers.TreeViewer.internalRefreshStruct(TreeViewer.java:684)
at org.eclipse.jface.viewers.AbstractTreeViewer.internalRefreshStruct(AbstractTreeViewer.java:2036)
at org.eclipse.jface.viewers.TreeViewer.internalRefreshStruct(TreeViewer.java:684)
at org.eclipse.jface.viewers.AbstractTreeViewer.internalRefresh(AbstractTreeViewer.java:2003)
at org.eclipse.jface.viewers.AbstractTreeViewer.internalRefresh(AbstractTreeViewer.java:1960)
at org.eclipse.jface.viewers.StructuredViewer.lambda$3(StructuredViewer.java:1485)
at org.eclipse.jface.viewers.StructuredViewer.preservingSelection(StructuredViewer.java:1391)
at org.eclipse.jface.viewers.TreeViewer.preservingSelection(TreeViewer.java:367)
at org.eclipse.jface.viewers.StructuredViewer.preservingSelection(StructuredViewer.java:1352)
at org.eclipse.jface.viewers.StructuredViewer.refresh(StructuredViewer.java:1485)
at org.eclipse.jface.viewers.ColumnViewer.refresh(ColumnViewer.java:532)
at org.eclipse.jface.viewers.StructuredViewer.refresh(StructuredViewer.java:1446)
at org.eclipse.jdt.internal.ui.javaeditor.JavaOutlinePage$JavaOutlineViewer.reconcile(JavaOutlinePage.java:401)
at org.eclipse.jdt.internal.ui.javaeditor.JavaOutlinePage$ElementChangedListener.lambda$0(JavaOutlinePage.java:187)
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:4111)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3727)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1151)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:339)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1042)
at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:153)
at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:678)
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:627)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:575)
at org.eclipse.equinox.launcher.Main.run(Main.java:1431)
```

No special steps to reproduce: edited code (moved packages, renamed classes, minor code refactorings).

About:
```
Eclipse IDE for Java Developers (includes Incubating components)

Version: 2025-06 (4.36.0)
Build id: 20250605-1316
```

Contributor guide

Open the contributing guide

Research direction

Start by reproducing the exception after moving packages or renaming classes, then inspect JavaOutlinePage$JavaOutlineViewer.reconcile and isExpandable in the stack trace. Trace the null element reaching AbstractTreeViewer.assertElementsNotNull; done means the outline refresh completes without an unhandled event-loop exception.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
desktop, tooling
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.