Error when Ilastik Headless node

Dear all,

Can you help me understand the error message I get when executing the Ilastik Headless Pixel Classification node?

ERROR Ilastik Headless (Pixel classification) 0:21       Execute failed: java.lang.IllegalStateException: Execution of ilastik was not successful.
ERROR Ilastik Headless (Pixel classification) 0:539      [ERROR] Error while executing Ilastik.
java.lang.IllegalStateException: Execution of ilastik was not successful.
	at org.knime.knip.ilastik.nodes.headless.IlastikHeadlessNodeModel.runIlastik(IlastikHeadlessNodeModel.java:497)
	at org.knime.knip.ilastik.nodes.headless.IlastikHeadlessNodeModel.execute(IlastikHeadlessNodeModel.java:307)
	at org.knime.core.node.NodeModel.execute(NodeModel.java:747)
	at org.knime.core.node.NodeModel.executeModel(NodeModel.java:576)
	at org.knime.core.node.Node.invokeFullyNodeModelExecute(Node.java:1245)
	at org.knime.core.node.Node.execute(Node.java:1025)
	at org.knime.core.node.workflow.NativeNodeContainer.performExecuteNode(NativeNodeContainer.java:558)
	at org.knime.core.node.exec.LocalNodeExecutionJob.mainExecute(LocalNodeExecutionJob.java:95)
	at org.knime.core.node.workflow.NodeExecutionJob.internalRun(NodeExecutionJob.java:201)
	at org.knime.core.node.workflow.NodeExecutionJob.run(NodeExecutionJob.java:117)
	at org.knime.core.util.ThreadUtils$RunnableWithContextImpl.runWithContext(ThreadUtils.java:334)
	at org.knime.core.util.ThreadUtils$RunnableWithContext.run(ThreadUtils.java:210)
	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)"

The error also occurs when running a previously established workflow with previously processed data and established ilastik training that originally worked fine. My ilastik installation seems to work fine (from the gui) and training files appear to be linked to the correct image data paths.

Thanks for any kind of input!

1 Like

Hi @voigfran,

A few questions to be able to reproduce this issue:

  • Which KNIME Analytics Platform version are you running?
  • Which version of KNIME Image Processing - Ilastik Integration do you have installed?
  • Which version of ilastik are you referencing in your KNIME preferences?
  • Which version of ilastik have you used to create the project?

Best regards,
Stefan

Hi Stefan,
Thanks for getting back to me.
You are right, it seems to be a compatibility issue between different software versions. I have since managed to run the workflow on an older maschine (same workflow, same data).

The set-up that is not running:
KNIME 4.3.1, Ilastik Headless Pixel Classification (–> how do I find out about the version of a node?), KNIME uses ilastik-1.3.3post3-OSX.app, and I have tried different versions to generate ilastik project files but the most recent is generated by the same installation: ilastik-1.3.3post3-OSX

The set-up that is running:
KNIME 3.7.2, Ilastik Headless Pixel Classification node using ilastik-1.1.8-OSX.app

Best, franka

In KNIME you can go to Help > About KNIME Analytics Platform > Installations Details. In that dialog you can filter for ilastik and copy and paste the respective row in here.

I am pretty sure that I was able to run a project with ilastik-1.3.3post2-OSX, if I am not mistaken, not too long ago. I’ll give it another try and report back!

Best,
Stefan

I was able to run a project created with ilastik-1.3.3post3-OSX.app using KNIME Image Processing - Ilastik Integration 0.3.6.v201907171245 (which is the latest stable version).

Could you take a log at the KNIME log (View > Open KNIME log) to see if there’s more information in there? Usually, ilastik is pretty verbose about errors and provides good insights into what might go wrong.

Also, what structure do your input images have? Single-channel or multi-channel? If it’s the latter, could you try to create a project with a single channel to see if it works? Thank you!

Best,
Stefan

2 Likes

That’s the same Ilastik integration I am using:
" KNIME Image Processing - Ilastik Integration 0.3.6.v201907171245 org.knime.knip.ilastik.feature.feature.group University of Konstanz / University of Heidelberg"

