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:
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)
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
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?
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
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
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.
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