WARNING: Display must be created on main thread due to Cocoa restrictions... - Knime 2.11.3 and Knime 3.0.0 on MacOS

Hello everybody,

I am having a problem with Knime on our lab Mac machine. I was using Knime yesterday without any problems and then suddenly from one hour to the next, without any changes in preferences, I cannot get Knime to work anymore.

Atfer starting the knime binary I see the splash screen and then a long error report below.

What can I do about it ? There seems to be little information about this problem regarding Knime, though I see some issues related to Eclipse/Java, but I have no idea about those things... I would really appreciate any hint!

Thanks!

Piotr

 

THE ERROR I GET:

SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
ERROR     main RDKitTypesPluginActivator     LC_NUMERIC is set to an incompatible value (de_DE.UTF-8) which causes RDKit to compute wrong results in some cases. Please  change LC_NUMERIC to an 'en' or 'C' locale.
ERROR     KNIME-Worker-0 ThreadPool     An exception occurred while executing a runnable.
***WARNING: Display must be created on main thread due to Cocoa restrictions.
Exception in thread "KNIME-Worker-0" org.eclipse.swt.SWTException: Invalid thread access
    at org.eclipse.swt.SWT.error(SWT.java:4441)
    at org.eclipse.swt.SWT.error(SWT.java:4356)
    at org.eclipse.swt.SWT.error(SWT.java:4327)
    at org.eclipse.swt.widgets.Display.error(Display.java:1083)
    at org.eclipse.swt.widgets.Display.createDisplay(Display.java:840)
    at org.eclipse.swt.widgets.Display.create(Display.java:823)
    at org.eclipse.swt.graphics.Device.<init>(Device.java:130)
    at org.eclipse.swt.widgets.Display.<init>(Display.java:714)
    at org.eclipse.swt.widgets.Display.<init>(Display.java:705)
    at org.eclipse.swt.widgets.Display.getDefault(Display.java:1403)
    at org.knime.workbench.core.ConsoleViewAppender.write(ConsoleViewAppender.java:183)
    at java.io.Writer.write(Writer.java:192)
    at java.io.Writer.write(Writer.java:157)
    at org.apache.log4j.helpers.QuietWriter.write(QuietWriter.java:48)
    at org.apache.log4j.WriterAppender.subAppend(WriterAppender.java:302)
    at org.apache.log4j.WriterAppender.append(WriterAppender.java:160)
    at org.apache.log4j.AppenderSkeleton.doAppend(AppenderSkeleton.java:251)
    at org.apache.log4j.helpers.AppenderAttachableImpl.appendLoopOnAppenders(AppenderAttachableImpl.java:66)
    at org.apache.log4j.Category.callAppenders(Category.java:206)
    at org.apache.log4j.Category.forcedLog(Category.java:391)
    at org.apache.log4j.Category.error(Category.java:305)
    at org.knime.core.node.NodeLogger.error(NodeLogger.java:434)
    at org.knime.core.node.NodeLogger.error(NodeLogger.java:489)
    at org.knime.core.util.ThreadPool$Worker.run(ThreadPool.java:257)
An error has occurred. See the log file

 

Hi,

on a Mac, you must run Eclipse / KNIME with the

-XstartOnFirstThread

flag. Depending on how you start KNIME, this must be specified in the Knime.ini file, or if you're starting KNIME from Eclipse, you need to specify this flag in the launch configuration's VM args.

Best,
Philipp