This is the log output:
“2021-06-14 09:37:04,771 : ERROR : KNIME-Worker-23-Ilastik Headless (Pixel classification) 0:21 : : Node : Ilastik Headless (Pixel classification) : 0:21 : Execute failed: java.lang.IllegalStateException: Execution of ilastik was not successful.
java.lang.IllegalStateException: java.lang.IllegalStateException: Execution of ilastik was not successful.
at org.knime.knip.ilastik.nodes.headless.IlastikHeadlessNodeModel.execute(IlastikHeadlessNodeModel.java:339)
at org.knime.core.node.NodeModel.execute(NodeModel.java:747)
at org.knime.core.node.NodeModel.executeModel(NodeModel.java:576)
at org.knime.core.node.Node.invokeFullyNodeModelExecute(Node.java:1245)
at org.knime.core.node.Node.execute(Node.java:1025)
at org.knime.core.node.workflow.NativeNodeContainer.performExecuteNode(NativeNodeContainer.java:558)
at org.knime.core.node.exec.LocalNodeExecutionJob.mainExecute(LocalNodeExecutionJob.java:95)
at org.knime.core.node.workflow.NodeExecutionJob.internalRun(NodeExecutionJob.java:201)
at org.knime.core.node.workflow.NodeExecutionJob.run(NodeExecutionJob.java:117)
at org.knime.core.util.ThreadUtils$RunnableWithContextImpl.runWithContext(ThreadUtils.java:334)
at org.knime.core.util.ThreadUtils$RunnableWithContext.run(ThreadUtils.java:210)
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)
Caused by: java.lang.IllegalStateException: Execution of ilastik was not successful.
at org.knime.knip.ilastik.nodes.headless.IlastikHeadlessNodeModel.runIlastik(IlastikHeadlessNodeModel.java:497)
at org.knime.knip.ilastik.nodes.headless.IlastikHeadlessNodeModel.execute(IlastikHeadlessNodeModel.java:307)
… 14 more”

The input images are single-channel already.
Thanks again for your help!
franka

Hi,

I am running into the exact same problem. I am using KNIME 4.3.3 and the ilastik plugin ilastik-1.3.3post3-OSX.app.
When I am launching KNIME, I get the following error message:

ERROR NativeLibBundleActivator /Applications/KNIME 4.3.0.app/Contents/Eclipse/plugins/org.knime.knip.tess4j.bin.macosx.amd64_1.3.3.v201807091457/lib/macosx/amd64/libtesseract.3.dylib: dlopen(/Applications/KNIME 4.3.0.app/Contents/Eclipse/plugins/org.knime.knip.tess4j.bin.macosx.amd64_1.3.3.v201807091457/lib/macosx/amd64/libtesseract.3.dylib, 1): Library not loaded: /usr/local/lib/liblept.4.dylib
Referenced from: /Applications/KNIME 4.3.0.app/Contents/Eclipse/plugins/org.knime.knip.tess4j.bin.macosx.amd64_1.3.3.v201807091457/lib/macosx/amd64/libtesseract.3.dylib
Reason: image not found
ERROR NativeLibBundleActivator Could not load org.knime.knip.tess4j

I can run other nodes, but as soon as I start ilastik always into the same error as mentioned by voigfran.

Best,
Chris

No lines that start with KNIPLogService before that excerpt that you have posted? :thinking: I also noticed that we are looking at two different places where things go wrong apparently: Your first log file mentions IlastikHeadlessNodeModel.java:497 while the second one mentions IlastikHeadlessNodeModel.java:339. Could you please change the log file level via File > Preferences > KNIME to DEBUG? This should write some additional information into the logfile (not the console).

Could you maybe post a screenshot of the configuration dialog of the node? Also, do you see the same result when changing the Column Creating Mode to something else?

Best,
Stefan

HI @CyrChris,

Those error messages are not related to ilastik, but Tess4J: Please speak up in Tess4J node and macOS Catalina - #5 by dliebe. Thank you!

Best,
Stefan