Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Editor could not be initialized (First time install). #106

Open
Xefreh opened this issue Apr 20, 2024 · 16 comments
Open

Editor could not be initialized (First time install). #106

Xefreh opened this issue Apr 20, 2024 · 16 comments

Comments

@Xefreh
Copy link

Xefreh commented Apr 20, 2024

Hi, i'm creating this issue because I don't know why the plugin is not working as expected and throw exceptions that I don't understand.
I installed ecd java decompiler on my eclipse IDE and i've set in file associations ecd as default but when I open a .class file it throws errors.
image

@Xefreh
Copy link
Author

Xefreh commented Apr 20, 2024

i'm running Windows 11 23H2

@Xefreh
Copy link
Author

Xefreh commented Apr 20, 2024

so I just realized the plugin does decompile classes of librairies but cannot decompile an open class file, if this is normal close my issue thanks and have a nice day.

@jpstotz
Copy link
Collaborator

jpstotz commented Apr 20, 2024

Could you please post the full stack trace in text form of the "Unable to crate part" and the "CoreException" entry? The screenshot you have posted is truncated and does only show classes of Eclipse not of ECD. Thus the relation to ECD is unknown.

@Xefreh
Copy link
Author

Xefreh commented Apr 20, 2024

Sure, here is the stacktrace of the CoreException entry
org.eclipse.core.runtime.CoreException:
at org.sf.feeling.decompiler.editor.JavaDecompilerClassFileEditor.doSetInput(JavaDecompilerClassFileEditor.java:375)
at org.eclipse.ui.texteditor.AbstractTextEditor.lambda$1(AbstractTextEditor.java:3171)
at org.eclipse.jface.operation.ModalContext.runInCurrentThread(ModalContext.java:434)
at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:354)
at org.eclipse.ui.internal.WorkbenchWindow.lambda$7(WorkbenchWindow.java:2335)
at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:67)
at org.eclipse.ui.internal.WorkbenchWindow.run(WorkbenchWindow.java:2332)
at org.eclipse.ui.texteditor.AbstractTextEditor.internalInit(AbstractTextEditor.java:3188)
at org.eclipse.ui.texteditor.AbstractTextEditor.init(AbstractTextEditor.java:3213)
at org.eclipse.jdt.internal.ui.javaeditor.ClassFileEditor.lambda$0(ClassFileEditor.java:656)
at org.eclipse.jdt.core.JavaCore.lambda$0(JavaCore.java:6142)
at org.eclipse.jdt.internal.core.JavaModelManager.cacheZipFiles(JavaModelManager.java:5839)
at org.eclipse.jdt.internal.core.JavaModelManager.callReadOnly(JavaModelManager.java:5828)
at org.eclipse.jdt.core.JavaCore.callReadOnly(JavaCore.java:6126)
at org.eclipse.jdt.core.JavaCore.runReadOnly(JavaCore.java:6141)
at org.eclipse.jdt.internal.ui.javaeditor.ClassFileEditor.init(ClassFileEditor.java:656)
at org.eclipse.ui.internal.EditorReference.initialize(EditorReference.java:353)
at org.eclipse.ui.internal.e4.compatibility.CompatibilityPart.create(CompatibilityPart.java:344)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:568)
at org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:58)
at org.eclipse.e4.core.internal.di.InjectorImpl.processAnnotated(InjectorImpl.java:976)
at org.eclipse.e4.core.internal.di.InjectorImpl.processAnnotated(InjectorImpl.java:938)
at org.eclipse.e4.core.internal.di.InjectorImpl.internalInject(InjectorImpl.java:138)
at org.eclipse.e4.core.internal.di.InjectorImpl.internalMake(InjectorImpl.java:385)
at org.eclipse.e4.core.internal.di.InjectorImpl.make(InjectorImpl.java:311)
at org.eclipse.e4.core.contexts.ContextInjectionFactory.make(ContextInjectionFactory.java:203)
at org.eclipse.e4.ui.internal.workbench.ReflectionContributionFactory.createFromBundle(ReflectionContributionFactory.java:90)
at org.eclipse.e4.ui.internal.workbench.ReflectionContributionFactory.doCreate(ReflectionContributionFactory.java:59)
at org.eclipse.e4.ui.internal.workbench.ReflectionContributionFactory.create(ReflectionContributionFactory.java:42)
at org.eclipse.e4.ui.workbench.renderers.swt.ContributedPartRenderer.createWidget(ContributedPartRenderer.java:132)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.createWidget(PartRenderingEngine.java:991)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:658)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:762)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$2.run(PartRenderingEngine.java:727)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:47)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.createGui(PartRenderingEngine.java:711)
at org.eclipse.e4.ui.internal.workbench.PartServiceImpl.lambda$0(PartServiceImpl.java:105)
at org.eclipse.e4.ui.services.internal.events.UIEventHandler.lambda$0(UIEventHandler.java:38)
at org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.java:183)
at org.eclipse.ui.internal.UISynchronizer.syncExec(UISynchronizer.java:133)
at org.eclipse.swt.widgets.Display.syncExec(Display.java:4803)
at org.eclipse.e4.ui.workbench.swt.DisplayUISynchronize.syncExec(DisplayUISynchronize.java:34)
at org.eclipse.e4.ui.services.internal.events.UIEventHandler.handleEvent(UIEventHandler.java:38)
at org.eclipse.equinox.internal.event.EventHandlerWrapper.handleEvent(EventHandlerWrapper.java:206)
at org.eclipse.equinox.internal.event.EventHandlerTracker.dispatchEvent(EventHandlerTracker.java:201)
at org.eclipse.equinox.internal.event.EventHandlerTracker.dispatchEvent(EventHandlerTracker.java:1)
at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:151)
at org.eclipse.equinox.internal.event.EventAdminImpl.dispatchEvent(EventAdminImpl.java:131)
at org.eclipse.equinox.internal.event.EventAdminImpl.sendEvent(EventAdminImpl.java:73)
at org.eclipse.equinox.internal.event.EventComponent.sendEvent(EventComponent.java:44)
at org.eclipse.e4.ui.services.internal.events.EventBroker.send(EventBroker.java:55)
at org.eclipse.e4.ui.internal.workbench.UIEventPublisher.notifyChanged(UIEventPublisher.java:60)
at org.eclipse.emf.common.notify.impl.BasicNotifierImpl.eNotify(BasicNotifierImpl.java:424)
at org.eclipse.e4.ui.model.application.ui.impl.ElementContainerImpl.setSelectedElementGen(ElementContainerImpl.java:168)
at org.eclipse.e4.ui.model.application.ui.impl.ElementContainerImpl.setSelectedElement(ElementContainerImpl.java:187)
at org.eclipse.e4.ui.internal.workbench.ModelServiceImpl.showElementInWindow(ModelServiceImpl.java:654)
at org.eclipse.e4.ui.internal.workbench.ModelServiceImpl.bringToTop(ModelServiceImpl.java:618)
at org.eclipse.e4.ui.internal.workbench.PartServiceImpl.delegateBringToTop(PartServiceImpl.java:796)
at org.eclipse.e4.ui.internal.workbench.PartServiceImpl.bringToTop(PartServiceImpl.java:401)
at org.eclipse.e4.ui.internal.workbench.PartServiceImpl.showPart(PartServiceImpl.java:1271)
at org.eclipse.ui.internal.WorkbenchPage.busyOpenEditor(WorkbenchPage.java:3228)
at org.eclipse.ui.internal.WorkbenchPage.lambda$11(WorkbenchPage.java:3118)
at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:67)
at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:3116)
at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:3086)
at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:3069)
at org.eclipse.ui.ide.IDE.openEditorOnFileStore(IDE.java:1338)
at org.eclipse.ui.internal.ide.EditorAreaDropAdapter.asyncDrop(EditorAreaDropAdapter.java:134)
at org.eclipse.ui.internal.ide.EditorAreaDropAdapter.lambda$0(EditorAreaDropAdapter.java:87)
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:4047)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3663)
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:152)
at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:639)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:339)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:546)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:173)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:152)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:208)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:143)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:109)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:439)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:271)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:568)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:651)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:588)
at org.eclipse.equinox.launcher.Main.run(Main.java:1459)

@jpstotz
Copy link
Collaborator

jpstotz commented Apr 20, 2024

Looking at the code there is no way to miss this CoreException which means the code seems to be defect by design.

Even looking at the 9 year old code, the CoreException was already in place, so the logic hasn't changed during that time.

throw new CoreException( new Status( 8,
JavaDecompilerPlugin.PLUGIN_ID,
1,
"", //$NON-NLS-1$
null ) );

Commenting out this exception doesn't improve the situation, just the exception changes to java.lang.IllegalStateException: Its not allow to modify JavaModel during ReadOnly action.

From my perspective this is a bug, but as I am not familiar with this code and don't unterstand how it works I don't think that I will be able to fix it.

@diggernet
Copy link

I've run into this after upgrading to Eclipse 2024-03. It works in 2023-12. So there's some change in Eclipse that is breaking it. Maybe someone can reach out to Eclipse devs for help?

@Xefreh
Copy link
Author

Xefreh commented Apr 30, 2024

I've run into this after upgrading to Eclipse 2024-03. It works in 2023-12. So there's some change in Eclipse that is breaking it. Maybe someone can reach out to Eclipse devs for help?

Thanks for letting me know, ye it would be great.

@nbauma109
Copy link

I have a release which is compatible with 2024-03 on my own fork if you want to try.

@Xefreh
Copy link
Author

Xefreh commented May 7, 2024

I have a release which is compatible with 2024-03 on my own fork if you want to try.

thanks I'm going to try that later, did you made a PR ?

@nbauma109
Copy link

No, unfortunately, I have too many changes and a lot of conflicts.

@scmod
Copy link

scmod commented Jun 24, 2024

perhaps an eclipse bug?
[https://github.com/eclipse-jdt/eclipse.jdt.ui/issues/1443](eclipse issue)
image
currently uncheck the eclipse member sort may solve the problem, but a restart or uncheck the reuse code buffer then reopen class file is needed
my stacktrace is different

java.lang.IllegalStateException: Its not allow to modify JavaModel during ReadOnly action. delta=Java Model[*]: {CHILDREN}
	.decompiler[*]: {CHILDREN}
		src[*]: {CHILDREN}
			com.tencent.tsf.consul[*]: {CHILDREN}
				[Working copy] TsfConsulAutoConfiguration1719210114626.java[*]: {PRIMARY WORKING COPY}

	at org.eclipse.jdt.internal.core.DeltaProcessor.registerJavaModelDelta(DeltaProcessor.java:2026)

	at org.eclipse.jdt.internal.core.JavaModelOperation.addDelta(JavaModelOperation.java:176)

	at org.eclipse.jdt.internal.core.BecomeWorkingCopyOperation.executeOperation(BecomeWorkingCopyOperation.java:57)

	at org.eclipse.jdt.internal.core.JavaModelOperation.run(JavaModelOperation.java:740)

	at org.eclipse.jdt.internal.core.JavaModelOperation.runOperation(JavaModelOperation.java:805)

	at org.eclipse.jdt.internal.core.CompilationUnit.becomeWorkingCopy(CompilationUnit.java:92)

	at org.eclipse.jdt.internal.core.CompilationUnit.becomeWorkingCopy(CompilationUnit.java:99)

	at org.sf.feeling.decompiler.util.SortMemberUtil.sortMember(SortMemberUtil.java:83)

	at org.sf.feeling.decompiler.editor.BaseDecompilerSourceMapper.findSource(BaseDecompilerSourceMapper.java:201)

	at org.sf.feeling.decompiler.editor.DecompilerSourceMapper.findSource(DecompilerSourceMapper.java:65)

	at org.sf.feeling.decompiler.editor.JavaDecompilerClassFileEditor.doOpenBuffer(JavaDecompilerClassFileEditor.java:160)

	at org.sf.feeling.decompiler.editor.JavaDecompilerClassFileEditor.doOpenBuffer(JavaDecompilerClassFileEditor.java:141)

	at org.sf.feeling.decompiler.editor.JavaDecompilerClassFileEditor.doOpenBuffer(JavaDecompilerClassFileEditor.java:134)

	at org.sf.feeling.decompiler.editor.JavaDecompilerClassFileEditor.doSetInput(JavaDecompilerClassFileEditor.java:382)

	at org.eclipse.ui.texteditor.AbstractTextEditor.lambda$1(AbstractTextEditor.java:3171)

	at org.eclipse.jface.operation.ModalContext.runInCurrentThread(ModalContext.java:434)

	at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:354)

	at org.eclipse.ui.internal.WorkbenchWindow.lambda$7(WorkbenchWindow.java:2335)

	at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:67)

	at org.eclipse.ui.internal.WorkbenchWindow.run(WorkbenchWindow.java:2332)

	at org.eclipse.ui.texteditor.AbstractTextEditor.internalInit(AbstractTextEditor.java:3188)

	at org.eclipse.ui.texteditor.AbstractTextEditor.init(AbstractTextEditor.java:3213)

	at org.eclipse.jdt.internal.ui.javaeditor.ClassFileEditor.lambda$0(ClassFileEditor.java:656)

	at org.eclipse.jdt.core.JavaCore.lambda$0(JavaCore.java:6146)

	at org.eclipse.jdt.internal.core.JavaModelManager.cacheZipFiles(JavaModelManager.java:5765)

	at org.eclipse.jdt.internal.core.JavaModelManager.callReadOnly(JavaModelManager.java:5754)

	at org.eclipse.jdt.core.JavaCore.callReadOnly(JavaCore.java:6130)

	at org.eclipse.jdt.core.JavaCore.runReadOnly(JavaCore.java:6145)

	at org.eclipse.jdt.internal.ui.javaeditor.ClassFileEditor.init(ClassFileEditor.java:656)

	at org.eclipse.ui.internal.EditorReference.initialize(EditorReference.java:353)

	at org.eclipse.ui.internal.e4.compatibility.CompatibilityPart.create(CompatibilityPart.java:344)

	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.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:58)

	at org.eclipse.e4.core.internal.di.InjectorImpl.processAnnotated(InjectorImpl.java:977)

	at org.eclipse.e4.core.internal.di.InjectorImpl.processAnnotated(InjectorImpl.java:939)

	at org.eclipse.e4.core.internal.di.InjectorImpl.internalInject(InjectorImpl.java:139)

	at org.eclipse.e4.core.internal.di.InjectorImpl.internalMake(InjectorImpl.java:386)

	at org.eclipse.e4.core.internal.di.InjectorImpl.make(InjectorImpl.java:312)

	at org.eclipse.e4.core.contexts.ContextInjectionFactory.make(ContextInjectionFactory.java:203)

	at org.eclipse.e4.ui.internal.workbench.ReflectionContributionFactory.createFromBundle(ReflectionContributionFactory.java:90)

	at org.eclipse.e4.ui.internal.workbench.ReflectionContributionFactory.doCreate(ReflectionContributionFactory.java:59)

	at org.eclipse.e4.ui.internal.workbench.ReflectionContributionFactory.create(ReflectionContributionFactory.java:42)

	at org.eclipse.e4.ui.workbench.renderers.swt.ContributedPartRenderer.createWidget(ContributedPartRenderer.java:132)

	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.createWidget(PartRenderingEngine.java:991)

	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:658)

	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:762)

	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$2.run(PartRenderingEngine.java:727)

	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:47)

	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.createGui(PartRenderingEngine.java:711)

	at org.eclipse.e4.ui.internal.workbench.PartServiceImpl.lambda$0(PartServiceImpl.java:105)

	at org.eclipse.e4.ui.services.internal.events.UIEventHandler.lambda$0(UIEventHandler.java:38)

	at org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.java:183)

	at org.eclipse.ui.internal.UISynchronizer.syncExec(UISynchronizer.java:133)

	at org.eclipse.swt.widgets.Display.syncExec(Display.java:4814)

	at org.eclipse.e4.ui.workbench.swt.DisplayUISynchronize.syncExec(DisplayUISynchronize.java:34)

	at org.eclipse.e4.ui.services.internal.events.UIEventHandler.handleEvent(UIEventHandler.java:38)

	at org.eclipse.equinox.internal.event.EventHandlerWrapper.handleEvent(EventHandlerWrapper.java:206)

	at org.eclipse.equinox.internal.event.EventHandlerTracker.dispatchEvent(EventHandlerTracker.java:201)

	at org.eclipse.equinox.internal.event.EventHandlerTracker.dispatchEvent(EventHandlerTracker.java:1)

	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)

	at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:151)

	at org.eclipse.equinox.internal.event.EventAdminImpl.dispatchEvent(EventAdminImpl.java:131)

	at org.eclipse.equinox.internal.event.EventAdminImpl.sendEvent(EventAdminImpl.java:73)

	at org.eclipse.equinox.internal.event.EventComponent.sendEvent(EventComponent.java:44)

	at org.eclipse.e4.ui.services.internal.events.EventBroker.send(EventBroker.java:55)

	at org.eclipse.e4.ui.internal.workbench.UIEventPublisher.notifyChanged(UIEventPublisher.java:60)

	at org.eclipse.emf.common.notify.impl.BasicNotifierImpl.eNotify(BasicNotifierImpl.java:424)

	at org.eclipse.e4.ui.model.application.ui.impl.ElementContainerImpl.setSelectedElementGen(ElementContainerImpl.java:168)

	at org.eclipse.e4.ui.model.application.ui.impl.ElementContainerImpl.setSelectedElement(ElementContainerImpl.java:187)

	at org.eclipse.e4.ui.internal.workbench.ModelServiceImpl.showElementInWindow(ModelServiceImpl.java:654)

	at org.eclipse.e4.ui.internal.workbench.ModelServiceImpl.bringToTop(ModelServiceImpl.java:618)

	at org.eclipse.e4.ui.internal.workbench.PartServiceImpl.delegateBringToTop(PartServiceImpl.java:796)

	at org.eclipse.e4.ui.internal.workbench.PartServiceImpl.showPart(PartServiceImpl.java:1268)

	at org.eclipse.ui.internal.WorkbenchPage.busyOpenEditor(WorkbenchPage.java:3228)

	at org.eclipse.ui.internal.WorkbenchPage.lambda$11(WorkbenchPage.java:3118)

	at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:67)

	at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:3116)

	at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:3086)

	at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:3077)

	at org.eclipse.jdt.internal.ui.javaeditor.EditorUtility.openInEditor(EditorUtility.java:383)

	at org.eclipse.jdt.internal.ui.javaeditor.EditorUtility.openInEditor(EditorUtility.java:184)

	at org.eclipse.jdt.ui.JavaUI.openInEditor(JavaUI.java:787)

	at org.eclipse.jdt.internal.ui.actions.OpenTypeAction.runWithEvent(OpenTypeAction.java:93)

	at org.eclipse.jdt.internal.ui.actions.OpenTypeAction.runWithEvent(OpenTypeAction.java:170)

	at org.eclipse.ui.internal.handlers.ActionDelegateHandlerProxy.execute(ActionDelegateHandlerProxy.java:278)

	at org.eclipse.ui.internal.handlers.E4HandlerProxy.execute(E4HandlerProxy.java:98)

	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.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:58)

	at org.eclipse.e4.core.internal.di.InjectorImpl.invokeUsingClass(InjectorImpl.java:299)

	at org.eclipse.e4.core.internal.di.InjectorImpl.invoke(InjectorImpl.java:233)

	at org.eclipse.e4.core.contexts.ContextInjectionFactory.invoke(ContextInjectionFactory.java:174)

	at org.eclipse.e4.core.commands.internal.HandlerServiceHandler.execute(HandlerServiceHandler.java:165)

	at org.eclipse.core.commands.Command.executeWithChecks(Command.java:488)

	at org.eclipse.core.commands.ParameterizedCommand.executeWithChecks(ParameterizedCommand.java:485)

	at org.eclipse.e4.core.commands.internal.HandlerServiceImpl.executeHandler(HandlerServiceImpl.java:204)

	at org.eclipse.e4.ui.bindings.keys.KeyBindingDispatcher.executeCommand(KeyBindingDispatcher.java:308)

	at org.eclipse.e4.ui.bindings.keys.KeyBindingDispatcher.press(KeyBindingDispatcher.java:569)

	at org.eclipse.e4.ui.bindings.keys.KeyBindingDispatcher.processKeyEvent(KeyBindingDispatcher.java:644)

	at org.eclipse.e4.ui.bindings.keys.KeyBindingDispatcher.filterKeySequenceBindings(KeyBindingDispatcher.java:439)

	at org.eclipse.e4.ui.bindings.keys.KeyBindingDispatcher$KeyDownFilter.handleEvent(KeyBindingDispatcher.java:96)

	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:91)

	at org.eclipse.swt.widgets.Display.filterEvent(Display.java:1294)

	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1159)

	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1184)

	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1169)

	at org.eclipse.swt.widgets.Widget.sendKeyEvent(Widget.java:1211)

	at org.eclipse.swt.widgets.Widget.sendKeyEvent(Widget.java:1207)

	at org.eclipse.swt.widgets.Widget.wmChar(Widget.java:1688)

	at org.eclipse.swt.widgets.Control.WM_CHAR(Control.java:4834)

	at org.eclipse.swt.widgets.Canvas.WM_CHAR(Canvas.java:345)

	at org.eclipse.swt.widgets.Control.windowProc(Control.java:4712)

	at org.eclipse.swt.widgets.Canvas.windowProc(Canvas.java:340)

	at org.eclipse.swt.widgets.Display.windowProc(Display.java:5050)

	at org.eclipse.swt.internal.win32.OS.DispatchMessage(Native Method)

	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3671)

	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:152)

	at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:639)

	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:339)

	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:546)

	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:173)

	at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:152)

	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:208)

	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:143)

	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:109)

	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:439)

	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:271)

	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:668)

	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:605)

	at org.eclipse.equinox.launcher.Main.run(Main.java:1481)

@cristian-spiescu
Copy link

I confirm that when:

  • downloading a fresh eclipse package (2024-06)
  • installing this plugin
  • opening a .class file

=> the editor is throwing the error mentioned above:

java.lang.IllegalStateException: Its not allow to modify JavaModel during ReadOnly action. delta=Java Model[*]: {CHILDREN}
	 [*]: {CHILDREN}
		<project root>[*]: {CHILDREN}
			<default>[*]: {CHILDREN}
				[Working copy] test1719648748685.java[+]: {}
	at org.eclipse.jdt.internal.core.DeltaProcessor.registerJavaModelDelta(DeltaProcessor.java:2026)

@c-koell
Copy link

c-koell commented Jul 10, 2024

We see the same exception as above with eclipse 2024-06.

@galmok
Copy link

galmok commented Dec 11, 2024

I have seen this IllegalStateException but it seems to be influenced by VMware (I run Eclipse in Ubunu 22.04 client vm). When I disabled VM 3D Hardware acceleration this exception went away (I still cannot make the decompiler work). I have switched to use Xorg instead of Wayland, and I have also added this variable to my .profile:

# disable hardware acceleration for webkit
export WEBKIT_DISABLE_COMPOSITING_MODE=1

I am using Eclipse 2024-06. I have used this decompiler on Eclipse 23-03 previously and it works fine there.

@cristian-spiescu
Copy link

In my case, I use eclipse from WSL, i.e. virtualization. Corroborating w/ your input: it seems to be related to running Eclipse virtualized?

@galmok
Copy link

galmok commented Dec 11, 2024

I don't think it is the virtualization as such that is the problem. Rather I think the issue is the use of hardware acceleration.

In Eclipse I have had some fairly major problems if hardware acceleration is turned on. Also in Ubuntu client I have had problems, like the lock screen not rendering or the desktop GUI being almost unusable. The driver for Ubuntu is apparently messed up, but I am used the correct one. I could imaging the same issue creeping in using WSL (it uses a different driver, but the problem could be the same).

Can you disable hardware acceleration? Perhaps try with the environment variable I gave (it may not be enough).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

8 participants