PROBLEM KNIME EXECUTABLES ON BATCH

Hi Knime team,

I have a problem with launching Knime executables.

With our team we schedule workflow launches via a .bat in the backgorund on a Windows server, and finally we collect the flow launch in .zip format and upload the log (the one created by the software in “\workspace.metadata\knime\knime.log” )

We actually have many launches scheduled in parallel, but sometimes these launches fail, apparently without even starting with the executable.

We can’t understand why.
Below I leave the anomalies collected:

!ENTRY org.eclipse.osgi 4 0 2024-09-20 07:34:03.951
!MESSAGE Unable to extract content: osgi.identity; osgi.identity=“de.mpc.pia.knime.dependencies”; type=“osgi.bundle”; version:Version=“1.4.6.v202206101448”; singleton:=“true”: libs/pia/lib/commons-net-2.2.jar
!STACK 0
java.nio.file.FileSystemException: D:\Program Files\knime_4.6.0\configuration\org.eclipse.osgi\199\0.cp\libs\pia\lib\commons-net-2.2.jar: The process cannot access the file because it is being used by another process



!ENTRY de.mpc.pia.knime.dependencies 4 0 2024-09-20 07:34:04.548
!MESSAGE FrameworkEvent ERROR
!STACK 0
java.io.IOException: Exception in opening zip file: D:\Program Files\knime_4.6.0\configuration\org.eclipse.osgi\199\0.cp\libs\pia\lib\jmztab-modular-model-3.0.8.jar
at org.eclipse.osgi.framework.util.SecureAction.getZipFile(SecureAction.java:353)


Caused by: java.io.IOException: The file “D:\Program Files\knime_4.6.0\configuration\org.eclipse.osgi\213\0.cp\lib\fastutil-6.5.1.jar” does not exist
at org.eclipse.osgi.storage.bundlefile.ZipBundleFile.(ZipBundleFile.java:43)
at org.eclipse.osgi.storage.Storage.createBundleFile(Storage.java:1202)
… 128 more

!ENTRY org.eclipse.osgi 4 0 2024-09-20 07:34:06.997
!MESSAGE Application error
!STACK 1
java.lang.IllegalStateException: Unable to acquire application service. Ensure that the org.eclipse.core.runtime bundle is resolved and started (see config.ini).
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:81)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:401)
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:653)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:590)
at org.eclipse.equinox.launcher.Main.run(Main.java:1461)



Caused by: java.io.IOException: The file “D:\Program Files\knime_4.6.0\configuration\org.eclipse.osgi\213\0.cp\lib\fastutil-6.5.1.jar” does not exist
at org.eclipse.osgi.storage.bundlefile.ZipBundleFile.(ZipBundleFile.java:43)
at org.eclipse.osgi.storage.Storage.createBundleFile(Storage.java:1202)
… 128 more
Root exception:
java.lang.NoClassDefFoundError: org/eclipse/core/runtime/Plugin
at java.base/java.lang.ClassLoader.defineClass1(Native Method)

This might be the problem, since the batch process just starts KNIME and typically KNIME does not like several instances of the software to run at the same time. What I can think about to make this more stable is to have separate instances of KNIME in separate folders with separate workspaces.

Other things you could try is set up logs per workflow if you think this is a problem and you also can set logs for each launch so as to investigate further.

Also you could try and call sub-workflows from a main one although you might have to insert fixed paths as workflow variables

And then there always is the KNIME Business Hub or the Team Plan on the central KNIME Hub …

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.