Bug 569286 - NPE in AbstractTextEditor from time to time
Summary: NPE in AbstractTextEditor from time to time
Status: NEW
Alias: None
Product: Platform
Classification: Eclipse Project
Component: Text (show other bugs)
Version: 4.18   Edit
Hardware: PC Windows 10
: P3 normal (vote)
Target Milestone: ---   Edit
Assignee: Platform-Text-Inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords:
: 237680 550336 571138 574501 577944 (view as bug list)
Depends on:
Blocks:
 
Reported: 2020-11-30 05:16 EST by Vikas Chandra CLA
Modified: 2023-10-06 04:11 EDT (History)
11 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Vikas Chandra CLA 2020-11-30 05:16:07 EST
java.lang.NullPointerException
	at org.eclipse.ui.texteditor.AbstractTextEditor$TextEditorSavable.isDirty(AbstractTextEditor.java:7165)
	at org.eclipse.ui.internal.Workbench.getFilteredSaveables(Workbench.java:3447)
	at org.eclipse.ui.internal.Workbench.saveAll(Workbench.java:3420)
	at org.eclipse.ui.ide.IDE$1.run(IDE.java:1494)
	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:45)
	at org.eclipse.ui.ide.IDE.saveAllEditors(IDE.java:1482)


I see this NPE from time to time. No particular steps but when I close few projects and open few others, sometimes I see this.
Comment 1 Thomas Wolf CLA 2020-11-30 06:04:38 EST
See also bug 550336 and bug 237680. Seems to be a very old bug.
Comment 2 Vikas Chandra CLA 2020-11-30 23:27:18 EST
Thanks Thomas, mentioned in the fixed one,
Comment 3 Andrey Loskutov CLA 2021-06-28 08:58:59 EDT
*** Bug 571138 has been marked as a duplicate of this bug. ***
Comment 4 Andrey Loskutov CLA 2021-06-28 08:59:14 EDT
*** Bug 237680 has been marked as a duplicate of this bug. ***
Comment 5 Andrey Loskutov CLA 2021-06-28 08:59:32 EDT
*** Bug 574501 has been marked as a duplicate of this bug. ***
Comment 6 Andrey Loskutov CLA 2021-06-28 09:00:35 EDT
*** Bug 550336 has been marked as a duplicate of this bug. ***
Comment 7 Jörg Kubitz CLA 2021-06-28 09:02:48 EDT
from sourcecode:
"// This should not happen. Code added to handle the below bug.
 // https://bugs.eclipse.org/bugs/show_bug.cgi?id=550336"

ill propose a fix
Comment 8 Eclipse Genie CLA 2021-06-28 09:05:35 EDT
New Gerrit change created: https://git.eclipse.org/r/c/platform/eclipse.platform.text/+/182543
Comment 9 Thomas Wolf CLA 2021-12-22 10:58:25 EST
*** Bug 577944 has been marked as a duplicate of this bug. ***
Comment 10 Sebastian Zarnekow CLA 2022-01-03 12:11:36 EST
I'm seeing this quite often recently, e.g. via

java.lang.NullPointerException: Cannot invoke "org.eclipse.ui.texteditor.ITextEditor.isDirty()" because "this.fTextEditor" is null
	at org.eclipse.ui.texteditor.AbstractTextEditor$TextEditorSavable.isDirty(AbstractTextEditor.java:7166)
	at org.eclipse.ui.internal.Workbench.getFilteredSaveables(Workbench.java:3447)
	at org.eclipse.ui.internal.Workbench.saveAll(Workbench.java:3420)
	at org.eclipse.egit.ui.UIUtils.saveAllEditors(UIUtils.java:908)
	at org.eclipse.egit.ui.internal.staging.StagingView.internalCommit(StagingView.java:4494)
	at org.eclipse.egit.ui.internal.staging.StagingView.commit(StagingView.java:4453)
	at org.eclipse.egit.ui.internal.staging.StagingView.access$29(StagingView.java:4448)
	at org.eclipse.egit.ui.internal.staging.StagingView$22.widgetSelected(StagingView.java:1188)
	at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:252)
	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:89)

I looked at a memory snapshot and there's a dangling TextEditorSavable in the org.eclipse.ui.internal.SaveablesList.modelMap used as a key which comes to my surprise since the key should probably be the workbench part, e.g. the editor itself. Maybe this helps to track the issue down.
Comment 11 Christoph Laeubrich CLA 2022-01-27 10:11:54 EST
I see this when I open ErrorLog+Git Staging + and push my changes...
Comment 13 Jörg Kubitz CLA 2022-04-29 01:58:25 EDT
I just hit the error during git commit:

java.lang.IllegalStateException: Disconnected before saving. Please post stacktrace to https://bugs.eclipse.org/bugs/show_bug.cgi?id=569286 org.eclipse.jdt.internal.ui.javaeditor.CompilationUnitEditor Test_org_eclipse_swt_widgets_Display.java
	at org.eclipse.ui.texteditor.AbstractTextEditor$TextEditorSavable.disconnectEditor(AbstractTextEditor.java:7130)
	at org.eclipse.ui.texteditor.AbstractTextEditor.dispose(AbstractTextEditor.java:4324)
	at org.eclipse.ui.texteditor.AbstractDecoratedTextEditor.dispose(AbstractDecoratedTextEditor.java:392)
	at org.eclipse.jdt.internal.ui.javaeditor.JavaEditor.dispose(JavaEditor.java:2666)
	at org.eclipse.jdt.internal.ui.javaeditor.CompilationUnitEditor.dispose(CompilationUnitEditor.java:1513)
	at org.eclipse.ui.internal.e4.compatibility.CompatibilityPart.invalidate(CompatibilityPart.java:264)
	at org.eclipse.ui.internal.e4.compatibility.CompatibilityPart.destroy(CompatibilityPart.java:421)
	at jdk.internal.reflect.GeneratedMethodAccessor101.invoke(Unknown Source)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
	at org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:58)
	at org.eclipse.e4.core.internal.di.InjectorImpl.processAnnotated(InjectorImpl.java:995)
	at org.eclipse.e4.core.internal.di.InjectorImpl.processAnnotated(InjectorImpl.java:960)
	at org.eclipse.e4.core.internal.di.InjectorImpl.uninject(InjectorImpl.java:201)
	at org.eclipse.e4.core.internal.di.Requestor.uninject(Requestor.java:177)
	at org.eclipse.e4.core.internal.contexts.ContextObjectSupplier$ContextInjectionListener.update(ContextObjectSupplier.java:89)
	at org.eclipse.e4.core.internal.contexts.TrackableComputationExt.update(TrackableComputationExt.java:103)
	at org.eclipse.e4.core.internal.contexts.EclipseContext.removeListenersTo(EclipseContext.java:485)
	at org.eclipse.e4.core.contexts.ContextInjectionFactory.uninject(ContextInjectionFactory.java:184)
	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeRemoveGui(PartRenderingEngine.java:947)
	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$4.run(PartRenderingEngine.java:861)
	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:45)
	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.removeGui(PartRenderingEngine.java:845)
	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.subscribeTopicToBeRendered(PartRenderingEngine.java:185)
	at jdk.internal.reflect.GeneratedMethodAccessor63.invoke(Unknown Source)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
	at org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:58)
	at org.eclipse.e4.core.di.internal.extensions.EventObjectSupplier$DIEventHandler.handleEvent(EventObjectSupplier.java:92)
	at org.eclipse.equinox.internal.event.EventHandlerWrapper.handleEvent(EventHandlerWrapper.java:205)
	at org.eclipse.equinox.internal.event.EventHandlerTracker.dispatchEvent(EventHandlerTracker.java:203)
	at org.eclipse.equinox.internal.event.EventHandlerTracker.dispatchEvent(EventHandlerTracker.java:1)
	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:234)
	at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:151)
	at org.eclipse.equinox.internal.event.EventAdminImpl.dispatchEvent(EventAdminImpl.java:133)
	at org.eclipse.equinox.internal.event.EventAdminImpl.sendEvent(EventAdminImpl.java:75)
	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:63)
	at org.eclipse.emf.common.notify.impl.BasicNotifierImpl.eNotify(BasicNotifierImpl.java:424)
	at org.eclipse.e4.ui.model.application.ui.impl.UIElementImpl.setToBeRendered(UIElementImpl.java:314)
	at org.eclipse.e4.ui.internal.workbench.PartServiceImpl.hidePart(PartServiceImpl.java:1401)
	at org.eclipse.e4.ui.internal.workbench.PartServiceImpl.hidePart(PartServiceImpl.java:1331)
	at org.eclipse.e4.ui.workbench.renderers.swt.StackRenderer.closeSiblingParts(StackRenderer.java:1557)
	at org.eclipse.e4.ui.workbench.renderers.swt.StackRenderer.closeSideParts(StackRenderer.java:1504)
	at org.eclipse.e4.ui.workbench.renderers.swt.StackRenderer.lambda$12(StackRenderer.java:1334)
	at org.eclipse.swt.events.SelectionListener$1.widgetSelected(SelectionListener.java:84)
	at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:252)
	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:89)
	at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4261)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1063)
	at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4078)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3655)
	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1155)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:338)
	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1046)
	at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:155)
	at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:644)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:338)
	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:551)
	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:156)
	at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:152)
	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:203)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:136)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:402)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:255)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:659)
	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:596)
	at org.eclipse.equinox.launcher.Main.run(Main.java:1467)
	Suppressed: java.lang.IllegalStateException: isDirty check after disconnect
		at org.eclipse.ui.texteditor.AbstractTextEditor$TextEditorSavable.isDirty(AbstractTextEditor.java:7179)
		at org.eclipse.ui.internal.Workbench.getFilteredSaveables(Workbench.java:3447)
		at org.eclipse.ui.internal.Workbench.saveAll(Workbench.java:3420)
		at org.eclipse.egit.ui.UIUtils.saveAllEditors(UIUtils.java:898)
		at org.eclipse.egit.ui.internal.staging.StagingView.internalCommit(StagingView.java:4648)
		at org.eclipse.egit.ui.internal.staging.StagingView.commit(StagingView.java:4607)
		at org.eclipse.egit.ui.internal.staging.StagingView$23.widgetSelected(StagingView.java:1256)
		... 27 more

eclipse.buildId=4.24.0.I20220407-0240
java.version=11.0.14.1
java.vendor=Eclipse Adoptium
BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=de_DE
Framework arguments:  -product org.eclipse.epp.package.committers.product
Command-line arguments:  -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.committers.product
Comment 14 Jörg Kubitz CLA 2022-04-29 02:19:33 EDT
@Thomas Wolf: can you please take a look at the disconnect stacktrace?
Comment 15 Thomas Wolf CLA 2022-04-30 05:48:51 EDT
No idea. The more I dig into this Saveables code, the less I understand. Is there some documentation on all this, and how this is supposed to work with the saveable events and shared saveables, and CompareEditors? 

Can we try to figure out whether this happens only if there were comparison editors involved? Like: Java source is open in an editor, then a comparison of that same source with a previous version from git (or from the index, or a comparison index against HEAD (staged viewer)) is opened, then either the source editor or the comparison editor or both are closed? Or does it occur only if a compare editor is open? Or only if an open CompareEditor was re-used (showing one comparison first, then later being re-used to show another comparison)? 

Compare editors do stuff with Saveables, and EGit's GitCompareFileRevisionEditorInput has some special handling that frankly I've never quite understood.

OTOH, there have been reports about it from 2008. EGit became an Eclipse project only in 2009, so perhaps the problem is indeed not related to EGit, but to a bug in Platform/Teams and the way compare editors in general deal with Saveables.
Comment 16 Jörg Kubitz CLA 2022-04-30 06:28:18 EDT
I have no clue where the root reason is. The reports in 2008 where from using the "Synchronize view" / "Team/CVS". All reports have in common that it starts with saveAllEditors() triggered from some version control system action.
As far as i remember i had no comparison editor open when it happend the last time - I had one open but closed it before commit.
Comment 17 Thomas Wolf CLA 2022-04-30 06:55:50 EDT
(In reply to Jörg Kubitz from comment #16)
> As far as i remember i had no comparison editor open when it happend the
> last time - I had one open but closed it before commit.

That's exactly what I meant. If something goes wrong with reference counting because for instance that compare editor somehow handles Saveables not quite correctly, perhaps that causes a stray Saveable to remain in that SaveablesList.

I also don't quite understand the code in WorkbenchPage.closeEditors(IEditorReference[] refArray, boolean save). This calls SaveablesList.preCloseParts(), which fills a postCloseInfo collection, and later calls SaveablesList.postClose(postCloseInfo). But it seems to me that preCloseParts() will never add non-dirty Saveables to postCloseInfo, so such Saveables might remain in the list, and have their fTextEditor set to null when the part is disposed. I also wonder if one doesn't need to fire a PRE_CLOSE event, too.
Comment 18 Jörg Kubitz CLA 2022-04-30 06:58:37 EDT
(In reply to Thomas Wolf from comment #17)
> If something goes wrong with reference counting
> because for instance that compare editor somehow handles Saveables not quite
> correctly, perhaps that causes a stray Saveable to remain in that
> SaveablesList.

Sounds reasonable - as far as i remember i always had a compare editor open before or while the error occured.
Comment 19 Jonah Graham CLA 2023-08-10 16:05:23 EDT
As requested. I can't reproduce, but I saw it when I closed a project that had the editor open on a file in the project. (CDT project)


!ENTRY org.eclipse.ui.workbench.texteditor 4 0 2023-08-10 16:03:23.412
!MESSAGE Disconnected before saving. Please post stacktrace to https://bugs.eclipse.org/bugs/show_bug.cgi?id=569286 org.eclipse.cdt.internal.ui.editor.CEditor auttools.c
!STACK 0
java.lang.IllegalStateException: Disconnected before saving. Please post stacktrace to https://bugs.eclipse.org/bugs/show_bug.cgi?id=569286 org.eclipse.cdt.internal.ui.editor.CEditor auttools.c
	at org.eclipse.ui.texteditor.AbstractTextEditor$TextEditorSavable.disconnectEditor(AbstractTextEditor.java:7148)
	at org.eclipse.ui.texteditor.AbstractTextEditor.dispose(AbstractTextEditor.java:4329)
	at org.eclipse.ui.texteditor.AbstractDecoratedTextEditor.dispose(AbstractDecoratedTextEditor.java:383)
	at org.eclipse.ui.editors.text.TextEditor.dispose(TextEditor.java:94)
	at org.eclipse.cdt.internal.ui.editor.CEditor.dispose(CEditor.java:2197)
	at org.eclipse.ui.internal.e4.compatibility.CompatibilityPart.invalidate(CompatibilityPart.java:264)
	at org.eclipse.ui.internal.e4.compatibility.CompatibilityPart.destroy(CompatibilityPart.java:421)
	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:987)
	at org.eclipse.e4.core.internal.di.InjectorImpl.processAnnotated(InjectorImpl.java:952)
	at org.eclipse.e4.core.internal.di.InjectorImpl.uninject(InjectorImpl.java:193)
	at org.eclipse.e4.core.internal.di.Requestor.uninject(Requestor.java:177)
	at org.eclipse.e4.core.internal.contexts.ContextObjectSupplier$ContextInjectionListener.update(ContextObjectSupplier.java:89)
	at org.eclipse.e4.core.internal.contexts.TrackableComputationExt.update(TrackableComputationExt.java:103)
	at org.eclipse.e4.core.internal.contexts.EclipseContext.removeListenersTo(EclipseContext.java:487)
	at org.eclipse.e4.core.contexts.ContextInjectionFactory.uninject(ContextInjectionFactory.java:184)
	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeRemoveGui(PartRenderingEngine.java:947)
	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$4.run(PartRenderingEngine.java:861)
	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:45)
	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.removeGui(PartRenderingEngine.java:845)
	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.subscribeTopicToBeRendered(PartRenderingEngine.java:185)
	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.di.internal.extensions.EventObjectSupplier$DIEventHandler.handleEvent(EventObjectSupplier.java:92)
	at org.eclipse.equinox.internal.event.EventHandlerWrapper.handleEvent(EventHandlerWrapper.java:205)
	at org.eclipse.equinox.internal.event.EventHandlerTracker.dispatchEvent(EventHandlerTracker.java:203)
	at org.eclipse.equinox.internal.event.EventHandlerTracker.dispatchEvent(EventHandlerTracker.java:1)
	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:234)
	at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:151)
	at org.eclipse.equinox.internal.event.EventAdminImpl.dispatchEvent(EventAdminImpl.java:133)
	at org.eclipse.equinox.internal.event.EventAdminImpl.sendEvent(EventAdminImpl.java:75)
	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:63)
	at org.eclipse.emf.common.notify.impl.BasicNotifierImpl.eNotify(BasicNotifierImpl.java:424)
	at org.eclipse.e4.ui.model.application.ui.impl.UIElementImpl.setToBeRendered(UIElementImpl.java:314)
	at org.eclipse.e4.ui.internal.workbench.PartServiceImpl.hidePart(PartServiceImpl.java:1407)
	at org.eclipse.ui.internal.WorkbenchPage.hidePart(WorkbenchPage.java:1543)
	at org.eclipse.ui.internal.WorkbenchPage.hidePart(WorkbenchPage.java:1495)
	at org.eclipse.ui.internal.WorkbenchPage.closeEditors(WorkbenchPage.java:1465)
	at org.eclipse.ui.actions.CloseResourceAction.closeEditors(CloseResourceAction.java:433)
	at org.eclipse.ui.actions.CloseResourceAction$1.run(CloseResourceAction.java:358)
	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:45)
	at org.eclipse.ui.actions.CloseResourceAction.lambda$2(CloseResourceAction.java:349)
	at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:67)
	at org.eclipse.ui.actions.CloseResourceAction.closeMatchingEditors(CloseResourceAction.java:362)
	at org.eclipse.ui.actions.DeleteResourceAction.run(DeleteResourceAction.java:453)
	at org.eclipse.ui.actions.BaseSelectionListenerAction.runWithEvent(BaseSelectionListenerAction.java:171)
	at org.eclipse.jface.commands.ActionHandler.execute(ActionHandler.java:121)
	at org.eclipse.ui.internal.handlers.E4HandlerProxy.execute(E4HandlerProxy.java:97)
	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.invokeUsingClass(InjectorImpl.java:309)
	at org.eclipse.e4.core.internal.di.InjectorImpl.invoke(InjectorImpl.java:243)
	at org.eclipse.e4.core.contexts.ContextInjectionFactory.invoke(ContextInjectionFactory.java:173)
	at org.eclipse.e4.core.commands.internal.HandlerServiceHandler.execute(HandlerServiceHandler.java:156)
	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:213)
	at org.eclipse.e4.ui.bindings.keys.KeyBindingDispatcher.executeCommand(KeyBindingDispatcher.java:308)
	at org.eclipse.e4.ui.bindings.keys.KeyBindingDispatcher.press(KeyBindingDispatcher.java:580)
	at org.eclipse.e4.ui.bindings.keys.KeyBindingDispatcher.processKeyEvent(KeyBindingDispatcher.java:655)
	at org.eclipse.e4.ui.bindings.keys.OutOfOrderListener.handleEvent(OutOfOrderListener.java:75)
	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:89)
	at org.eclipse.swt.widgets.Display.sendEvent(Display.java:5855)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1529)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1555)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1538)
	at org.eclipse.swt.widgets.Widget.sendKeyEvent(Widget.java:1577)
	at org.eclipse.swt.widgets.Widget.gtk_key_press_event(Widget.java:937)
	at org.eclipse.swt.widgets.Control.gtk_key_press_event(Control.java:4050)
	at org.eclipse.swt.widgets.Composite.gtk_key_press_event(Composite.java:931)
	at org.eclipse.swt.widgets.Tree.gtk_key_press_event(Tree.java:2372)
	at org.eclipse.swt.widgets.Widget.windowProc(Widget.java:2507)
	at org.eclipse.swt.widgets.Control.windowProc(Control.java:6884)
	at org.eclipse.swt.widgets.Tree.windowProc(Tree.java:4285)
	at org.eclipse.swt.widgets.Display.windowProc(Display.java:6163)
	at org.eclipse.swt.internal.gtk3.GTK3.gtk_main_do_event(Native Method)
	at org.eclipse.swt.widgets.Display.eventProc(Display.java:1597)
	at org.eclipse.swt.internal.gtk3.GTK3.gtk_main_iteration_do(Native Method)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:4514)
	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1155)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:342)
	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1046)
	at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:155)
	at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:643)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:342)
	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:550)
	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:171)
	at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:152)
	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:203)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:136)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:402)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:255)
	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)
	at org.eclipse.equinox.launcher.Main.main(Main.java:1432)
	Suppressed: java.lang.IllegalStateException: isDirty check after disconnect
		at org.eclipse.ui.texteditor.AbstractTextEditor$TextEditorSavable.isDirty(AbstractTextEditor.java:7197)
		at org.eclipse.ui.internal.Workbench.getFilteredSaveables(Workbench.java:3431)
		at org.eclipse.ui.internal.Workbench.saveAll(Workbench.java:3404)
		at org.eclipse.ui.ide.IDE$1.run(IDE.java:1458)
		at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:45)
		at org.eclipse.ui.ide.IDE.saveAllEditors(IDE.java:1446)
		at org.eclipse.ui.actions.CloseResourceAction.run(CloseResourceAction.java:190)
		at org.eclipse.ui.actions.BaseSelectionListenerAction.runWithEvent(BaseSelectionListenerAction.java:171)
		at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:580)
		at org.eclipse.jface.action.ActionContributionItem.lambda$4(ActionContributionItem.java:414)
		at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:89)
		at org.eclipse.swt.widgets.Display.sendEvent(Display.java:5855)
		at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1529)
		at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:5065)
		at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:4517)
		... 22 more
Comment 20 Marc Mazas CLA 2023-08-11 04:24:50 EDT
As requested in the error log:

eclipse.buildId=4.28.0.I20230605-0440
java.version=17.0.8
java.vendor=Eclipse Adoptium
BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=fr_FR
Framework arguments:  -product org.eclipse.epp.package.java.product
Command-line arguments:  -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.java.product


java.lang.IllegalStateException: Disconnected before saving. Please post stacktrace to https://bugs.eclipse.org/bugs/show_bug.cgi?id=569286 org.eclipse.jdt.internal.ui.javaeditor.CompilationUnitEditor JTBParser.java
	at org.eclipse.ui.texteditor.AbstractTextEditor$TextEditorSavable.disconnectEditor(AbstractTextEditor.java:7148)
	at org.eclipse.ui.texteditor.AbstractTextEditor.dispose(AbstractTextEditor.java:4329)
	at org.eclipse.ui.texteditor.AbstractDecoratedTextEditor.dispose(AbstractDecoratedTextEditor.java:383)
	at org.eclipse.jdt.internal.ui.javaeditor.JavaEditor.dispose(JavaEditor.java:2668)
	at org.eclipse.jdt.internal.ui.javaeditor.CompilationUnitEditor.dispose(CompilationUnitEditor.java:1517)
	at org.eclipse.ui.internal.e4.compatibility.CompatibilityPart.invalidate(CompatibilityPart.java:264)
	at org.eclipse.ui.internal.e4.compatibility.CompatibilityPart.destroy(CompatibilityPart.java:421)
	at jdk.internal.reflect.GeneratedMethodAccessor313.invoke(Unknown Source)
	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:987)
	at org.eclipse.e4.core.internal.di.InjectorImpl.processAnnotated(InjectorImpl.java:952)
	at org.eclipse.e4.core.internal.di.InjectorImpl.uninject(InjectorImpl.java:193)
	at org.eclipse.e4.core.internal.di.Requestor.uninject(Requestor.java:177)
	at org.eclipse.e4.core.internal.contexts.ContextObjectSupplier$ContextInjectionListener.update(ContextObjectSupplier.java:89)
	at org.eclipse.e4.core.internal.contexts.TrackableComputationExt.update(TrackableComputationExt.java:103)
	at org.eclipse.e4.core.internal.contexts.EclipseContext.removeListenersTo(EclipseContext.java:487)
	at org.eclipse.e4.core.contexts.ContextInjectionFactory.uninject(ContextInjectionFactory.java:184)
	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeRemoveGui(PartRenderingEngine.java:947)
	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$4.run(PartRenderingEngine.java:861)
	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:45)
	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.removeGui(PartRenderingEngine.java:845)
	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.subscribeTopicToBeRendered(PartRenderingEngine.java:185)
	at jdk.internal.reflect.GeneratedMethodAccessor283.invoke(Unknown Source)
	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.di.internal.extensions.EventObjectSupplier$DIEventHandler.handleEvent(EventObjectSupplier.java:92)
	at org.eclipse.equinox.internal.event.EventHandlerWrapper.handleEvent(EventHandlerWrapper.java:205)
	at org.eclipse.equinox.internal.event.EventHandlerTracker.dispatchEvent(EventHandlerTracker.java:203)
	at org.eclipse.equinox.internal.event.EventHandlerTracker.dispatchEvent(EventHandlerTracker.java:1)
	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:234)
	at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:151)
	at org.eclipse.equinox.internal.event.EventAdminImpl.dispatchEvent(EventAdminImpl.java:133)
	at org.eclipse.equinox.internal.event.EventAdminImpl.sendEvent(EventAdminImpl.java:75)
	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:63)
	at org.eclipse.emf.common.notify.impl.BasicNotifierImpl.eNotify(BasicNotifierImpl.java:424)
	at org.eclipse.e4.ui.model.application.ui.impl.UIElementImpl.setToBeRendered(UIElementImpl.java:314)
	at org.eclipse.e4.ui.internal.workbench.PartServiceImpl.hidePart(PartServiceImpl.java:1404)
	at org.eclipse.ui.internal.WorkbenchPage.hidePart(WorkbenchPage.java:1543)
	at org.eclipse.ui.internal.WorkbenchPage.hidePart(WorkbenchPage.java:1495)
	at org.eclipse.ui.internal.WorkbenchPage.closeEditors(WorkbenchPage.java:1465)
	at org.eclipse.ui.internal.WorkbenchPage.closeEditor(WorkbenchPage.java:1589)
	at org.eclipse.ui.texteditor.AbstractTextEditor.lambda$3(AbstractTextEditor.java:4272)
	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.jface.operation.ModalContext$ModalContextThread.block(ModalContext.java:166)
	at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:368)
	at org.eclipse.jface.dialogs.ProgressMonitorDialog.run(ProgressMonitorDialog.java:470)
	at org.eclipse.ui.internal.progress.ProgressMonitorJobsDialog.run(ProgressMonitorJobsDialog.java:230)
	at org.eclipse.ui.internal.progress.ProgressManager.lambda$26(ProgressManager.java:836)
	at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:67)
	at org.eclipse.ui.internal.progress.ProgressManager.busyCursorWhile(ProgressManager.java:869)
	at org.eclipse.ui.internal.progress.ProgressManager.busyCursorWhile(ProgressManager.java:845)
	at org.eclipse.ui.internal.SaveableHelper.waitForBackgroundSaveJobs(SaveableHelper.java:442)
	at org.eclipse.ui.internal.SaveablesList.promptForSaving(SaveablesList.java:660)
	at org.eclipse.ui.internal.SaveablesList.promptForSaving(SaveablesList.java:629)
	at org.eclipse.ui.internal.SaveablesList.promptForSavingIfNecessary(SaveablesList.java:608)
	at org.eclipse.ui.internal.SaveablesList.preCloseParts(SaveablesList.java:550)
	at org.eclipse.ui.internal.SaveablesList.preCloseParts(SaveablesList.java:484)
	at org.eclipse.ui.internal.SaveablesList.preCloseParts(SaveablesList.java:479)
	at org.eclipse.ui.internal.SaveablesList.preCloseParts(SaveablesList.java:474)
	at org.eclipse.ui.internal.WorkbenchWindow$2.save(WorkbenchWindow.java:566)
	at org.eclipse.e4.ui.internal.workbench.PartServiceImpl.savePart(PartServiceImpl.java:1448)
	at org.eclipse.e4.ui.workbench.renderers.swt.StackRenderer.closePart(StackRenderer.java:1316)
	at org.eclipse.e4.ui.workbench.renderers.swt.StackRenderer$3.close(StackRenderer.java:1177)
	at org.eclipse.swt.custom.CTabFolder.onMouse(CTabFolder.java:1970)
	at org.eclipse.swt.custom.CTabFolder.lambda$0(CTabFolder.java:337)
	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:89)
	at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4274)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1066)
	at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4072)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3660)
	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1155)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:338)
	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1046)
	at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:155)
	at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:643)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:338)
	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:550)
	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:171)
	at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:152)
	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:203)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:136)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:402)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:255)
	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:659)
	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:596)
	at org.eclipse.equinox.launcher.Main.run(Main.java:1467)
	Suppressed: java.lang.IllegalStateException: isDirty check after disconnect
		at org.eclipse.ui.texteditor.AbstractTextEditor$TextEditorSavable.isDirty(AbstractTextEditor.java:7197)
		at org.eclipse.ui.internal.SaveableHelper.waitForBackgroundSaveJobs(SaveableHelper.java:451)
		... 39 more
Comment 21 Marc Mazas CLA 2023-08-11 04:27:20 EDT
10 seconds before appeared 12 FrameworkEvent ERROR

org.osgi.framework.ServiceException: Exception in org.eclipse.osgi.internal.framework.XMLParsingServiceFactory.getService()
	at org.eclipse.osgi.internal.serviceregistry.ServiceFactoryUse.factoryGetService(ServiceFactoryUse.java:228)
	at org.eclipse.osgi.internal.serviceregistry.ServiceFactoryUse.getService(ServiceFactoryUse.java:114)
	at org.eclipse.osgi.internal.serviceregistry.ServiceConsumer$2.getService(ServiceConsumer.java:48)
	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.getService(ServiceRegistrationImpl.java:568)
	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.getService(ServiceRegistry.java:542)
	at org.eclipse.osgi.internal.framework.BundleContextImpl.getService(BundleContextImpl.java:660)
	at org.eclipse.core.runtime.ServiceCaller.lambda$7(ServiceCaller.java:388)
	at java.base/java.util.Optional.map(Optional.java:260)
	at org.eclipse.core.runtime.ServiceCaller.getCurrent(ServiceCaller.java:387)
	at org.eclipse.core.runtime.ServiceCaller.callOnce(ServiceCaller.java:158)
	at org.eclipse.core.runtime.ServiceCaller.callOnce(ServiceCaller.java:140)
	at org.eclipse.core.internal.content.XMLRootHandler.parseContents(XMLRootHandler.java:158)
	at org.eclipse.core.runtime.content.XMLRootElementContentDescriber2.fillContentProperties(XMLRootElementContentDescriber2.java:206)
	at org.eclipse.core.runtime.content.XMLRootElementContentDescriber2.checkCriteria(XMLRootElementContentDescriber2.java:135)
	at org.eclipse.core.runtime.content.XMLRootElementContentDescriber2.describe(XMLRootElementContentDescriber2.java:174)
	at org.eclipse.core.internal.content.ContentTypeCatalog.describe(ContentTypeCatalog.java:271)
	at org.eclipse.core.internal.content.ContentTypeCatalog.collectMatchingByContents(ContentTypeCatalog.java:246)
	at org.eclipse.core.internal.content.ContentTypeCatalog.internalFindContentTypesFor(ContentTypeCatalog.java:470)
	at org.eclipse.core.internal.content.ContentTypeCatalog.internalFindContentTypesFor(ContentTypeCatalog.java:529)
	at org.eclipse.core.internal.content.ContentTypeCatalog.findContentTypesFor(ContentTypeCatalog.java:363)
	at org.eclipse.core.internal.content.ContentTypeMatcher.findContentTypesFor(ContentTypeMatcher.java:57)
	at org.eclipse.lsp4e.LSPEclipseUtils.getDocumentContentTypes(LSPEclipseUtils.java:1258)
	at org.eclipse.lsp4e.LanguageServiceAccessor.getLSWrappers(LanguageServiceAccessor.java:390)
	at org.eclipse.lsp4e.LanguageServers$LanguageServerDocumentExecutor.getServers(LanguageServers.java:272)
	at org.eclipse.lsp4e.LanguageServers.executeOnServers(LanguageServers.java:403)
	at org.eclipse.lsp4e.LanguageServers.collectAll(LanguageServers.java:76)
	at org.eclipse.lsp4e.operations.inlayhint.InlayHintProvider.provideCodeMinings(InlayHintProvider.java:52)
	at org.eclipse.lsp4e.operations.inlayhint.InlayHintProvider.provideCodeMinings(InlayHintProvider.java:80)
	at org.eclipse.jface.internal.text.codemining.CodeMiningManager.lambda$2(CodeMiningManager.java:189)
	at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
	at java.base/java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:992)
	at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)
	at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
	at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:921)
	at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
	at java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:682)
	at org.eclipse.jface.internal.text.codemining.CodeMiningManager.getCodeMinings(CodeMiningManager.java:195)
	at org.eclipse.jface.internal.text.codemining.CodeMiningManager.updateCodeMinings(CodeMiningManager.java:140)
	at org.eclipse.jface.internal.text.codemining.CodeMiningManager.run(CodeMiningManager.java:129)
	at org.eclipse.jface.text.source.SourceViewer.updateCodeMinings(SourceViewer.java:1333)
	at org.eclipse.ui.internal.editors.text.codemining.annotation.AnnotationCodeMiningProvider$AnnotationModelListener.modelChanged(AnnotationCodeMiningProvider.java:133)
	at org.eclipse.jface.text.source.AnnotationModel.fireModelChanged(AnnotationModel.java:592)
	at org.eclipse.jface.text.source.AnnotationModel$InternalModelListener.modelChanged(AnnotationModel.java:256)
	at org.eclipse.jface.text.source.AnnotationModel.fireModelChanged(AnnotationModel.java:592)
	at org.eclipse.jface.text.source.AnnotationModel.fireModelChanged(AnnotationModel.java:558)
	at org.eclipse.ui.texteditor.ResourceMarkerAnnotationModel.update(ResourceMarkerAnnotationModel.java:111)
	at org.eclipse.ui.texteditor.ResourceMarkerAnnotationModel$ResourceChangeListener.resourceChanged(ResourceMarkerAnnotationModel.java:55)
	at org.eclipse.core.internal.events.NotificationManager$1.run(NotificationManager.java:307)
	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:45)
	at org.eclipse.core.internal.events.NotificationManager.notify(NotificationManager.java:297)
	at org.eclipse.core.internal.events.NotificationManager.broadcastChanges(NotificationManager.java:160)
	at org.eclipse.core.internal.resources.Workspace.broadcastPostChange(Workspace.java:388)
	at org.eclipse.core.internal.resources.Workspace.endOperation(Workspace.java:1516)
	at org.eclipse.core.internal.resources.Marker.setAttribute(Marker.java:274)
	at org.eclipse.lsp4e.operations.codeactions.LSPCodeActionMarkerResolution.lambda$7(LSPCodeActionMarkerResolution.java:141)
	at java.base/java.util.concurrent.CompletableFuture$UniAccept.tryFire(CompletableFuture.java:718)
	at java.base/java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:510)
	at java.base/java.util.concurrent.CompletableFuture.postFire(CompletableFuture.java:614)
	at java.base/java.util.concurrent.CompletableFuture$UniApply.tryFire(CompletableFuture.java:653)
	at java.base/java.util.concurrent.CompletableFuture$Completion.exec(CompletableFuture.java:483)
	at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:373)
	at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1182)
	at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1655)
	at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1622)
	at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:165)
Caused by: java.lang.SecurityException: setContextClassLoader
	at java.base/java.util.concurrent.ForkJoinWorkerThread$InnocuousForkJoinWorkerThread.setContextClassLoader(ForkJoinWorkerThread.java:210)
	at org.eclipse.osgi.internal.framework.XMLParsingServiceFactory.getService(XMLParsingServiceFactory.java:50)
	at org.eclipse.osgi.internal.serviceregistry.ServiceFactoryUse$1.run(ServiceFactoryUse.java:218)
	at java.base/java.security.AccessController.doPrivileged(AccessController.java:318)
	at org.eclipse.osgi.internal.serviceregistry.ServiceFactoryUse.factoryGetService(ServiceFactoryUse.java:215)
	... 64 more
Comment 22 Jörg Kubitz CLA 2023-08-11 04:32:46 EDT
@Marc Mazas
can you also post the exception that caused the ServiceException?
Comment 23 Marc Mazas CLA 2023-08-11 12:33:10 EDT
Sorry, I deleted the event log.
If it comes again, I'll do.
Comment 24 Marc Mazas CLA 2023-08-14 11:56:47 EDT
Hi
Here under another FrameworkEvent ERROR.

I am running an ant build (in eclipse jre, launched as external tools), of mostly java tasks, that sometimes fail and return errors (-2048, 1).
This build process regenerates java source files, compiles and runs tests.
The Eclipse automatic build can then occur on refresh.
I edit xml, java, jtb/jj files (custom plugin with nature/builder for these grammar files).

!ENTRY org.eclipse.ant.launching 4 0 2023-08-14 16:36:05.791
!MESSAGE Failure of Background Ant Build
!STACK 1
org.eclipse.core.runtime.CoreException: C:\Devs\GitRepo\jtb~github\build.xml:149: The following error occurred while executing this line:
C:\Devs\GitRepo\jtb~github\build.xml:160: The following error occurred while executing this line:
C:\Devs\GitRepo\jtb~github\build.xml:207: The following error occurred while executing this line:
C:\Devs\GitRepo\jtb~github\build.xml:255: The following error occurred while executing this line:
C:\Devs\GitRepo\jtb~github\build.xml:276: Java returned: -2048
	at org.eclipse.ant.core.AntRunner.handleInvocationTargetException(AntRunner.java:443)
	at org.eclipse.ant.core.AntRunner.run(AntRunner.java:375)
	at org.eclipse.ant.internal.launching.launchConfigurations.AntLaunchDelegate.lambda$0(AntLaunchDelegate.java:280)
	at java.base/java.lang.Thread.run(Thread.java:833)
Caused by: C:\Devs\GitRepo\jtb~github\build.xml:149: The following error occurred while executing this line:
C:\Devs\GitRepo\jtb~github\build.xml:160: The following error occurred while executing this line:
C:\Devs\GitRepo\jtb~github\build.xml:207: The following error occurred while executing this line:
C:\Devs\GitRepo\jtb~github\build.xml:255: The following error occurred while executing this line:
C:\Devs\GitRepo\jtb~github\build.xml:276: Java returned: -2048
	at org.apache.tools.ant.ProjectHelper.addLocationToBuildException(ProjectHelper.java:577)
	at org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:440)
	at org.apache.tools.ant.taskdefs.CallTarget.execute(CallTarget.java:106)
	at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:299)
	at jdk.internal.reflect.GeneratedMethodAccessor110.invoke(Unknown Source)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:568)
	at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:99)
	at org.apache.tools.ant.Task.perform(Task.java:350)
	at org.apache.tools.ant.Target.execute(Target.java:449)
	at org.apache.tools.ant.Target.performTasks(Target.java:470)
	at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1401)
	at org.apache.tools.ant.Project.executeTarget(Project.java:1374)
	at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
	at org.eclipse.ant.internal.core.ant.EclipseDefaultExecutor.executeTargets(EclipseDefaultExecutor.java:34)
	at org.apache.tools.ant.Project.executeTargets(Project.java:1264)
	at org.eclipse.ant.internal.core.ant.InternalAntRunner.run(InternalAntRunner.java:717)
	at org.eclipse.ant.internal.core.ant.InternalAntRunner.run(InternalAntRunner.java:533)
	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.ant.core.AntRunner.run(AntRunner.java:369)
	... 2 more
!SUBENTRY 1 org.eclipse.ant.core 4 1 2023-08-14 16:36:05.792
!MESSAGE C:\Devs\GitRepo\jtb~github\build.xml:149: The following error occurred while executing this line:
C:\Devs\GitRepo\jtb~github\build.xml:160: The following error occurred while executing this line:
C:\Devs\GitRepo\jtb~github\build.xml:207: The following error occurred while executing this line:
C:\Devs\GitRepo\jtb~github\build.xml:255: The following error occurred while executing this line:
C:\Devs\GitRepo\jtb~github\build.xml:276: Java returned: -2048
!STACK 0
C:\Devs\GitRepo\jtb~github\build.xml:149: The following error occurred while executing this line:
C:\Devs\GitRepo\jtb~github\build.xml:160: The following error occurred while executing this line:
C:\Devs\GitRepo\jtb~github\build.xml:207: The following error occurred while executing this line:
C:\Devs\GitRepo\jtb~github\build.xml:255: The following error occurred while executing this line:
C:\Devs\GitRepo\jtb~github\build.xml:276: Java returned: -2048
	at org.apache.tools.ant.ProjectHelper.addLocationToBuildException(ProjectHelper.java:577)
	at org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:440)
	at org.apache.tools.ant.taskdefs.CallTarget.execute(CallTarget.java:106)
	at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:299)
	at jdk.internal.reflect.GeneratedMethodAccessor110.invoke(Unknown Source)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:568)
	at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:99)
	at org.apache.tools.ant.Task.perform(Task.java:350)
	at org.apache.tools.ant.Target.execute(Target.java:449)
	at org.apache.tools.ant.Target.performTasks(Target.java:470)
	at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1401)
	at org.apache.tools.ant.Project.executeTarget(Project.java:1374)
	at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
	at org.eclipse.ant.internal.core.ant.EclipseDefaultExecutor.executeTargets(EclipseDefaultExecutor.java:34)
	at org.apache.tools.ant.Project.executeTargets(Project.java:1264)
	at org.eclipse.ant.internal.core.ant.InternalAntRunner.run(InternalAntRunner.java:717)
	at org.eclipse.ant.internal.core.ant.InternalAntRunner.run(InternalAntRunner.java:533)
	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.ant.core.AntRunner.run(AntRunner.java:369)
	at org.eclipse.ant.internal.launching.launchConfigurations.AntLaunchDelegate.lambda$0(AntLaunchDelegate.java:280)
	at java.base/java.lang.Thread.run(Thread.java:833)

!ENTRY org.eclipse.ant.launching 4 0 2023-08-14 16:37:07.259
!MESSAGE Failure of Background Ant Build
!STACK 1
org.eclipse.core.runtime.CoreException: C:\Devs\GitRepo\jtb~github\build.xml:149: The following error occurred while executing this line:
C:\Devs\GitRepo\jtb~github\build.xml:160: The following error occurred while executing this line:
C:\Devs\GitRepo\jtb~github\build.xml:207: The following error occurred while executing this line:
C:\Devs\GitRepo\jtb~github\build.xml:255: The following error occurred while executing this line:
C:\Devs\GitRepo\jtb~github\build.xml:276: Java returned: -2048
	at org.eclipse.ant.core.AntRunner.handleInvocationTargetException(AntRunner.java:443)
	at org.eclipse.ant.core.AntRunner.run(AntRunner.java:375)
	at org.eclipse.ant.internal.launching.launchConfigurations.AntLaunchDelegate.lambda$0(AntLaunchDelegate.java:280)
	at java.base/java.lang.Thread.run(Thread.java:833)
Caused by: C:\Devs\GitRepo\jtb~github\build.xml:149: The following error occurred while executing this line:
C:\Devs\GitRepo\jtb~github\build.xml:160: The following error occurred while executing this line:
C:\Devs\GitRepo\jtb~github\build.xml:207: The following error occurred while executing this line:
C:\Devs\GitRepo\jtb~github\build.xml:255: The following error occurred while executing this line:
C:\Devs\GitRepo\jtb~github\build.xml:276: Java returned: -2048
	at org.apache.tools.ant.ProjectHelper.addLocationToBuildException(ProjectHelper.java:577)
	at org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:440)
	at org.apache.tools.ant.taskdefs.CallTarget.execute(CallTarget.java:106)
	at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:299)
	at jdk.internal.reflect.GeneratedMethodAccessor196.invoke(Unknown Source)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:568)
	at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:99)
	at org.apache.tools.ant.Task.perform(Task.java:350)
	at org.apache.tools.ant.Target.execute(Target.java:449)
	at org.apache.tools.ant.Target.performTasks(Target.java:470)
	at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1401)
	at org.apache.tools.ant.Project.executeTarget(Project.java:1374)
	at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
	at org.eclipse.ant.internal.core.ant.EclipseDefaultExecutor.executeTargets(EclipseDefaultExecutor.java:34)
	at org.apache.tools.ant.Project.executeTargets(Project.java:1264)
	at org.eclipse.ant.internal.core.ant.InternalAntRunner.run(InternalAntRunner.java:717)
	at org.eclipse.ant.internal.core.ant.InternalAntRunner.run(InternalAntRunner.java:533)
	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.ant.core.AntRunner.run(AntRunner.java:369)
	... 2 more
!SUBENTRY 1 org.eclipse.ant.core 4 1 2023-08-14 16:37:07.259
!MESSAGE C:\Devs\GitRepo\jtb~github\build.xml:149: The following error occurred while executing this line:
C:\Devs\GitRepo\jtb~github\build.xml:160: The following error occurred while executing this line:
C:\Devs\GitRepo\jtb~github\build.xml:207: The following error occurred while executing this line:
C:\Devs\GitRepo\jtb~github\build.xml:255: The following error occurred while executing this line:
C:\Devs\GitRepo\jtb~github\build.xml:276: Java returned: -2048
!STACK 0
C:\Devs\GitRepo\jtb~github\build.xml:149: The following error occurred while executing this line:
C:\Devs\GitRepo\jtb~github\build.xml:160: The following error occurred while executing this line:
C:\Devs\GitRepo\jtb~github\build.xml:207: The following error occurred while executing this line:
C:\Devs\GitRepo\jtb~github\build.xml:255: The following error occurred while executing this line:
C:\Devs\GitRepo\jtb~github\build.xml:276: Java returned: -2048
	at org.apache.tools.ant.ProjectHelper.addLocationToBuildException(ProjectHelper.java:577)
	at org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:440)
	at org.apache.tools.ant.taskdefs.CallTarget.execute(CallTarget.java:106)
	at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:299)
	at jdk.internal.reflect.GeneratedMethodAccessor196.invoke(Unknown Source)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:568)
	at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:99)
	at org.apache.tools.ant.Task.perform(Task.java:350)
	at org.apache.tools.ant.Target.execute(Target.java:449)
	at org.apache.tools.ant.Target.performTasks(Target.java:470)
	at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1401)
	at org.apache.tools.ant.Project.executeTarget(Project.java:1374)
	at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
	at org.eclipse.ant.internal.core.ant.EclipseDefaultExecutor.executeTargets(EclipseDefaultExecutor.java:34)
	at org.apache.tools.ant.Project.executeTargets(Project.java:1264)
	at org.eclipse.ant.internal.core.ant.InternalAntRunner.run(InternalAntRunner.java:717)
	at org.eclipse.ant.internal.core.ant.InternalAntRunner.run(InternalAntRunner.java:533)
	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.ant.core.AntRunner.run(AntRunner.java:369)
	at org.eclipse.ant.internal.launching.launchConfigurations.AntLaunchDelegate.lambda$0(AntLaunchDelegate.java:280)
	at java.base/java.lang.Thread.run(Thread.java:833)

!ENTRY org.eclipse.ant.launching 4 0 2023-08-14 16:37:40.301
!MESSAGE Failure of Background Ant Build
!STACK 1
org.eclipse.core.runtime.CoreException: C:\Devs\GitRepo\jtb~github\build.xml:292: Java returned: 1
	at org.eclipse.ant.core.AntRunner.handleInvocationTargetException(AntRunner.java:443)
	at org.eclipse.ant.core.AntRunner.run(AntRunner.java:375)
	at org.eclipse.ant.internal.launching.launchConfigurations.AntLaunchDelegate.lambda$0(AntLaunchDelegate.java:280)
	at java.base/java.lang.Thread.run(Thread.java:833)
Caused by: C:\Devs\GitRepo\jtb~github\build.xml:292: Java returned: 1
	at org.apache.tools.ant.taskdefs.Java.execute(Java.java:113)
	at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:299)
	at jdk.internal.reflect.GeneratedMethodAccessor236.invoke(Unknown Source)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:568)
	at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:99)
	at org.apache.tools.ant.Task.perform(Task.java:350)
	at org.apache.tools.ant.Target.execute(Target.java:449)
	at org.apache.tools.ant.Target.performTasks(Target.java:470)
	at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1401)
	at org.apache.tools.ant.Project.executeTarget(Project.java:1374)
	at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
	at org.eclipse.ant.internal.core.ant.EclipseDefaultExecutor.executeTargets(EclipseDefaultExecutor.java:34)
	at org.apache.tools.ant.Project.executeTargets(Project.java:1264)
	at org.eclipse.ant.internal.core.ant.InternalAntRunner.run(InternalAntRunner.java:717)
	at org.eclipse.ant.internal.core.ant.InternalAntRunner.run(InternalAntRunner.java:533)
	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.ant.core.AntRunner.run(AntRunner.java:369)
	... 2 more
!SUBENTRY 1 org.eclipse.ant.core 4 1 2023-08-14 16:37:40.302
!MESSAGE C:\Devs\GitRepo\jtb~github\build.xml:292: Java returned: 1
!STACK 0
C:\Devs\GitRepo\jtb~github\build.xml:292: Java returned: 1
	at org.apache.tools.ant.taskdefs.Java.execute(Java.java:113)
	at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:299)
	at jdk.internal.reflect.GeneratedMethodAccessor236.invoke(Unknown Source)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:568)
	at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:99)
	at org.apache.tools.ant.Task.perform(Task.java:350)
	at org.apache.tools.ant.Target.execute(Target.java:449)
	at org.apache.tools.ant.Target.performTasks(Target.java:470)
	at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1401)
	at org.apache.tools.ant.Project.executeTarget(Project.java:1374)
	at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
	at org.eclipse.ant.internal.core.ant.EclipseDefaultExecutor.executeTargets(EclipseDefaultExecutor.java:34)
	at org.apache.tools.ant.Project.executeTargets(Project.java:1264)
	at org.eclipse.ant.internal.core.ant.InternalAntRunner.run(InternalAntRunner.java:717)
	at org.eclipse.ant.internal.core.ant.InternalAntRunner.run(InternalAntRunner.java:533)
	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.ant.core.AntRunner.run(AntRunner.java:369)
	at org.eclipse.ant.internal.launching.launchConfigurations.AntLaunchDelegate.lambda$0(AntLaunchDelegate.java:280)
	at java.base/java.lang.Thread.run(Thread.java:833)

!ENTRY org.eclipse.osgi 4 0 2023-08-14 16:46:34.284
!MESSAGE FrameworkEvent ERROR
!STACK 0
org.osgi.framework.ServiceException: Exception in org.eclipse.osgi.internal.framework.XMLParsingServiceFactory.getService()
	at org.eclipse.osgi.internal.serviceregistry.ServiceFactoryUse.factoryGetService(ServiceFactoryUse.java:228)
	at org.eclipse.osgi.internal.serviceregistry.ServiceFactoryUse.getService(ServiceFactoryUse.java:114)
	at org.eclipse.osgi.internal.serviceregistry.ServiceConsumer$2.getService(ServiceConsumer.java:48)
	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.getService(ServiceRegistrationImpl.java:568)
	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.getService(ServiceRegistry.java:542)
	at org.eclipse.osgi.internal.framework.BundleContextImpl.getService(BundleContextImpl.java:660)
	at org.eclipse.core.runtime.ServiceCaller.lambda$7(ServiceCaller.java:388)
	at java.base/java.util.Optional.map(Optional.java:260)
	at org.eclipse.core.runtime.ServiceCaller.getCurrent(ServiceCaller.java:387)
	at org.eclipse.core.runtime.ServiceCaller.callOnce(ServiceCaller.java:158)
	at org.eclipse.core.runtime.ServiceCaller.callOnce(ServiceCaller.java:140)
	at org.eclipse.core.internal.content.XMLRootHandler.parseContents(XMLRootHandler.java:158)
	at org.eclipse.core.runtime.content.XMLRootElementContentDescriber2.fillContentProperties(XMLRootElementContentDescriber2.java:206)
	at org.eclipse.core.runtime.content.XMLRootElementContentDescriber2.checkCriteria(XMLRootElementContentDescriber2.java:135)
	at org.eclipse.core.runtime.content.XMLRootElementContentDescriber2.describe(XMLRootElementContentDescriber2.java:174)
	at org.eclipse.core.internal.content.ContentTypeCatalog.describe(ContentTypeCatalog.java:271)
	at org.eclipse.core.internal.content.ContentTypeCatalog.collectMatchingByContents(ContentTypeCatalog.java:246)
	at org.eclipse.core.internal.content.ContentTypeCatalog.internalFindContentTypesFor(ContentTypeCatalog.java:470)
	at org.eclipse.core.internal.content.ContentTypeCatalog.internalFindContentTypesFor(ContentTypeCatalog.java:529)
	at org.eclipse.core.internal.content.ContentTypeCatalog.findContentTypesFor(ContentTypeCatalog.java:363)
	at org.eclipse.core.internal.content.ContentTypeMatcher.findContentTypesFor(ContentTypeMatcher.java:57)
	at org.eclipse.lsp4e.LSPEclipseUtils.getDocumentContentTypes(LSPEclipseUtils.java:1258)
	at org.eclipse.lsp4e.DocumentContentSynchronizer.<init>(DocumentContentSynchronizer.java:100)
	at org.eclipse.lsp4e.LanguageServerWrapper.lambda$13(LanguageServerWrapper.java:616)
	at java.base/java.util.concurrent.CompletableFuture$UniAccept.tryFire(CompletableFuture.java:718)
	at java.base/java.util.concurrent.CompletableFuture$Completion.exec(CompletableFuture.java:483)
	at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:373)
	at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1182)
	at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1655)
	at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1622)
	at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:165)
Caused by: java.lang.SecurityException: setContextClassLoader
	at java.base/java.util.concurrent.ForkJoinWorkerThread$InnocuousForkJoinWorkerThread.setContextClassLoader(ForkJoinWorkerThread.java:210)
	at org.eclipse.osgi.internal.framework.XMLParsingServiceFactory.getService(XMLParsingServiceFactory.java:50)
	at org.eclipse.osgi.internal.serviceregistry.ServiceFactoryUse$1.run(ServiceFactoryUse.java:218)
	at java.base/java.security.AccessController.doPrivileged(AccessController.java:318)
	at org.eclipse.osgi.internal.serviceregistry.ServiceFactoryUse.factoryGetService(ServiceFactoryUse.java:215)
	... 30 more
Comment 25 Jörg Kubitz CLA 2023-08-15 02:41:02 EDT
@Marc Mazas
it's best when you create a dedicated Issue for that SecurityException.

Caused by: java.lang.SecurityException: setContextClassLoader
        at
java.base/java.util.concurrent.ForkJoinWorkerThread$InnocuousForkJoinWorkerThread.setContextClassLoader(ForkJoinWorkerThread.java:210)
        at
org.eclipse.osgi.internal.framework.XMLParsingServiceFactory.getService(XMLParsingServiceFactory.java:50)
        at
org.eclipse.osgi.internal.serviceregistry.ServiceFactoryUse$1.run(ServiceFactoryUse.java:218)
        at
java.base/java.security.AccessController.doPrivileged(AccessController.java:318)
        at
org.eclipse.osgi.internal.serviceregistry.ServiceFactoryUse.factoryGetService(ServiceFactoryUse.java:215)
Comment 26 Nir Lisker CLA 2023-09-02 08:28:34 EDT
As requested in the error message, here is the stack trace:

java.lang.IllegalStateException: Disconnected before saving. Please post stacktrace to https://bugs.eclipse.org/bugs/show_bug.cgi?id=569286 org.eclipse.jdt.internal.ui.javaeditor.CompilationUnitEditor ES2Context.java
	at org.eclipse.ui.texteditor.AbstractTextEditor$TextEditorSavable.disconnectEditor(AbstractTextEditor.java:7148)
	at org.eclipse.ui.texteditor.AbstractTextEditor.doSetInput(AbstractTextEditor.java:4158)
	at org.eclipse.ui.texteditor.StatusTextEditor.doSetInput(StatusTextEditor.java:262)
	at org.eclipse.ui.texteditor.AbstractDecoratedTextEditor.doSetInput(AbstractDecoratedTextEditor.java:1474)
	at org.eclipse.jdt.internal.ui.javaeditor.JavaEditor.internalDoSetInput(JavaEditor.java:2556)
	at org.eclipse.jdt.internal.ui.javaeditor.JavaEditor.doSetInput(JavaEditor.java:2543)
	at org.eclipse.jdt.internal.ui.javaeditor.CompilationUnitEditor.doSetInput(CompilationUnitEditor.java:1415)
	at org.eclipse.ui.texteditor.AbstractTextEditor.setInputWithNotify(AbstractTextEditor.java:4238)
	at org.eclipse.ui.texteditor.AbstractTextEditor.setInput(AbstractTextEditor.java:4258)
	at org.eclipse.jdt.internal.ui.search.JavaSearchEditorOpener.showInEditor(JavaSearchEditorOpener.java:99)
	at org.eclipse.jdt.internal.ui.search.JavaSearchEditorOpener.showWithReuse(JavaSearchEditorOpener.java:78)
	at org.eclipse.jdt.internal.ui.search.JavaSearchEditorOpener.openElement(JavaSearchEditorOpener.java:43)
	at org.eclipse.jdt.internal.ui.search.JavaSearchEditorOpener.openMatch(JavaSearchEditorOpener.java:55)
	at org.eclipse.jdt.internal.ui.search.JavaSearchResultPage.showMatch(JavaSearchResultPage.java:197)
	at org.eclipse.search.ui.text.AbstractTextSearchViewPage$3.run(AbstractTextSearchViewPage.java:943)
	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:45)
	at org.eclipse.search.ui.text.AbstractTextSearchViewPage.showMatch(AbstractTextSearchViewPage.java:946)
	at org.eclipse.search.ui.text.AbstractTextSearchViewPage.showCurrentMatch(AbstractTextSearchViewPage.java:1011)
	at org.eclipse.search.ui.text.AbstractTextSearchViewPage.gotoNextMatch(AbstractTextSearchViewPage.java:976)
	at org.eclipse.search.ui.text.AbstractTextSearchViewPage.handleOpen(AbstractTextSearchViewPage.java:1432)
	at org.eclipse.jdt.internal.ui.search.JavaSearchResultPage.handleOpen(JavaSearchResultPage.java:567)
	at org.eclipse.search.ui.text.AbstractTextSearchViewPage$2.open(AbstractTextSearchViewPage.java:770)
	at org.eclipse.ui.OpenAndLinkWithEditorHelper$InternalListener.open(OpenAndLinkWithEditorHelper.java:48)
	at org.eclipse.jface.viewers.StructuredViewer$2.run(StructuredViewer.java:800)
	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:45)
	at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:174)
	at org.eclipse.jface.viewers.StructuredViewer.fireOpen(StructuredViewer.java:797)
	at org.eclipse.jface.viewers.StructuredViewer.handleOpen(StructuredViewer.java:1116)
	at org.eclipse.jface.util.OpenStrategy.fireOpenEvent(OpenStrategy.java:296)
	at org.eclipse.jface.util.OpenStrategy$1.handleEvent(OpenStrategy.java:331)
	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:89)
	at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4274)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1066)
	at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4072)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3660)
	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1155)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:338)
	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1046)
	at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:155)
	at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:643)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:338)
	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:550)
	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:171)
	at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:152)
	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:203)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:136)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:402)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:255)
	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
	at java.base/java.lang.reflect.Method.invoke(Method.java:578)
	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:659)
	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:596)
	at org.eclipse.equinox.launcher.Main.run(Main.java:1467)
	Suppressed: java.lang.IllegalStateException: isDirty check after disconnect
		at org.eclipse.ui.texteditor.AbstractTextEditor$TextEditorSavable.isDirty(AbstractTextEditor.java:7197)
		at org.eclipse.ui.internal.Workbench.getFilteredSaveables(Workbench.java:3431)
		at org.eclipse.ui.internal.Workbench.saveAll(Workbench.java:3404)
		at org.eclipse.ui.ide.IDE$1.run(IDE.java:1458)
		at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:45)
		at org.eclipse.ui.ide.IDE.saveAllEditors(IDE.java:1446)
		at org.eclipse.debug.internal.ui.launchConfigurations.SaveScopeResourcesHandler.doSave(SaveScopeResourcesHandler.java:228)
		at org.eclipse.debug.internal.ui.launchConfigurations.SaveScopeResourcesHandler.handleStatus(SaveScopeResourcesHandler.java:182)
		at org.eclipse.debug.internal.ui.sourcelookup.Prompter.lambda$0(Prompter.java:73)
		at org.eclipse.ui.internal.PendingSyncExec.run(PendingSyncExec.java:68)
		at org.eclipse.ui.internal.UILockListener.doPendingWork(UILockListener.java:172)
		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)
		... 19 more



eclipse.buildId=4.28.0.I20230605-0440
java.version=20.0.1
java.vendor=Oracle Corporation
BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=en_US
Command-line arguments:  -os win32 -ws win32 -arch x86_64 -data file:/C:/Users/Nir/workspaces/jfx/
Comment 27 Lars Vogel CLA 2023-10-05 10:14:12 EDT
Got this in todays i-build:

java.lang.IllegalStateException: Disconnected before saving. https://bugs.eclipse.org/bugs/show_bug.cgi?id=569286 org.eclipse.jdt.internal.ui.javaeditor.CompilationUnitEditor AuthorizationManager.java
	at org.eclipse.ui.texteditor.AbstractTextEditor$TextEditorSavable.disconnectEditor(AbstractTextEditor.java:7148)
	at org.eclipse.ui.texteditor.AbstractTextEditor.dispose(AbstractTextEditor.java:4329)
	at org.eclipse.ui.texteditor.AbstractDecoratedTextEditor.dispose(AbstractDecoratedTextEditor.java:383)
	at org.eclipse.jdt.internal.ui.javaeditor.JavaEditor.dispose(JavaEditor.java:2668)
	at org.eclipse.jdt.internal.ui.javaeditor.CompilationUnitEditor.dispose(CompilationUnitEditor.java:1517)
	at org.eclipse.ui.internal.e4.compatibility.CompatibilityPart.invalidate(CompatibilityPart.java:264)
Comment 28 Vikas Chandra CLA 2023-10-06 00:08:23 EDT
(In reply to Lars Vogel from comment #27)
> Got this in todays i-build:
> 
> java.lang.IllegalStateException: Disconnected before saving.
> https://bugs.eclipse.org/bugs/show_bug.cgi?id=569286
> org.eclipse.jdt.internal.ui.javaeditor.CompilationUnitEditor
> AuthorizationManager.java
> 	at
> org.eclipse.ui.texteditor.AbstractTextEditor$TextEditorSavable.
> disconnectEditor(AbstractTextEditor.java:7148)
> 	at
> org.eclipse.ui.texteditor.AbstractTextEditor.dispose(AbstractTextEditor.java:
> 4329)
> 	at
> org.eclipse.ui.texteditor.AbstractDecoratedTextEditor.
> dispose(AbstractDecoratedTextEditor.java:383)
> 	at
> org.eclipse.jdt.internal.ui.javaeditor.JavaEditor.dispose(JavaEditor.java:
> 2668)
> 	at
> org.eclipse.jdt.internal.ui.javaeditor.CompilationUnitEditor.
> dispose(CompilationUnitEditor.java:1517)
> 	at
> org.eclipse.ui.internal.e4.compatibility.CompatibilityPart.
> invalidate(CompatibilityPart.java:264)

perhaps, we should track on github
Comment 29 Lars Vogel CLA 2023-10-06 04:11:29 EDT
(In reply to Vikas Chandra from comment #28)
> (In reply to Lars Vogel from comment #27)
> > Got this in todays i-build:
> > 
> > java.lang.IllegalStateException: Disconnected before saving.
> > https://bugs.eclipse.org/bugs/show_bug.cgi?id=569286
> > org.eclipse.jdt.internal.ui.javaeditor.CompilationUnitEditor
> > AuthorizationManager.java
> > 	at
> > org.eclipse.ui.texteditor.AbstractTextEditor$TextEditorSavable.
> > disconnectEditor(AbstractTextEditor.java:7148)
> > 	at
> > org.eclipse.ui.texteditor.AbstractTextEditor.dispose(AbstractTextEditor.java:
> > 4329)
> > 	at
> > org.eclipse.ui.texteditor.AbstractDecoratedTextEditor.
> > dispose(AbstractDecoratedTextEditor.java:383)
> > 	at
> > org.eclipse.jdt.internal.ui.javaeditor.JavaEditor.dispose(JavaEditor.java:
> > 2668)
> > 	at
> > org.eclipse.jdt.internal.ui.javaeditor.CompilationUnitEditor.
> > dispose(CompilationUnitEditor.java:1517)
> > 	at
> > org.eclipse.ui.internal.e4.compatibility.CompatibilityPart.
> > invalidate(CompatibilityPart.java:264)
> 
> perhaps, we should track on github

I suggest also to update the link in the JDT code to point to the Github issue tracker.