Skip to content

IBEX GUI: "Edit host configuration" button broken #7269

@rerpha

Description

@rerpha

Where?

the "Edit host configuration" button, which was previously available by right-clicking a block in the dashboard, is now not showing up. This was found during manual testing of #7218 and should be fixed before we continue with the release steps.

Logs from doing a right click shows this stack trace:

*2022-08-01 14:19:51.925 [main] ERROR org.eclipse.ui.workbench - Widget is disposed
    org.eclipse.swt.SWT.error(SWT.java:4889)
    org.eclipse.swt.SWT.error(SWT.java:4804)
    org.eclipse.swt.SWT.error(SWT.java:4775)
    org.eclipse.swt.widgets.Widget.error(Widget.java:438)
    org.eclipse.swt.widgets.Widget.checkWidget(Widget.java:357)
    org.eclipse.swt.widgets.Menu.getItems(Menu.java:643)
    org.eclipse.jface.action.MenuManager.getMenuItems(MenuManager.java:684)
    uk.ac.stfc.isis.ibex.ui.blocks.groups.BlocksMenu.lambda$1(BlocksMenu.java:74)
    org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:40)
    org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:185)
    org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:4001)
    org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3629)
    org.eclipse.jface.window.Window.runEventLoop(Window.java:823)
    org.eclipse.jface.window.Window.open(Window.java:799)
    uk.ac.stfc.isis.ibex.ui.mainmenu.managermode.ManagerModeHandler.displayDialog(ManagerModeHandler.java:70)
    uk.ac.stfc.isis.ibex.ui.mainmenu.managermode.ManagerModeHandler.execute(ManagerModeHandler.java:45)
    java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    java.base/java.lang.reflect.Method.invoke(Method.java:566)
    org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:58)
    org.eclipse.e4.core.internal.di.InjectorImpl.invokeUsingClass(InjectorImpl.java:319)
    org.eclipse.e4.core.internal.di.InjectorImpl.invoke(InjectorImpl.java:253)
    org.eclipse.e4.core.contexts.ContextInjectionFactory.invoke(ContextInjectionFactory.java:173)
    org.eclipse.e4.core.commands.internal.HandlerServiceHandler.execute(HandlerServiceHandler.java:156)
    org.eclipse.core.commands.Command.executeWithChecks(Command.java:488)
    org.eclipse.core.commands.ParameterizedCommand.executeWithChecks(ParameterizedCommand.java:487)
    org.eclipse.e4.core.commands.internal.HandlerServiceImpl.executeHandler(HandlerServiceImpl.java:213)
    org.eclipse.e4.ui.workbench.renderers.swt.HandledContributionItem.executeItem(HandledContributionItem.java:438)
    org.eclipse.e4.ui.workbench.renderers.swt.AbstractContributionItem.handleWidgetSelection(AbstractContributionItem.java:449)
    org.eclipse.e4.ui.workbench.renderers.swt.AbstractContributionItem.lambda$2(AbstractContributionItem.java:475)
    org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:89)
    org.eclipse.swt.widgets.Display.sendEvent(Display.java:4209)
    org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1043)
    org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4026)
    org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3626)
    org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1157)
    org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:338)
    org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1046)
    org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:155)
    org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:644)
    org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:338)
    org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:551)
    org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:156)
    uk.ac.stfc.isis.ibex.e4.product.Application.start(Application.java:55)
    org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:203)
    org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
    org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
    org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:401)
    org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:255)
    java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    java.base/java.lang.reflect.Method.invoke(Method.java:566)
    org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:653)
    org.eclipse.equinox.launcher.Main.basicRun(Main.java:590)
    org.eclipse.equinox.launcher.Main.run(Main.java:1461)

Note that this worked OK in V10 so can probably be narrowed down to a change between the two versions. We should cherry pick this once finished onto the release branch and put it in the release notes.

Reproducible?

Yes

To Reproduce

  • Right clock on a block in the block dashboard and see that "edit host configuration" is no longer an option

Acceptance criteria

  • Issue is fixed
  • release notes are added for V11
  • commits are cherry-picked over to release branch as well as committed to master when happy.

How to Test

verbose instructions for reviewer to test changes
(Add before making a PR)

Metadata

Metadata

Labels

2Needs pair reviewPull request is large or complicated and needs reviewing by a pair of developersadded during sprintbugfor releaseRequired for next release

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions