JSON Path node bug

Hi, KNIMEr, :heart: :heart: :heart:

The configuration interface for the ‘JSON Path’ node cannot be opened, and the entire KNIME interface becomes inoperable. Both 5.2.0 and 4.7.8 are the same phenomenon.

I don’t know if it’s because this JSON is a bit complex.
The attachment is the minimal workflow for reproducing this bug.

image

json_bug.knwf (710.1 KB)

ERROR	 main NodeContainerEditPart	 The dialog pane for node 'JSON Path 3:3' has thrown a 'SWTException'. That is most likely an implementation error.
org.eclipse.swt.SWTException: Device is disposed
	at org.eclipse.swt.SWT.error(SWT.java:4918)
	at org.eclipse.swt.SWT.error(SWT.java:4833)
	at org.eclipse.swt.SWT.error(SWT.java:4804)
	at org.eclipse.swt.widgets.Display.error(Display.java:1209)
	at org.eclipse.swt.widgets.Display.checkDevice(Display.java:709)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3971)
	at org.knime.core.node.util.ViewUtils.invokeAndWaitInEDT(ViewUtils.java:165)
	at org.knime.core.node.NodeDialogPane.internalLoadSettingsFrom(NodeDialogPane.java:480)
	at org.knime.core.node.Node.initDialogPaneWithSettings(Node.java:2237)
	at org.knime.core.node.Node.getDialogPaneWithSettings(Node.java:2175)
	at org.knime.core.node.workflow.NativeNodeContainer.getDialogPaneWithSettings(NativeNodeContainer.java:1403)
	at org.knime.core.node.workflow.NodeContainer.getDialogPaneWithSettings(NodeContainer.java:1089)
	at org.knime.core.ui.wrapper.NodeContainerWrapper.getDialogPaneWithSettings(NodeContainerWrapper.java:130)
	at org.knime.workbench.ui.wrapper.WrappedNodeDialog.lambda$0(WrappedNodeDialog.java:156)
	at org.knime.workbench.ui.async.AsyncUtil.ncAsyncSwitchRethrow(AsyncUtil.java:247)
	at org.knime.workbench.ui.wrapper.WrappedNodeDialog.<init>(WrappedNodeDialog.java:156)
	at org.knime.workbench.editor2.editparts.NodeContainerEditPart.openDialog(NodeContainerEditPart.java:956)
	at org.knime.workbench.editor2.editparts.NodeContainerEditPart.openNodeDialog(NodeContainerEditPart.java:865)
	at org.knime.workbench.editor2.editparts.NodeContainerEditPart.openNodeDialog(NodeContainerEditPart.java:847)
	at org.knime.workbench.editor2.editparts.NodeContainerEditPart.openDialog(NodeContainerEditPart.java:836)
	at org.knime.workbench.editor2.editparts.NodeContainerEditPart.performRequest(NodeContainerEditPart.java:400)
	at org.eclipse.gef.tools.SelectEditPartTracker.performOpen(SelectEditPartTracker.java:191)
	at org.eclipse.gef.tools.SelectEditPartTracker.handleDoubleClick(SelectEditPartTracker.java:135)
	at org.knime.workbench.editor2.WorkflowSelectionDragEditPartsTracker.handleDoubleClick(WorkflowSelectionDragEditPartsTracker.java:126)
	at org.eclipse.gef.tools.AbstractTool.mouseDoubleClick(AbstractTool.java:1021)
	at org.eclipse.gef.tools.SelectionTool.mouseDoubleClick(SelectionTool.java:509)
	at org.eclipse.gef.EditDomain.mouseDoubleClick(EditDomain.java:217)
	at org.eclipse.gef.ui.parts.DomainEventDispatcher.dispatchMouseDoubleClicked(DomainEventDispatcher.java:285)
	at org.eclipse.draw2d.LightweightSystem$EventHandler.mouseDoubleClick(LightweightSystem.java:506)
	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:4646)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1524)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1547)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1532)
	at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:1325)
	at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4413)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3989)
	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.knime.product.rcp.KNIMEApplication.start(KNIMEApplication.java:204)
	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(Unknown Source)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.base/java.lang.reflect.Method.invoke(Unknown Source)
	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)