Community
Participate
Working Groups
During development I saw the following exception. Not sure how to trigger it. org.eclipse.core.runtime.AssertionFailedException: assertion failed: Getter called on disposed observable org.eclipse.core.databinding.observable.value.WritableValue@5d2733c7 at org.eclipse.core.runtime.Assert.isTrue(Assert.java:113) at org.eclipse.core.databinding.observable.ObservableTracker.getterCalled(ObservableTracker.java:249) at org.eclipse.core.databinding.observable.value.AbstractObservableValue.getterCalled(AbstractObservableValue.java:104) at org.eclipse.core.databinding.observable.value.AbstractObservableValue.getValue(AbstractObservableValue.java:91) at org.eclipse.e4.tools.emf.ui.internal.common.component.WindowEditor.lambda$0(WindowEditor.java:371) at org.eclipse.core.databinding.observable.value.ValueChangeEvent.dispatch(ValueChangeEvent.java:73) at org.eclipse.core.databinding.observable.ChangeManager.fireEvent(ChangeManager.java:119) at org.eclipse.core.databinding.observable.value.DecoratingObservableValue.fireValueChange(DecoratingObservableValue.java:68) at org.eclipse.core.databinding.observable.value.DecoratingObservableValue.handleValueChange(DecoratingObservableValue.java:105) at org.eclipse.core.databinding.observable.value.DecoratingObservableValue.lambda$0(DecoratingObservableValue.java:80) at org.eclipse.core.databinding.observable.value.ValueChangeEvent.dispatch(ValueChangeEvent.java:73) at org.eclipse.core.databinding.observable.ChangeManager.fireEvent(ChangeManager.java:119) at org.eclipse.core.databinding.observable.value.AbstractObservableValue.fireValueChange(AbstractObservableValue.java:86) at org.eclipse.core.internal.databinding.property.value.SimplePropertyObservableValue.notifyIfChanged(SimplePropertyObservableValue.java:120) at org.eclipse.core.internal.databinding.property.value.SimplePropertyObservableValue.lambda$1(SimplePropertyObservableValue.java:69) at org.eclipse.core.databinding.observable.Realm$1.run(Realm.java:151) at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:45) at org.eclipse.core.databinding.observable.Realm.safeRun(Realm.java:155) at org.eclipse.core.databinding.observable.Realm.exec(Realm.java:173) at org.eclipse.core.internal.databinding.property.value.SimplePropertyObservableValue.lambda$0(SimplePropertyObservableValue.java:67) at org.eclipse.emf.databinding.internal.EMFPropertyListener$EMFValuePropertyListener.notifyChanged(EMFPropertyListener.java:347) at org.eclipse.emf.common.notify.impl.BasicNotifierImpl.eNotify(BasicNotifierImpl.java:424) at org.eclipse.emf.common.notify.impl.NotificationImpl.dispatch(NotificationImpl.java:1027) at org.eclipse.e4.ui.model.application.ui.basic.impl.WindowImpl.setMainMenu(WindowImpl.java:639) at org.eclipse.ui.internal.WorkbenchWindow$1.handleEvent(WorkbenchWindow.java:338) at org.eclipse.e4.ui.services.internal.events.UIEventHandler.lambda$0(UIEventHandler.java:38) at org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.java:236) at org.eclipse.ui.internal.UISynchronizer.syncExec(UISynchronizer.java:146) at org.eclipse.swt.widgets.Display.syncExec(Display.java:5851) at org.eclipse.e4.ui.internal.workbench.swt.E4Application$1.syncExec(E4Application.java:219) at org.eclipse.e4.ui.services.internal.events.UIEventHandler.handleEvent(UIEventHandler.java:38) 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:132) 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.setWidget(UIElementImpl.java:267) at org.eclipse.e4.ui.workbench.renderers.swt.SWTPartRenderer.unbindWidget(SWTPartRenderer.java:149) at org.eclipse.e4.ui.workbench.renderers.swt.SWTPartRenderer.disposeWidget(SWTPartRenderer.java:172) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeRemoveGui(PartRenderingEngine.java:945) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.access$1(PartRenderingEngine.java:873) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$4.run(PartRenderingEngine.java:868) at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:45) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.removeGui(PartRenderingEngine.java:852) at org.eclipse.ui.internal.WorkbenchWindow.hardClose(WorkbenchWindow.java:2161) at org.eclipse.ui.internal.WorkbenchWindow.busyClose(WorkbenchWindow.java:1792) at org.eclipse.ui.internal.WorkbenchWindow.lambda$3(WorkbenchWindow.java:1817) at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:72) at org.eclipse.ui.internal.WorkbenchWindow.close(WorkbenchWindow.java:1817) at org.eclipse.ui.internal.Workbench$11.run(Workbench.java:1144) at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:45) at org.eclipse.ui.internal.Workbench.busyClose(Workbench.java:1127) at org.eclipse.ui.internal.Workbench.lambda$4(Workbench.java:1428) at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:72) at org.eclipse.ui.internal.Workbench.close(Workbench.java:1428) at org.eclipse.ui.internal.Workbench.restart(Workbench.java:2539) at org.eclipse.ui.internal.ide.actions.OpenWorkspaceAction.restart(OpenWorkspaceAction.java:221) at org.eclipse.ui.internal.ide.actions.OpenWorkspaceAction.access$0(OpenWorkspaceAction.java:218) at org.eclipse.ui.internal.ide.actions.OpenWorkspaceAction$WorkspaceMRUAction.run(OpenWorkspaceAction.java:92) at org.eclipse.jface.action.Action.runWithEvent(Action.java:474) at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:579) at org.eclipse.jface.action.ActionContributionItem.lambda$4(ActionContributionItem.java:413) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:89) at org.eclipse.swt.widgets.Display.sendEvent(Display.java:5741) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1423) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1449) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1432) at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:1221) at org.eclipse.jface.action.ActionContributionItem.lambda$8(ActionContributionItem.java:1247) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:89) at org.eclipse.swt.widgets.Display.sendEvent(Display.java:5741) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1423) at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:5000) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:4493) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1160) at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:338) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1049) at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:155) at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:660) at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:338) at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:559) at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:154) at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:150) at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:203) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:137) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:107) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:401) 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:567) at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:657) at org.eclipse.equinox.launcher.Main.basicRun(Main.java:594) at org.eclipse.equinox.launcher.Main.run(Main.java:1465) at org.eclipse.equinox.launcher.Main.main(Main.java:1438)
I'll try to have a look in a few days. And I'll probably have time, because soon it the season for... Christmas Coding!!! Happy Holidays!
(In reply to Jens Lideström from comment #1) > I'll try to have a look in a few days. > > And I'll probably have time, because soon it the season for... > > Christmas Coding!!! :-) > Happy Holidays! Same to you. I most likely will stay away from my laptop during Christmas.
New Gerrit change created: https://git.eclipse.org/r/155028
New Gerrit change created: https://git.eclipse.org/r/155027
This error seems to be because AbstractComponentEditor#master is being disposed for some reason. I don't understand why. When AbstractComponentEditor#master is disposed there is an exception in the listener that is added in WindowEditor#getChildList, which seems to happen when the editor is closed. I have created two changes: 1. A work around for the symptom of the problem: https://git.eclipse.org/r/155027 2. A change with a log stack trace printout when AbstractComponentEditor#master is disposed. This could help use to find out why this happens: https://git.eclipse.org/r/155028 I plan to merge 1. If you want to help to find the problem, please run your eclipse with the code in 2. and report back if you get any information out of that!
Gerrit change https://git.eclipse.org/r/155027 was merged to [master]. Commit: http://git.eclipse.org/c/platform/eclipse.platform.ui.tools.git/commit/?id=224408bdaab7da6706c939a6042fea484390f36c
Jens, can this be closed?
(In reply to Lars Vogel from comment #7) > Jens, can this be closed? I don't know if the ticket should be closed. The root cause for why the master observable gets disposed is probably still present in the code, but a fix for the exception you got has been merged to master. I would be good to investigate the root cause, but I don't think anyone has the motivation.