Skip to content

Having multiple groovy compiler options available can cause Eclipse crash on start up #1660

@harrisric

Description

@harrisric

I have experienced this with previous Eclipse and Groovy versions (e.g. Eclipse 2023-09) but this is currently being seen when setting up a clean Eclipse 2025-12 installation for Java/Groovy development.
I had set up the installation with all 3 groovy compiler versions available (3.0, 4.0, 5.0) and selected 3.0 as the default.

Reproduction seems fairly consistent;

  • Start up Eclipse
  • import a (maven) project (which included java and groovy)
  • open a java file in the editor
  • close Eclipse
  • re-open Eclipse

The crash that occurs leaves a log file with an error for example:

!ENTRY org.eclipse.core.jobs 4 2 2026-03-11 14:24:35.897
!MESSAGE An internal error occurred during: "Delayed Reconciler startup for org.eclipse.jdt.internal.ui.text.JavaReconciler".
!STACK 0
java.lang.NullPointerException: Cannot invoke "org.eclipse.ui.IWorkbenchWindow.getShell()" because the return value of "org.eclipse.ui.internal.PartSite.getWorkbenchWindow()" is null
	at org.eclipse.ui.internal.PartSite.getShell(PartSite.java:441)
	at org.eclipse.jdt.internal.ui.javaeditor.CompilationUnitEditor.reconciled(CompilationUnitEditor.java:1679)
	at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.reconciled(JavaReconcilingStrategy.java:228)
	at org.eclipse.jdt.internal.ui.text.JavaCompositeReconcilingStrategy.reconciled(JavaCompositeReconcilingStrategy.java:171)
	at org.eclipse.jdt.internal.ui.text.JavaCompositeReconcilingStrategy.initialReconcile(JavaCompositeReconcilingStrategy.java:147)
	at org.eclipse.jface.text.reconciler.MonoReconciler.initialProcess(MonoReconciler.java:98)
	at org.eclipse.jdt.internal.ui.text.JavaReconciler.initialProcess(JavaReconciler.java:398)
	at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundWorker.lambda$0(AbstractReconciler.java:237)
	at org.eclipse.core.runtime.jobs.Job$1.run(Job.java:166)
	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)

!ENTRY org.eclipse.e4.ui.workbench 4 0 2026-03-11 14:24:38.103
!MESSAGE Exception in org.eclipse.e4.ui.internal.workbench.UIExtensionTracker.doRemove: org.eclipse.core.runtime.InvalidRegistryObjectException: Invalid registry object
!STACK 0
org.eclipse.core.runtime.InvalidRegistryObjectException: Invalid registry object
	at org.eclipse.core.internal.registry.TemporaryObjectManager.getObject(TemporaryObjectManager.java:109)
	at org.eclipse.core.internal.registry.BaseExtensionHandle.getExtension(BaseExtensionHandle.java:34)
	at org.eclipse.core.internal.registry.BaseExtensionHandle.getExtensionPointUniqueIdentifier(BaseExtensionHandle.java:63)
	at org.eclipse.ui.internal.registry.ActionSetRegistry.removeExtension(ActionSetRegistry.java:267)
	at org.eclipse.e4.ui.internal.workbench.UIExtensionTracker.lambda$0(UIExtensionTracker.java:41)
	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:4137)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3753)
	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)

Changing the installation so that there is only a single groovy compiler fixes this such that there is no crash on start-up.

This potentially looks as if it is related to this issue reported in the Eclipse project: eclipse-platform/eclipse.platform.ui#2889

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions