ecd-plugin / ecd

An Eclipse Plugin to integrate different Class Decompiler seamlessly into the development workflow
Eclipse Public License 1.0
263 stars 57 forks source link

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

Open Xefreh opened 5 months ago

Xefreh commented 5 months ago

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 commented 5 months ago

i'm running Windows 11 23H2

Xefreh commented 5 months ago

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 commented 5 months ago

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 commented 5 months ago

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 commented 5 months ago

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. https://github.com/ecd-plugin/ecd/blob/5a472fb9d99d01628b6a90298c150907652ddec8/org.sf.feeling.decompiler/src/org/sf/feeling/decompiler/editor/JavaDecompilerClassFileEditor.java#L347-L351

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 commented 5 months ago

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 commented 5 months ago

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 commented 5 months ago

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

Xefreh commented 5 months ago

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 commented 5 months ago

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

scmod commented 3 months ago

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 commented 3 months ago

I confirm that when:

=> 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 commented 2 months ago

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