Open vik378 opened 2 years ago
Hi, Can you try by using the latest stable Capella 6.0 ? https://github.com/eclipse/capella/releases/tag/v6.0.0-S20220114 We have upgraded some internal components, maybe it will work properly.
(Note that this release is not yet officially published)
I tried it on Ubuntu 20.04, @pdulth , the result is slightly different:
on the first start I had the below (no editor loaded, similar stack trace to above)
however after restarting Capella the editor is loaded. The save button doesn't seem to work (can not set event handler issue I guess), but Ctrl+S does the trick.
I was able to reproduce the failure to initialize again - on a clean workspace. It fails with the same message ReferenceError: Can't find variable: getAllOptions
. Loading the workspace where that failure happened before results in editor loading with warnings only as in screenshots above. ReferenceError
gives some hope that it is not a fundamental GTK compatibility issue, right?
Here is the stack trace:
org.eclipse.swt.SWTException: file:///home/viktor/Downloads/capella-6.0.0.202201141237-linux-gtk-x86_64/capella/plugins/org.eclipse.nebula.widgets.richtext_1.3.0.201912241810/org/eclipse/nebula/widgets/richtext/resources/template.html:213:50: ReferenceError: Can't find variable: getAllOptions
Script that was evaluated:
function SWTWebkit2TempFunc3(){initEditor();}; SWTWebkit2TempFunc3()
at org.eclipse.swt.browser.WebKit$Webkit2AsyncToSync.runjavascript(WebKit.java:1211)
at org.eclipse.swt.browser.WebKit$Webkit2AsyncToSync.evaluate(WebKit.java:1154)
at org.eclipse.swt.browser.WebKit.evaluate(WebKit.java:1475)
at org.eclipse.swt.browser.WebBrowser.evaluate(WebBrowser.java:406)
at org.eclipse.swt.browser.Browser.evaluate(Browser.java:666)
at org.eclipse.swt.browser.Browser.evaluate(Browser.java:615)
at org.eclipse.nebula.widgets.richtext.RichTextEditor$3.completed(RichTextEditor.java:285)
at org.eclipse.swt.browser.WebKit.lambda$7(WebKit.java:1945)
at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:40)
at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:185)
I'm seeing the same on Ubuntu 20.04/Capella 5.2. @vik378 did any 6.0 pre-release fix this for you?
I'm seeing the same on Ubuntu 20.04/Capella 5.2. @vik378 did any 6.0 pre-release fix this for you?
6.0 has no fix yet, I tried the latest pre-release recently. The fix for the root cause seems to be already out there (issue 573616). We asked Obeo if there is any hope to see this in 6.0 it but they said we will not see the fix integrated before 6.1...
@vik378 Thanks for this useful additional information. I'll try the downgrading of packages & hope for the best then :)
@ioolkos, downgrading worked for us pretty well so far (although it is a short-term thing). We run most of our Capella instances on linux dockerized and web-streamed. You may want to check our dockerfiles (most of our users dont have time to maintain a local install so we stream it) for Capella 5.2 - it already has all the downgrade magic + xrdp. This might be of interest for the downgrade in particular https://github.com/DSD-DBS/capella-dockerimages/blob/1efd79a944dc7cf2dc12038a6cc188db319fcef5/capella/Dockerfile#L37
@vik378 I did the downgrade and it worked great in Capella. However, after the following suspend of the computer, I was locked out of the graphical interface. This is most likely a total coincidence (have troubles with NVIDIA drivers from time to time), but still... :thinking: To resolve this I had to reinstall gdm3 and I'm back with the newest libraries (so no editor in Capella again).
I'll try to use your Dockerfile, thanks for providing this & your help :+1:
For me locally the issue marked as fixed with 6.0 (fixed issue #2400 i.e. merge of #2401) still prevail. Are there further actions needed? Like waiting for Add-Ons (dropins) update?
Just downloaded the latest release for 6.0 and for my environment (Ubuntu 20.04) the description editor doesn't seem fixed.
WIth Capella 6.0.0, the issue still appears regularly. The error messages are different, so I want to share them.
One error is this:
2023-05-11T16:37:44+02:00 !ENTRY org.eclipse.ui 4 0 2023-05-11 14:37:44.451
2023-05-11T16:37:44+02:00 !MESSAGE Unhandled event loop exception
2023-05-11T16:37:44+02:00 !STACK 0
2023-05-11T16:37:44+02:00 org.eclipse.swt.SWTException:
2023-05-11T16:37:44+02:00 Script that was evaluated:
2023-05-11T16:37:44+02:00 function SWTWebkit2TempFunc76(){return hasFocus();}; SWTWebkit2TempFunc76()
at org.eclipse.swt.browser.WebKit$Webkit2AsyncToSync.runjavascript(WebKit.java:1211)
at org.eclipse.swt.browser.WebKit$Webkit2AsyncToSync.evaluate(WebKit.java:1154)
at org.eclipse.swt.browser.WebKit.evaluate(WebKit.java:1475)
at org.eclipse.swt.browser.WebBrowser.evaluate(WebBrowser.java:406)
at org.eclipse.swt.browser.Browser.evaluate(Browser.java:666)
at org.eclipse.swt.browser.Browser.evaluate(Browser.java:615)
at org.eclipse.nebula.widgets.richtext.RichTextEditor.isFocusControl(RichTextEditor.java:641)
at org.polarsys.kitalpha.richtext.nebula.widget.MDENebulaBasedRichTextWidgetImpl.hasFocus(MDENebulaBasedRichTextWidgetImpl.java:368)
at org.polarsys.capella.core.ui.properties.richtext.fields.ElementDescriptionGroup.shouldRefresh(ElementDescriptionGroup.java:566)
at org.polarsys.capella.core.ui.properties.richtext.sections.DescriptionPropertySection.shouldRefresh(DescriptionPropertySection.java:161)
at org.polarsys.capella.core.ui.properties.richtext.sections.DescriptionPropertySection.refresh(DescriptionPropertySection.java:155)
at org.polarsys.capella.core.ui.properties.wizards.EditCapellaCustomPropertyWizardPage$1.widgetSelected(EditCapellaCustomPropertyWizardPage.java:146)
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:5879)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1427)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1453)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1436)
at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:1225)
at org.eclipse.swt.custom.CTabFolder.setSelection(CTabFolder.java:3243)
at org.eclipse.swt.custom.CTabFolder.onMouse(CTabFolder.java:1881)
at org.eclipse.swt.custom.CTabFolder.lambda$0(CTabFolder.java:330)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:89)
at org.eclipse.swt.widgets.Display.sendEvent(Display.java:5879)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1427)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:5121)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:4599)
at org.eclipse.jface.window.Window.runEventLoop(Window.java:823)
at org.eclipse.jface.window.Window.open(Window.java:799)
at org.polarsys.capella.core.ui.properties.wizards.CustomWizardHandler.openWizard(CustomWizardHandler.java:66)
at org.polarsys.capella.core.ui.properties.wizards.OpenCustomWizardCommand.run(OpenCustomWizardCommand.java:47)
at org.polarsys.capella.core.ui.properties.policies.TabbedPropertiesWizardEditPolicy$1.execute(TabbedPropertiesWizardEditPolicy.java:59)
at org.eclipse.sirius.diagram.ui.tools.api.command.GMFCommandWrapper.doExecuteWithResult(GMFCommandWrapper.java:104)
at org.eclipse.gmf.runtime.emf.commands.core.command.AbstractTransactionalCommand.doExecute(AbstractTransactionalCommand.java:248)
at org.eclipse.emf.workspace.AbstractEMFOperation.execute(AbstractEMFOperation.java:150)
at org.eclipse.sirius.diagram.ui.tools.internal.commands.WrappingCommandIgnoringAffectedFiles.execute(WrappingCommandIgnoringAffectedFiles.java:125)
at org.eclipse.core.commands.operations.DefaultOperationHistory.execute(DefaultOperationHistory.java:496)
at org.eclipse.sirius.diagram.ui.tools.internal.editor.DDiagramCommandStack.execute(DDiagramCommandStack.java:73)
at org.eclipse.sirius.diagram.ui.tools.internal.editor.DDiagramCommandStack.execute(DDiagramCommandStack.java:54)
at org.eclipse.gmf.runtime.diagram.ui.parts.DiagramCommandStack.execute(DiagramCommandStack.java:157)
at org.eclipse.gmf.runtime.diagram.ui.editparts.GraphicalEditPart.performRequest(GraphicalEditPart.java:1127)
at org.eclipse.sirius.diagram.ui.edit.api.part.AbstractDiagramNameEditPart.performRequest(AbstractDiagramNameEditPart.java:257)
at org.eclipse.gef.tools.SelectEditPartTracker.performOpen(SelectEditPartTracker.java:194)
at org.eclipse.gef.tools.SelectEditPartTracker.handleDoubleClick(SelectEditPartTracker.java:137)
at org.eclipse.gmf.runtime.diagram.ui.tools.DragEditPartsTrackerEx.handleDoubleClick(DragEditPartsTrackerEx.java:243)
at org.eclipse.gef.tools.AbstractTool.mouseDoubleClick(AbstractTool.java:1069)
at org.eclipse.gef.tools.SelectionTool.mouseDoubleClick(SelectionTool.java:527)
at org.eclipse.gef.EditDomain.mouseDoubleClick(EditDomain.java:231)
at org.eclipse.gef.ui.parts.DomainEventDispatcher.dispatchMouseDoubleClicked(DomainEventDispatcher.java:291)
at org.eclipse.draw2d.LightweightSystem$EventHandler.mouseDoubleClick(LightweightSystem.java:518)
at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:200)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:89)
at org.eclipse.swt.widgets.Display.sendEvent(Display.java:5879)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1427)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:5121)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:4599)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1157)
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.polarsys.capella.core.platform.sirius.ui.app.CapellaApplication.start(CapellaApplication.java:118)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:203)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
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: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:654)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:591)
at org.eclipse.equinox.launcher.Main.run(Main.java:1462)
at org.eclipse.equinox.launcher.Main.main(Main.java:1435)
Another error which appears often is this error:
2023-05-11T16:37:41+02:00 !ENTRY org.eclipse.ui.views.properties.tabbed 4 2 2023-05-11 14:37:40.990
2023-05-11T16:37:41+02:00 !MESSAGE Problems occurred when invoking code from plug-in: "org.eclipse.ui.views.properties.tabbed".
2023-05-11T16:37:41+02:00 !STACK 0
2023-05-11T16:37:41+02:00 org.eclipse.swt.SWTException:
2023-05-11T16:37:41+02:00 Script that was evaluated:
2023-05-11T16:37:41+02:00 function SWTWebkit2TempFunc68(){return hasFocus();}; SWTWebkit2TempFunc68()
at org.eclipse.swt.browser.WebKit$Webkit2AsyncToSync.runjavascript(WebKit.java:1211)
at org.eclipse.swt.browser.WebKit$Webkit2AsyncToSync.evaluate(WebKit.java:1154)
at org.eclipse.swt.browser.WebKit.evaluate(WebKit.java:1475)
at org.eclipse.swt.browser.WebBrowser.evaluate(WebBrowser.java:406)
at org.eclipse.swt.browser.Browser.evaluate(Browser.java:666)
at org.eclipse.swt.browser.Browser.evaluate(Browser.java:615)
at org.eclipse.nebula.widgets.richtext.RichTextEditor.isFocusControl(RichTextEditor.java:641)
at org.polarsys.kitalpha.richtext.nebula.widget.MDENebulaBasedRichTextWidgetImpl.hasFocus(MDENebulaBasedRichTextWidgetImpl.java:368)
at org.polarsys.capella.core.ui.properties.richtext.fields.ElementDescriptionGroup.shouldRefresh(ElementDescriptionGroup.java:566)
at org.polarsys.capella.core.ui.properties.richtext.sections.DescriptionPropertySection.shouldRefresh(DescriptionPropertySection.java:161)
at org.polarsys.capella.core.ui.properties.richtext.sections.DescriptionPropertySection.refresh(DescriptionPropertySection.java:155)
at org.eclipse.ui.views.properties.tabbed.TabContents$6.run(TabContents.java:220)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:45)
at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:174)
at org.eclipse.ui.views.properties.tabbed.TabContents.refresh(TabContents.java:223)
at org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage.handlePartActivated(TabbedPropertySheetPage.java:349)
at org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage$1.partActivated(TabbedPropertySheetPage.java:121)
at org.eclipse.ui.internal.PartService$1.run(PartService.java:85)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:45)
at org.eclipse.ui.internal.PartService.partActivated(PartService.java:82)
at org.eclipse.ui.internal.WorkbenchWindow$WWinPartService.partActivated(WorkbenchWindow.java:3162)
at org.eclipse.ui.internal.WorkbenchPage$3.run(WorkbenchPage.java:4892)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:45)
at org.eclipse.ui.internal.WorkbenchPage.firePartActivated(WorkbenchPage.java:4889)
at org.eclipse.ui.internal.WorkbenchPage$E4PartListener.partActivated(WorkbenchPage.java:219)
at org.eclipse.e4.ui.internal.workbench.PartServiceImpl$2.run(PartServiceImpl.java:249)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:45)
at org.eclipse.e4.ui.internal.workbench.PartServiceImpl.firePartActivated(PartServiceImpl.java:246)
at org.eclipse.e4.ui.internal.workbench.PartServiceImpl.activate(PartServiceImpl.java:770)
at org.eclipse.e4.ui.internal.workbench.PartServiceImpl.activate(PartServiceImpl.java:679)
at org.eclipse.e4.ui.internal.workbench.swt.AbstractPartRenderer.activate(AbstractPartRenderer.java:97)
at org.eclipse.e4.ui.workbench.renderers.swt.ContributedPartRenderer.lambda$0(ContributedPartRenderer.java:63)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:89)
at org.eclipse.swt.widgets.Display.sendEvent(Display.java:5879)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1427)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1453)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1436)
at org.eclipse.swt.widgets.Shell.setActiveControl(Shell.java:2173)
at org.eclipse.swt.widgets.Control.gtk_button_press_event(Control.java:3590)
at org.eclipse.swt.widgets.Control.gtk_button_press_event(Control.java:3488)
at org.eclipse.swt.widgets.Composite.gtk_button_press_event(Composite.java:879)
at org.eclipse.swt.widgets.Canvas.gtk_button_press_event(Canvas.java:159)
at org.eclipse.swt.widgets.Widget.windowProc(Widget.java:2299)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:6764)
at org.eclipse.swt.widgets.Display.windowProc(Display.java:6132)
at org.eclipse.swt.internal.gtk3.GTK3.gtk_main_do_event(Native Method)
at org.eclipse.swt.widgets.Display.eventProc(Display.java:1567)
at org.eclipse.swt.internal.gtk3.GTK3.gtk_main_iteration_do(Native Method)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:4596)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1157)
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.polarsys.capella.core.platform.sirius.ui.app.CapellaApplication.start(CapellaApplication.java:118)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:203)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
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: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:654)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:591)
at org.eclipse.equinox.launcher.Main.run(Main.java:1462)
at org.eclipse.equinox.launcher.Main.main(Main.java:1435)
In most cases, it helps to reset the whole workspace by deleting the .metadata
directory. Are there any hints which files have to be deleted in order to get a running description editor again? We could implement a regular "workspace" cleaner then until this issue is fixed.
Same issue with Capella 6.1.0, build ID 202303291413 on Ubuntu 22.04.
I could reproduce it again on debian:bookworm
: After linking a model element in the description editor, the editor crashed. The exception in the error log is the the same as the one reported in my last message.
Since this continues to be a major problem for us and continues to occur all the time, I've investigated that in more detail and found that the issue comes from Eclipse/Nebula:
It was fixed with Eclipse version 4.24.
Unfortunately, the latest release (Capella 6.1.0) is still based on Eclipse 4.20.
I tested it with the pre-release of Capella 7.0.0 and the bug is fixed, the previously broken description editor just works again 🥳 Is there any release date for a Capella 7.0.0? If it's not planned to release it soon, is there any chance to backport Eclipse 4.24 or 4.27 to Capella 6.0.0 or 6.1.0?
cc @mumbricht who is also suffering from this problem and would like a release to fix it.
Hello
Capella 7.0 is currently under test phase. There is also remaining work for documentation and Capella addons.
The release date of Capella 7.0 is not yet defined precisely but can be expected from end of may 2024.
Hi together, we also suffer from the same issue and request a backport Eclipse 4.24 or 4.27 to Capella 6.0.0 and 6.1.0 as bugfix release.
BR Chris
Since a while we noticed that description editor on Linux is broken. Our current solution to that is downgrading some system libs (listed below). That temporary fix however will stop working soon as the downgraded packages may become incompatible with the rest of the OS.
This is how a broken description editor looks like on Ubuntu 20.04:
This is the list of packages and versions where the editor is still working:
libjavascriptcoregtk-4.0-18=2.28.1-1
libwebkit2gtk-4.0-37=2.28.1-1
And here is the stack trace:
Session data: