Hello everyone,
I would like to use plots using JavaScript on Linux machines but failed with the following errors:
Console:
WARN KNIMEApplication$3 Potential deadlock in SWT Display thread detected. Full thread dump will follow as debug output.
WARN Scatter Plot (JavaScript) 0:1 Data table must have at least one numerical or categorical column.
ERROR Scatter Plot (JavaScript) 0:3 Execute failed: org/knime/ext/phantomjs/PhantomJSImageGenerator
$HOME/phantomjs.log
(nothing reported)
knime-workspace/.metadata/knime/knime.log
2018-06-21 11:32:52,774 : DEBUG : KNIME-WFM-Parent-Notifier : NodeContainer : : : ROOT has new state: IDLE
2018-06-21 11:32:54,724 : DEBUG : main : NodeContainerEditPart : : : Scatter Plot (JavaScript) 0:3 (CONFIGURED)
2018-06-21 11:32:55,815 : DEBUG : main : ExecuteAction : : : Creating execution job for 1 node(s)…
2018-06-21 11:32:55,816 : DEBUG : main : NodeContainer : : : Scatter Plot (JavaScript) 0:3 has new state: CONFIGURED_MARKEDFOREXEC
2018-06-21 11:32:55,816 : DEBUG : main : NodeContainer : : : Scatter Plot (JavaScript) 0:3 has new state: CONFIGURED_QUEUED
2018-06-21 11:32:55,816 : DEBUG : main : NodeContainer : : : JavaScriptPlot 0 has new state: EXECUTING
2018-06-21 11:32:55,816 : DEBUG : KNIME-WFM-Parent-Notifier : NodeContainer : : : ROOT has new state: EXECUTING
2018-06-21 11:32:55,816 : DEBUG : KNIME-Worker-71 : WorkflowManager : Scatter Plot (JavaScript) : 0:3 : Scatter Plot (JavaScript) 0:3 doBeforePreExecution
2018-06-21 11:32:55,816 : DEBUG : KNIME-Worker-71 : NodeContainer : Scatter Plot (JavaScript) : 0:3 : Scatter Plot (JavaScript) 0:3 has new state: PREEXECUTE
2018-06-21 11:32:55,816 : DEBUG : KNIME-Worker-71 : WorkflowManager : Scatter Plot (JavaScript) : 0:3 : Scatter Plot (JavaScript) 0:3 doBeforeExecution
2018-06-21 11:32:55,816 : DEBUG : KNIME-Worker-71 : NodeContainer : Scatter Plot (JavaScript) : 0:3 : Scatter Plot (JavaScript) 0:3 has new state: EXECUTING
2018-06-21 11:32:55,817 : DEBUG : KNIME-Worker-71 : WorkflowFileStoreHandlerRepository : Scatter Plot (JavaScript) : 0:3 : Adding handler 5b1e4b05-c2cf-4c7d-9dcd-76350f22a371 (Scatter Plot (JavaScript) 0:3: ) - 3 in total
2018-06-21 11:32:55,817 : DEBUG : KNIME-Worker-71 : LocalNodeExecutionJob : Scatter Plot (JavaScript) : 0:3 : Scatter Plot (JavaScript) 0:3 Start execute
2018-06-21 11:32:55,817 : DEBUG : KNIME-Worker-71 : Node : Scatter Plot (JavaScript) : 0:3 : reset
2018-06-21 11:32:55,817 : ERROR : KNIME-Worker-71 : Node : Scatter Plot (JavaScript) : 0:3 : Execute failed: org/knime/ext/phantomjs/PhantomJSImageGenerator
2018-06-21 11:32:55,818 : DEBUG : KNIME-Worker-71 : Node : Scatter Plot (JavaScript) : 0:3 : Execute failed: org/knime/ext/phantomjs/PhantomJSImageGenerator
java.lang.NoClassDefFoundError: org/knime/ext/phantomjs/PhantomJSImageGenerator
at org.knime.js.core.node.AbstractImageWizardNodeModel.renderViewAndCreateImage(AbstractImageWizardNodeModel.java:132)
at org.knime.js.core.node.AbstractImageWizardNodeModel.performExecute(AbstractImageWizardNodeModel.java:100)
at org.knime.js.core.node.AbstractWizardNodeModel.execute(AbstractWizardNodeModel.java:133)
at org.knime.core.node.NodeModel.executeModel(NodeModel.java:567)
at org.knime.core.node.Node.invokeFullyNodeModelExecute(Node.java:1172)
at org.knime.core.node.Node.execute(Node.java:959)
at org.knime.core.node.workflow.NativeNodeContainer.performExecuteNode(NativeNodeContainer.java:561)
at org.knime.core.node.exec.LocalNodeExecutionJob.mainExecute(LocalNodeExecutionJob.java:95)
at org.knime.core.node.workflow.NodeExecutionJob.internalRun(NodeExecutionJob.java:179)
at org.knime.core.node.workflow.NodeExecutionJob.run(NodeExecutionJob.java:110)
at org.knime.core.util.ThreadUtils$RunnableWithContextImpl.runWithContext(ThreadUtils.java:328)
at org.knime.core.util.ThreadUtils$RunnableWithContext.run(ThreadUtils.java:204)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at org.knime.core.util.ThreadPool$MyFuture.run(ThreadPool.java:123)
at org.knime.core.util.ThreadPool$Worker.run(ThreadPool.java:246)
2018-06-21 11:32:55,818 : DEBUG : KNIME-Worker-71 : WorkflowManager : Scatter Plot (JavaScript) : 0:3 : Scatter Plot (JavaScript) 0:3 doBeforePostExecution
2018-06-21 11:32:55,818 : DEBUG : KNIME-Worker-71 : NodeContainer : Scatter Plot (JavaScript) : 0:3 : Scatter Plot (JavaScript) 0:3 has new state: POSTEXECUTE
2018-06-21 11:32:55,818 : DEBUG : KNIME-Worker-71 : WorkflowManager : Scatter Plot (JavaScript) : 0:3 : Scatter Plot (JavaScript) 0:3 doAfterExecute - failure
2018-06-21 11:32:55,818 : DEBUG : KNIME-Worker-71 : Node : Scatter Plot (JavaScript) : 0:3 : reset
2018-06-21 11:32:55,818 : DEBUG : KNIME-Worker-71 : Node : Scatter Plot (JavaScript) : 0:3 : clean output ports.
2018-06-21 11:32:55,818 : DEBUG : KNIME-Worker-71 : WorkflowFileStoreHandlerRepository : Scatter Plot (JavaScript) : 0:3 : Removing handler 5b1e4b05-c2cf-4c7d-9dcd-76350f22a371 (Scatter Plot (JavaScript) 0:3: ) - 2 remaining
2018-06-21 11:32:55,818 : DEBUG : KNIME-Worker-71 : NodeContainer : Scatter Plot (JavaScript) : 0:3 : Scatter Plot (JavaScript) 0:3 has new state: IDLE
2018-06-21 11:32:55,819 : DEBUG : KNIME-Worker-71 : Node : Scatter Plot (JavaScript) : 0:3 : Configure succeeded. (Scatter Plot (JavaScript))
2018-06-21 11:32:55,819 : DEBUG : KNIME-Worker-71 : NodeContainer : Scatter Plot (JavaScript) : 0:3 : Scatter Plot (JavaScript) 0:3 has new state: CONFIGURED
2018-06-21 11:32:55,819 : DEBUG : KNIME-Worker-71 : NodeContainer : Scatter Plot (JavaScript) : 0:3 : JavaScriptPlot 0 has new state: CONFIGURED
2018-06-21 11:32:55,819 : DEBUG : KNIME-WFM-Parent-Notifier : NodeContainer : : : ROOT has new state: IDLE
I’ve tried the same plotting on machines with several Operating Systems, like CentOS6, CentOS7 and Ubuntu 16.04. However, all the trials on Linux resulted in failure with the same error. On the other hand, this phenomenon cannot be observed on Mac OS (Sierra).
By checking the community log, I found the information that turning-off the “Create image at outport” would work, and it really works. However, it would be much better to be able to get images on Linux machines, too.
Many thanks for your help, in advance.