Knime reporting error in batch mode

Hi all

This is a follow up to this post, more details can be found here:
https://forum.knime.com/t/modern-ui-node-dialogs-are-blank-sometimes-when-on-a-vpn/74856

The short version is that the reporting functionality is failing when executing in batch mode on an internal server and we have no idea why. This is knime 5.2

The previous update corrected the issue locally, however when executing on the a server in batch mode we are seeing the following error

ERROR	 KNIME-Worker-5-Line Plot 3:166:0:164 Node	 Execute failed: Executing script failed with timeout. The script is: 'return (document.readyState == 'complete');'
java.util.concurrent.TimeoutException: Executing script failed with timeout. The script is: 'return (document.readyState == 'complete');'
	at org.knime.js.cef.headless.CEFHeadlessUtil.evaluateInBrowser(CEFHeadlessUtil.java:345)
	at org.knime.js.cef.headless.CEFHeadlessUtil.evaluateInBrowser(CEFHeadlessUtil.java:276)
	at org.knime.js.cef.headless.CEFHeadlessUtil.waitForDocumentReady(CEFHeadlessUtil.java:252)
	at org.knime.js.cef.headless.CEFHeadlessUtil.generateContent(CEFHeadlessUtil.java:207)
	at org.knime.js.cef.headless.CEFHeadlessUtil.generatePng(CEFHeadlessUtil.java:115)
	at org.knime.base.views.node.BaseViewsNodeModel.execute(BaseViewsNodeModel.java:242)
	at org.knime.core.node.NodeModel.executeModel(NodeModel.java:588)
	at org.knime.core.node.Node.invokeFullyNodeModelExecute(Node.java:1297)
	at org.knime.core.node.Node.execute(Node.java:1059)
	at org.knime.core.node.workflow.NativeNodeContainer.performExecuteNode(NativeNodeContainer.java:595)
	at org.knime.core.node.exec.LocalNodeExecutionJob.mainExecute(LocalNodeExecutionJob.java:98)
	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:367)
	at org.knime.core.util.ThreadUtils$RunnableWithContext.run(ThreadUtils.java:221)
	at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
	at java.base/java.util.concurrent.FutureTask.run(Unknown Source)
	at org.knime.core.util.ThreadPool$MyFuture.run(ThreadPool.java:123)
	at org.knime.core.util.ThreadPool$Worker.run(ThreadPool.java:246)

Any help or suggestions would be highly appreciated. Let me know if you need any additional information

Update: I have now managed to replicate the error locally so it no longer appears to be server related which simplifies things. Instead it seems to be caused by batch mode execution

For reference, we are running the knime workflow via a command like this:

"C:\Program Files\KNIME\knime.exe" -consoleLog -reset -nosplash --launcher.suppressErrors -application org.knime.product.KNIME_BATCH_APPLICATION -workflowFile="C:\path\to\dir\workflow.knwf" -workflow.variable=CONFIG_JSON_PATH,"C:\path\to\dr\knime_config.json",String -workflow.variable=WORKING_DIR,"C:\path\to\dir",String

For some reason, when executed like this the reporting extension cannot generate the views. I hope this helps narrow it down. Thanks

Here is a way to replicate the issue with the minimal viable example workflow

From a windows command prompt, run:

“C:\Program Files\KNIME\knime.exe” -consoleLog -reset -noexit -nosplash --launcher.suppressErrors -application org.knime.product.KNIME_BATCH_APPLICATION -workflowFile=“C:\Users\USER\Downloads\Reporting minimal example.knwf”

It gives this output:

INFO     main BatchExecutor      ===== Executing workflow C:\Users\USER\Downloads\Reporting minimal example.knwf =====
ERROR    KNIME-Worker-4-Component Output 3:3:0:4 ReportPortObject        java.util.concurrent.TimeoutException: Executing script failed with timeout. The script is: 'return (document.readyState == 'complete');'
ERROR    KNIME-Worker-4-Component Output 3:3:0:4 ReportPortObject        java.util.concurrent.TimeoutException: Executing script failed with timeout. The script is: 'return (document.readyState == 'complete');'
INFO     main BatchExecutor      Workflow execution done Finished in 33 secs (33990ms)
INFO     main BatchExecutor      Saved workflow availabe at: C:\Users\USER\Downloads\Reporting minimal example.knwf
INFO     main BatchExecutor      ============= Workflow executed sucessfully ===============

If you open the .knwf after the run you can see that the reporting node failed to generate the report.
(I also note that the component is blue in the example but is grey in the reports I create. I don’t know why that occurs but seems irrelevant here)

@hornm I hope you don’t mind me tagging you directly but you were very helpful last time we spoke.

I am wondering if your team are able to replicate this issue on their end?

Is anyone able to help me on this?

I have the same error with report generation? Were you able to solve it?

Hey @palaciosgmr,

I assume you are also on windows? Can you try this here. Let me know if that fixes the error for you.

Greetings,
Daniel

2 Likes

Hi @DanielBog . This isn’t working for me. Using the minimal viable reporting example I used the command:

"C:\Program Files\KNIME\knime.exe" -consoleLog -reset -noexit -nosplash --launcher.suppressErrors -application org.knime.product.KNIME_BATCH_APPLICATION -workflowFile="C:\Users\USER\Downloads\Reporting minimal example.knwf" -vmargs -Dchromium.multi_threaded_message_loop=true

Which gives this error:

INFO     main BatchExecutor      ===== Executing workflow C:\Users\USER\Downloads\Reporting minimal example.knwf =====
ERROR    main ArrowColumnStoreFactory    Failed to initialize LZ4 libraries. The Columnar Table Backend won't work properly.
java.lang.ExceptionInInitializerError
        at java.base/java.lang.Class.forName0(Native Method)
        at java.base/java.lang.Class.forName(Unknown Source)
        at org.bytedeco.javacpp.Loader.load(Loader.java:1282)
        at org.bytedeco.javacpp.Loader.load(Loader.java:1227)
        at org.bytedeco.javacpp.Loader.load(Loader.java:1219)
        at org.knime.core.columnar.arrow.ArrowColumnStoreFactory.<clinit>(ArrowColumnStoreFactory.java:93)
        at org.knime.core.columnar.arrow.ArrowColumnStoreFactory$ArrowColumnStoreFactoryCreator.createFactory(ArrowColumnStoreFactory.java:196)
        at org.knime.core.columnar.arrow.ArrowColumnStoreFactory$ArrowColumnStoreFactoryCreator.createFactory(ArrowColumnStoreFactory.java:1)
        at org.knime.core.data.columnar.ColumnStoreFactoryRegistry.createInstance(ColumnStoreFactoryRegistry.java:102)
        at org.knime.core.data.columnar.ColumnStoreFactoryRegistry.getOrCreateInstance(ColumnStoreFactoryRegistry.java:116)
        at org.knime.core.data.columnar.table.ColumnarContainerTableLoader.singletonColumnStoreFactoryAvailable(ColumnarContainerTableLoader.java:85)
        at org.knime.core.data.columnar.table.ColumnarContainerTableLoader.canLoad(ColumnarContainerTableLoader.java:74)
        at org.knime.core.node.ExtensionTableRegistry.lambda$3(ExtensionTableRegistry.java:130)
        at java.base/java.util.stream.ReferencePipeline$2$1.accept(Unknown Source)
        at java.base/java.util.ArrayList$ArrayListSpliterator.tryAdvance(Unknown Source)
        at java.base/java.util.stream.ReferencePipeline.forEachWithCancel(Unknown Source)
        at java.base/java.util.stream.AbstractPipeline.copyIntoWithCancel(Unknown Source)
        at java.base/java.util.stream.AbstractPipeline.copyInto(Unknown Source)
        at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(Unknown Source)
        at java.base/java.util.stream.FindOps$FindOp.evaluateSequential(Unknown Source)
        at java.base/java.util.stream.AbstractPipeline.evaluate(Unknown Source)
        at java.base/java.util.stream.ReferencePipeline.findFirst(Unknown Source)
        at org.knime.core.node.ExtensionTableRegistry.loadExtensionTable(ExtensionTableRegistry.java:131)
        at org.knime.core.node.ExtensionTable.loadExtensionTable(ExtensionTable.java:308)
        at org.knime.core.node.BufferedDataTable.loadFromFile(BufferedDataTable.java:888)
        at org.knime.core.node.BufferedDataTable.loadFromFile(BufferedDataTable.java:858)
        at org.knime.core.node.BufferedDataTable.loadFromFile(BufferedDataTable.java:858)
        at org.knime.core.node.FileNodePersistor.loadBufferedDataTable(FileNodePersistor.java:478)
        at org.knime.core.node.FileNodePersistor.loadPort(FileNodePersistor.java:367)
        at org.knime.core.node.FileNodePersistor.loadPorts(FileNodePersistor.java:331)
        at org.knime.core.node.FileNodePersistor.load(FileNodePersistor.java:996)
        at org.knime.core.node.workflow.FileNativeNodeContainerPersistor.loadNCAndWashModelSettings(FileNativeNodeContainerPersistor.java:256)
        at org.knime.core.node.workflow.FileSingleNodeContainerPersistor.loadNodeContainer(FileSingleNodeContainerPersistor.java:267)
        at org.knime.core.node.workflow.WorkflowManager.postLoad(WorkflowManager.java:8919)
        at org.knime.core.node.workflow.WorkflowManager.loadContent(WorkflowManager.java:8821)
        at org.knime.core.node.workflow.WorkflowManager.postLoad(WorkflowManager.java:8935)
        at org.knime.core.node.workflow.WorkflowManager.loadContent(WorkflowManager.java:8821)
        at org.knime.core.node.workflow.WorkflowManager.load(WorkflowManager.java:8684)
        at org.knime.core.node.workflow.WorkflowManager.load(WorkflowManager.java:8605)
        at org.knime.core.node.workflow.WorkflowManager.load(WorkflowManager.java:8578)
        at org.knime.core.node.workflow.WorkflowManager.loadProject(WorkflowManager.java:8423)
        at org.knime.core.node.workflow.BatchExecutor.loadWorkflow(BatchExecutor.java:750)
        at org.knime.core.node.workflow.BatchExecutor.runOne(BatchExecutor.java:917)
        at org.knime.core.node.workflow.BatchExecutor.runAll(BatchExecutor.java:899)
        at org.knime.core.node.workflow.BatchExecutor.mainRun(BatchExecutor.java:673)
        at org.knime.product.headless.KNIMEBatchApplication.runBatchExecutor(KNIMEBatchApplication.java:134)
        at org.knime.product.headless.KNIMEBatchApplication.start(KNIMEBatchApplication.java:87)
        at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:203)
        at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:136)
        at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
        at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:402)
        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:659)
        at org.eclipse.equinox.launcher.Main.basicRun(Main.java:596)
        at org.eclipse.equinox.launcher.Main.run(Main.java:1467)
Caused by: java.lang.reflect.InaccessibleObjectException: Unable to make void java.lang.Runtime.loadLibrary0(java.lang.Class,java.lang.String) accessible: module java.base does not "opens java.lang" to unnamed module @18356951
        at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(Unknown Source)
        at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(Unknown Source)
        at java.base/java.lang.reflect.Method.checkCanSetAccessible(Unknown Source)
        at java.base/java.lang.reflect.Method.setAccessible(Unknown Source)
        at org.bytedeco.javacpp.Loader.loadLibrary(Loader.java:1806)
        at org.bytedeco.javacpp.Loader.load(Loader.java:1322)
        at org.bytedeco.javacpp.Loader.load(Loader.java:1227)
        at org.bytedeco.javacpp.Loader.load(Loader.java:1203)
        at org.bytedeco.lz4.global.lz4.<clinit>(lz4.java:14)
        ... 59 more
ERROR    main ArrowColumnStoreFactory    Failed to initialize LZ4 libraries. The Columnar Table Backend won't work properly.
java.lang.ExceptionInInitializerError
        at java.base/java.lang.Class.forName0(Native Method)
        at java.base/java.lang.Class.forName(Unknown Source)
        at org.bytedeco.javacpp.Loader.load(Loader.java:1282)
        at org.bytedeco.javacpp.Loader.load(Loader.java:1227)
        at org.bytedeco.javacpp.Loader.load(Loader.java:1219)
        at org.knime.core.columnar.arrow.ArrowColumnStoreFactory.<clinit>(ArrowColumnStoreFactory.java:93)
        at org.knime.core.columnar.arrow.ArrowColumnStoreFactory$ArrowColumnStoreFactoryCreator.createFactory(ArrowColumnStoreFactory.java:196)
        at org.knime.core.columnar.arrow.ArrowColumnStoreFactory$ArrowColumnStoreFactoryCreator.createFactory(ArrowColumnStoreFactory.java:1)
        at org.knime.core.data.columnar.ColumnStoreFactoryRegistry.createInstance(ColumnStoreFactoryRegistry.java:102)
        at org.knime.core.data.columnar.ColumnStoreFactoryRegistry.getOrCreateInstance(ColumnStoreFactoryRegistry.java:116)
        at org.knime.core.data.columnar.table.ColumnarContainerTableLoader.singletonColumnStoreFactoryAvailable(ColumnarContainerTableLoader.java:85)
        at org.knime.core.data.columnar.table.ColumnarContainerTableLoader.canLoad(ColumnarContainerTableLoader.java:74)
        at org.knime.core.node.ExtensionTableRegistry.lambda$3(ExtensionTableRegistry.java:130)
        at java.base/java.util.stream.ReferencePipeline$2$1.accept(Unknown Source)
        at java.base/java.util.ArrayList$ArrayListSpliterator.tryAdvance(Unknown Source)
        at java.base/java.util.stream.ReferencePipeline.forEachWithCancel(Unknown Source)
        at java.base/java.util.stream.AbstractPipeline.copyIntoWithCancel(Unknown Source)
        at java.base/java.util.stream.AbstractPipeline.copyInto(Unknown Source)
        at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(Unknown Source)
        at java.base/java.util.stream.FindOps$FindOp.evaluateSequential(Unknown Source)
        at java.base/java.util.stream.AbstractPipeline.evaluate(Unknown Source)
        at java.base/java.util.stream.ReferencePipeline.findFirst(Unknown Source)
        at org.knime.core.node.ExtensionTableRegistry.loadExtensionTable(ExtensionTableRegistry.java:131)
        at org.knime.core.node.ExtensionTable.loadExtensionTable(ExtensionTable.java:308)
        at org.knime.core.node.BufferedDataTable.loadFromFile(BufferedDataTable.java:888)
        at org.knime.core.node.BufferedDataTable.loadFromFile(BufferedDataTable.java:858)
        at org.knime.core.node.BufferedDataTable.loadFromFile(BufferedDataTable.java:858)
        at org.knime.core.node.FileNodePersistor.loadBufferedDataTable(FileNodePersistor.java:478)
        at org.knime.core.node.FileNodePersistor.loadPort(FileNodePersistor.java:367)
        at org.knime.core.node.FileNodePersistor.loadPorts(FileNodePersistor.java:331)
        at org.knime.core.node.FileNodePersistor.load(FileNodePersistor.java:996)
        at org.knime.core.node.workflow.FileNativeNodeContainerPersistor.loadNCAndWashModelSettings(FileNativeNodeContainerPersistor.java:256)
        at org.knime.core.node.workflow.FileSingleNodeContainerPersistor.loadNodeContainer(FileSingleNodeContainerPersistor.java:267)
        at org.knime.core.node.workflow.WorkflowManager.postLoad(WorkflowManager.java:8919)
        at org.knime.core.node.workflow.WorkflowManager.loadContent(WorkflowManager.java:8821)
        at org.knime.core.node.workflow.WorkflowManager.postLoad(WorkflowManager.java:8935)
        at org.knime.core.node.workflow.WorkflowManager.loadContent(WorkflowManager.java:8821)
        at org.knime.core.node.workflow.WorkflowManager.load(WorkflowManager.java:8684)
        at org.knime.core.node.workflow.WorkflowManager.load(WorkflowManager.java:8605)
        at org.knime.core.node.workflow.WorkflowManager.load(WorkflowManager.java:8578)
        at org.knime.core.node.workflow.WorkflowManager.loadProject(WorkflowManager.java:8423)
        at org.knime.core.node.workflow.BatchExecutor.loadWorkflow(BatchExecutor.java:750)
        at org.knime.core.node.workflow.BatchExecutor.runOne(BatchExecutor.java:917)
        at org.knime.core.node.workflow.BatchExecutor.runAll(BatchExecutor.java:899)
        at org.knime.core.node.workflow.BatchExecutor.mainRun(BatchExecutor.java:673)
        at org.knime.product.headless.KNIMEBatchApplication.runBatchExecutor(KNIMEBatchApplication.java:134)
        at org.knime.product.headless.KNIMEBatchApplication.start(KNIMEBatchApplication.java:87)
        at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:203)
        at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:136)
        at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
        at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:402)
        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:659)
        at org.eclipse.equinox.launcher.Main.basicRun(Main.java:596)
        at org.eclipse.equinox.launcher.Main.run(Main.java:1467)
Caused by: java.lang.reflect.InaccessibleObjectException: Unable to make void java.lang.Runtime.loadLibrary0(java.lang.Class,java.lang.String) accessible: module java.base does not "opens java.lang" to unnamed module @18356951
        at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(Unknown Source)
        at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(Unknown Source)
        at java.base/java.lang.reflect.Method.checkCanSetAccessible(Unknown Source)
        at java.base/java.lang.reflect.Method.setAccessible(Unknown Source)
        at org.bytedeco.javacpp.Loader.loadLibrary(Loader.java:1806)
        at org.bytedeco.javacpp.Loader.load(Loader.java:1322)
        at org.bytedeco.javacpp.Loader.load(Loader.java:1227)
        at org.bytedeco.javacpp.Loader.load(Loader.java:1203)
        at org.bytedeco.lz4.global.lz4.<clinit>(lz4.java:14)
        ... 59 more
!SESSION 2024-03-20 12:46:09.610 -----------------------------------------------
eclipse.buildId=unknown
java.version=17.0.5
java.vendor=Eclipse Adoptium
BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=en_GB
Framework arguments:  -reset -application org.knime.product.KNIME_BATCH_APPLICATION -workflowFile=C:\Users\camer1467\Downloads\Reporting minimal example.knwf
Command-line arguments:  -os win32 -ws win32 -arch x86_64 -consoleLog -reset -application org.knime.product.KNIME_BATCH_APPLICATION -workflowFile=C:\Users\camer1467\Downloads\Reporting minimal example.knwf

!ENTRY org.eclipse.osgi 4 0 2024-03-20 12:46:13.598
!MESSAGE Application error
!STACK 1
java.lang.ExceptionInInitializerError
        at java.base/java.lang.Class.forName0(Native Method)
        at java.base/java.lang.Class.forName(Unknown Source)
        at org.bytedeco.javacpp.Loader.load(Loader.java:1282)
        at org.bytedeco.javacpp.Loader.load(Loader.java:1227)
        at org.bytedeco.javacpp.Loader.load(Loader.java:1219)
        at org.knime.core.columnar.arrow.ArrowColumnStoreFactory.<clinit>(ArrowColumnStoreFactory.java:93)
        at org.knime.core.columnar.arrow.ArrowColumnStoreFactory$ArrowColumnStoreFactoryCreator.createFactory(ArrowColumnStoreFactory.java:196)
        at org.knime.core.columnar.arrow.ArrowColumnStoreFactory$ArrowColumnStoreFactoryCreator.createFactory(ArrowColumnStoreFactory.java:1)
        at org.knime.core.data.columnar.ColumnStoreFactoryRegistry.createInstance(ColumnStoreFactoryRegistry.java:102)
        at org.knime.core.data.columnar.ColumnStoreFactoryRegistry.getOrCreateInstance(ColumnStoreFactoryRegistry.java:116)
        at org.knime.core.data.columnar.table.ColumnarContainerTableLoader.singletonColumnStoreFactoryAvailable(ColumnarContainerTableLoader.java:85)
        at org.knime.core.data.columnar.table.ColumnarContainerTableLoader.canLoad(ColumnarContainerTableLoader.java:74)
        at org.knime.core.node.ExtensionTableRegistry.lambda$3(ExtensionTableRegistry.java:130)
        at java.base/java.util.stream.ReferencePipeline$2$1.accept(Unknown Source)
        at java.base/java.util.ArrayList$ArrayListSpliterator.tryAdvance(Unknown Source)
        at java.base/java.util.stream.ReferencePipeline.forEachWithCancel(Unknown Source)
        at java.base/java.util.stream.AbstractPipeline.copyIntoWithCancel(Unknown Source)
        at java.base/java.util.stream.AbstractPipeline.copyInto(Unknown Source)
        at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(Unknown Source)
        at java.base/java.util.stream.FindOps$FindOp.evaluateSequential(Unknown Source)
        at java.base/java.util.stream.AbstractPipeline.evaluate(Unknown Source)
        at java.base/java.util.stream.ReferencePipeline.findFirst(Unknown Source)
        at org.knime.core.node.ExtensionTableRegistry.loadExtensionTable(ExtensionTableRegistry.java:131)
        at org.knime.core.node.ExtensionTable.loadExtensionTable(ExtensionTable.java:308)
        at org.knime.core.node.BufferedDataTable.loadFromFile(BufferedDataTable.java:888)
        at org.knime.core.node.BufferedDataTable.loadFromFile(BufferedDataTable.java:858)
        at org.knime.core.node.BufferedDataTable.loadFromFile(BufferedDataTable.java:858)
        at org.knime.core.node.FileNodePersistor.loadBufferedDataTable(FileNodePersistor.java:478)
        at org.knime.core.node.FileNodePersistor.loadPort(FileNodePersistor.java:367)
        at org.knime.core.node.FileNodePersistor.loadPorts(FileNodePersistor.java:331)
        at org.knime.core.node.FileNodePersistor.load(FileNodePersistor.java:996)
        at org.knime.core.node.workflow.FileNativeNodeContainerPersistor.loadNCAndWashModelSettings(FileNativeNodeContainerPersistor.java:256)
        at org.knime.core.node.workflow.FileSingleNodeContainerPersistor.loadNodeContainer(FileSingleNodeContainerPersistor.java:267)
        at org.knime.core.node.workflow.WorkflowManager.postLoad(WorkflowManager.java:8919)
        at org.knime.core.node.workflow.WorkflowManager.loadContent(WorkflowManager.java:8821)
        at org.knime.core.node.workflow.WorkflowManager.postLoad(WorkflowManager.java:8935)
        at org.knime.core.node.workflow.WorkflowManager.loadContent(WorkflowManager.java:8821)
        at org.knime.core.node.workflow.WorkflowManager.load(WorkflowManager.java:8684)
        at org.knime.core.node.workflow.WorkflowManager.load(WorkflowManager.java:8605)
        at org.knime.core.node.workflow.WorkflowManager.load(WorkflowManager.java:8578)
        at org.knime.core.node.workflow.WorkflowManager.loadProject(WorkflowManager.java:8423)
        at org.knime.core.node.workflow.BatchExecutor.loadWorkflow(BatchExecutor.java:750)
        at org.knime.core.node.workflow.BatchExecutor.runOne(BatchExecutor.java:917)
        at org.knime.core.node.workflow.BatchExecutor.runAll(BatchExecutor.java:899)
        at org.knime.core.node.workflow.BatchExecutor.mainRun(BatchExecutor.java:673)
        at org.knime.product.headless.KNIMEBatchApplication.runBatchExecutor(KNIMEBatchApplication.java:134)
        at org.knime.product.headless.KNIMEBatchApplication.start(KNIMEBatchApplication.java:87)
        at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:203)
        at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:136)
        at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
        at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:402)
        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:659)
        at org.eclipse.equinox.launcher.Main.basicRun(Main.java:596)
        at org.eclipse.equinox.launcher.Main.run(Main.java:1467)
Caused by: java.lang.reflect.InaccessibleObjectException: Unable to make void java.lang.Runtime.loadLibrary0(java.lang.Class,java.lang.String) accessible: module java.base does not "opens java.lang" to unnamed module @18356951
        at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(Unknown Source)
        at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(Unknown Source)
        at java.base/java.lang.reflect.Method.checkCanSetAccessible(Unknown Source)
        at java.base/java.lang.reflect.Method.setAccessible(Unknown Source)
        at org.bytedeco.javacpp.Loader.loadLibrary(Loader.java:1806)
        at org.bytedeco.javacpp.Loader.load(Loader.java:1322)
        at org.bytedeco.javacpp.Loader.load(Loader.java:1227)
        at org.bytedeco.javacpp.Loader.load(Loader.java:1203)
        at org.bytedeco.lz4.global.lz4.<clinit>(lz4.java:14)
        ... 59 more

Any suggestions? (KNIME 5.2.0)

Hey @Camderman106,

this sounds like a different problem and points towards problems with the columnar backend.
I am not an expert in this area but this sounds very similar to this. Does that help?

Greetings,
Daniel

Hi @DanielBog
I checked your suggestion but the columnar backend is listed correctly as a dependency. This issue only appeared when that vm argument was added. The workflow runs successfully using the GUI, and it runs up until the report node when using the original command. So I don’t think there’s anything actually wrong with the columnar backend

Hey,

could you check if it works if you turn off the columnar backend?
Might be that this parameter interferes with the columnar backend.

Greetings,
Daniel

1 Like

Ahh good shout. Sorry I suppose that was your original intention!

That fixed the problem! Row based backend is my default backend, and my other workflows use it. The minimal reporting example was set to use columnar, but changing this and re-exporting it allowed it to run successfully.

So I think your hunch was correct. This parameter interferes with columnar backend

Great to hear and thank you for checking.
We will check why this is the case and we will inform in this channel once we have figured it out.

Greetings,
Daniel

2 Likes

Hey @Camderman106,

the reason for this is, that as soon as you set the vm arguments via the command line, the vm arguments from the knime.ini will be ignored. But these are needed for the columnar backend to work properly. If you write the chromium vm argument into the knime ini instead of the command line it should also work with the columnar backend set.

Greetings,
Daniel

2 Likes

Excellent, thank you so much for your assistance.
I have confirmed both the row based version and the columnar based version work with this argument set at the bottom of the default .ini file

-Dchromium.multi_threaded_message_loop=true

If i run in to any issues with the more complex reporting workflows I shall let you know

3 Likes

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