Knime failing to start: GTK issue?

I had installed Knime 3.5.1 on my Ubuntu 17.10 machine and it was working OK. Following a "power cycle" it now doesn't. It shows the startup banner (with all the extensions that are installed etc) but then fails to start up the user interface with the message:

An error has occurred. See the log file ....../knime-workspace/.metadata.log.

In the terminal where I started knime it says

Gtk-Message: GtkDialog mapped without a transient parent. This is discouraged.

and then this multiple times

(KNIME:7989): GLib-CRITICAL **: g_base64_encode_step: assertion 'in != NULL' failed

The log file is very long and pretty dense so not posting the whole thing but can if it will help. It features a lot of issues like the ones pasted below. I have tried a fresh install of knime in a new directory. This doesn't help. I've tried updating the JRE and this doesn't either. I found some GTK issues reported for knime here: https://www.knime.com/faq#q6 but following these has not solved it.

 

What should I do to solve this?

thanks,

Andrew

========================================================================================

!ENTRY org.eclipse.e4.ui.workbench 4 0 2018-01-05 11:04:40.021
!MESSAGE FrameworkEvent ERROR
!STACK 0
org.eclipse.swt.SWTException: Device is disposed
    at org.eclipse.swt.SWT.error(SWT.java:4533)
    at org.eclipse.swt.SWT.error(SWT.java:4448)
    at org.eclipse.swt.SWT.error(SWT.java:4419)
    at org.eclipse.swt.widgets.Display.error(Display.java:1236)
    at org.eclipse.swt.widgets.Display.asyncExec(Display.java:775)
    at org.eclipse.ui.internal.WorkbenchWindow$9.changed(WorkbenchWindow.jav
a:726)
    at org.eclipse.e4.core.internal.contexts.TrackableComputationExt.update(
TrackableComputationExt.java:114)
    at org.eclipse.e4.core.internal.contexts.EclipseContext.processScheduled
(EclipseContext.java:343)
    at org.eclipse.e4.core.internal.contexts.EclipseContext.dispose(EclipseC
ontext.java:178)
    at org.eclipse.e4.core.internal.contexts.EclipseContext.dispose(EclipseC
ontext.java:161)
    at org.eclipse.e4.core.internal.contexts.EclipseContext.dispose(EclipseC
ontext.java:161)
    at org.eclipse.e4.core.internal.contexts.EclipseContext.dispose(EclipseC
ontext.java:161)
    at org.eclipse.e4.core.internal.contexts.EclipseContext.dispose(EclipseC
ontext.java:161)
    at org.eclipse.e4.core.internal.contexts.osgi.EclipseContextOSGi.dispose
(EclipseContextOSGi.java:106)
    at org.eclipse.e4.core.internal.contexts.osgi.EclipseContextOSGi.bundleC
hanged(EclipseContextOSGi.java:139)
    at org.eclipse.osgi.internal.framework.BundleContextImpl.dispatchEvent(B
undleContextImpl.java:903)
    at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventM
anager.java:230)
    at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchr
onous(ListenerQueue.java:148)
    at org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBund
leEventPrivileged(EquinoxEventPublisher.java:213)
    at org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBund
leEvent(EquinoxEventPublisher.java:120)
    at org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBund
leEvent(EquinoxEventPublisher.java:112)
    at org.eclipse.osgi.internal.framework.EquinoxContainerAdaptor.publishMo
duleEvent(EquinoxContainerAdaptor.java:156)
    at org.eclipse.osgi.container.Module.publishEvent(Module.java:476)
    at org.eclipse.osgi.container.Module.doStop(Module.java:634)
    at org.eclipse.osgi.container.Module.stop(Module.java:498)
    at org.eclipse.osgi.container.SystemModule.stop(SystemModule.java:202)
    at org.eclipse.osgi.internal.framework.EquinoxBundle$SystemBundle$Equino
xSystemModule$1.run(EquinoxBundle.java:165)
    at java.lang.Thread.run(Thread.java:748)

!ENTRY org.eclipse.core.jobs 4 2 2018-01-05 11:04:42.251
!MESSAGE An internal error occurred during: "Workflow Coach loader".
!STACK 0
java.lang.IllegalStateException: Need an underlying widget to be able to set the
 input.(Has the widget been disposed?)
    at org.eclipse.jface.viewers.StructuredViewer.setInput(StructuredViewer.
java:1687)
    at org.knime.workbench.workflowcoach.ui.WorkflowCoachView.lambda$7(Workf
lowCoachView.java:634)
    at org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.java:233)
    at org.eclipse.swt.widgets.Display.syncExec(Display.java:5406)
    at org.knime.workbench.workflowcoach.ui.WorkflowCoachView.updateInput(Wo
rkflowCoachView.java:632)
    at org.knime.workbench.workflowcoach.ui.WorkflowCoachView.access$2(Workf
lowCoachView.java:628)
    at org.knime.workbench.workflowcoach.ui.WorkflowCoachView$3.run(Workflow
CoachView.java:257)
    at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)

!ENTRY org.eclipse.ui.workbench 4 0 2018-01-05 11:04:42.251
!MESSAGE Widget is disposed
!STACK 0
org.eclipse.swt.SWTException: Widget is disposed
    at org.eclipse.swt.SWT.error(SWT.java:4533)
    at org.eclipse.swt.SWT.error(SWT.java:4448)
    at org.eclipse.swt.SWT.error(SWT.java:4419)
    at org.eclipse.swt.widgets.Display.error(Display.java:1236)
    at org.eclipse.swt.widgets.Display.checkDevice(Display.java:814)
    at org.eclipse.swt.widgets.Display.getShells(Display.java:2517)
    at org.eclipse.ui.internal.progress.ProgressManagerUtil.getModalShellExc
luding(ProgressManagerUtil.java:321)
    at org.eclipse.ui.internal.progress.ProgressManagerUtil.getDefaultParent
(ProgressManagerUtil.java:376)
    at org.eclipse.ui.internal.statushandlers.InternalDialog.<init>(Internal
Dialog.java:155)
    at org.eclipse.ui.internal.statushandlers.WorkbenchStatusDialogManagerIm
pl.doAddStatusAdapter(WorkbenchStatusDialogManagerImpl.java:260)
    at org.eclipse.ui.internal.statushandlers.WorkbenchStatusDialogManagerIm
pl.addStatusAdapter(WorkbenchStatusDialogManagerImpl.java:197)
    at org.eclipse.ui.statushandlers.WorkbenchStatusDialogManager.addStatusA
dapter(WorkbenchStatusDialogManager.java:158)
    at org.eclipse.ui.statushandlers.WorkbenchErrorHandler.showStatusAdapter
(WorkbenchErrorHandler.java:95)
    at org.eclipse.ui.statushandlers.WorkbenchErrorHandler.handle(WorkbenchE
rrorHandler.java:49)
    at org.eclipse.ui.internal.WorkbenchErrorHandlerProxy.handle(WorkbenchEr
rorHandlerProxy.java:31)
    at org.eclipse.ui.statushandlers.StatusManager.handle(StatusManager.java
:204)
    at org.eclipse.ui.internal.progress.ProgressManager$2.done(ProgressManag
er.java:437)
    at org.eclipse.core.internal.jobs.JobListeners$3.notify(JobListeners.jav
a:42)
    at org.eclipse.core.internal.jobs.JobListeners.doNotify(JobListeners.jav
a:99)
    at org.eclipse.core.internal.jobs.JobListeners.done(JobListeners.java:14
4)
    at org.eclipse.core.internal.jobs.JobManager.endJob(JobManager.java:694)
    at org.eclipse.core.internal.jobs.WorkerPool.endJob(WorkerPool.java:105)
    at org.eclipse.core.internal.jobs.Worker.run(Worker.java:72)

!ENTRY org.eclipse.core.jobs 4 2 2018-01-05 11:04:42.252
!MESSAGE An internal error occurred during: "Workflow Coach loader".
!STACK 0
java.lang.IllegalStateException: Need an underlying widget to be able to set the
 input.(Has the widget been disposed?)
    at org.eclipse.jface.viewers.StructuredViewer.setInput(StructuredViewer.
java:1687)
    at org.knime.workbench.workflowcoach.ui.WorkflowCoachView.lambda$7(Workf
lowCoachView.java:634)
    at org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.java:233)
    at org.eclipse.swt.widgets.Display.syncExec(Display.java:5406)
    at org.knime.workbench.workflowcoach.ui.WorkflowCoachView.updateInput(Wo
rkflowCoachView.java:632)
    at org.knime.workbench.workflowcoach.ui.WorkflowCoachView.access$2(Workf
lowCoachView.java:628)
    at org.knime.workbench.workflowcoach.ui.WorkflowCoachView$3.run(Workflow
CoachView.java:257)
    at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)

 

Are you using the same workspace also with the new installation? Can you try to

  • start KNIME with the -clean option (just add it temporarily to the knime.ini above the -vmargs line)
  • point KNIME to use a new workspace (there should be a prompt when KNIME starts)

Hope this helps
  Bernd

that has started Knime (big progress!) but I now only see a Local Workspace even after removing this -clean option and saving workflows is problematic. Any way to get over this?

Can you be more specific and explain what you mean by "saving workflows is problematic"?

And I only see a Local Workspace means that you don't see "EXAMPLES" (the mount point KNIME's public examples server)? Or were you expecting anything else? 

Have you tried both options (-clean and a new workspace)?

Sorry - that was vague - by saving workflows is problematic, I mean that it doesn't save any workflows. No dialog box comes up when I try to save a workflow. Also, If I try to create a new workflow group, I cannot. The dialog box comes up allowing me to enter the name of the new group but nothing appears in the Explorer after I press "Finish". Something is happening as it is automatically incrementing the number of the workflow group but they are not visible even after refreshing the view

The EXAMPLES have now come back after restarting Knime.

 

We'll try to reproduce the behavior on a 17.10 Ubuntu the next coming days. That sounds as if that's some weird Eclipse/GTK/Linux issue (but then again, why did it work initially?). 

That's not a "LTS" version of Ubuntu so we are not using it internally (and it's also not part of the test system).

One more thought: Could you create a new (temporary) user account and try it under that new user? Does it have the same problem?

The change in behavior after reboot is strange. Someone else in the lab (on 17.10 too) also had the same error message when restarting after Christmas so I can only guess there was some automatic update on restart that broke stuff. From the GTK error messages that I have found on google, there are several Eclipse ones so it does look much more Eclipse-related than Knime-specific

The non-LTS version was a bit of a mix-up and we're looking to get the LTS version installed. That might well be the best solution here as we could easily run into strange things with other software.

Thanks for you help.

But what is that GTK error? I thought the one you pasted in your initial post got fixed by using -clean (or the new workspace or both .. don't know). And now the problem is that the KNIME explorer view shows some garbage or doesn't show content at all or only parts of it -- but that's not an GTK error?

Hi Andrew,

we tried to reproduce the behaviour you described on two Ubuntu 17.10 machines and a VM (freshly downloaded KNIME and updated KNIME) - and it worked all well. Besides the known Eclipse-related GTK Erros and Warnings when starting KNIME in the terminal nothing suspicious happened... Do you still have the problem(s)? Are you able to view and save your workflows now?

Best Lukas