I made a workflow to extract with the OSCAR Tager chemcial names from plain text. When transfroming taged text to structrue with the module "Term to Structure" since recently I get the error message (before workflow worked perfect)
ERROR Term to Structure Execute failed: Native Library C:\Users\Paul\.jnati\repo\jniinchi\1.03_1\WINDOWS-AMD64\JniInchi-1.03_1-WINDOWS-AMD64.dll already loaded in another classloader
Between 2.09 and 2.11 nothing changed in the Term to Structure node. I have no idea what could go wrong here. Can you post a full strack trace? Can you send the workflow that produces the error?
I do not know how to get the full strack trace. But I run the workflow until it stops because of besaid error. An additional remark, when runing node "term to structure" in KNIME under Win 8.1 node works 1 time and then produced the error.
You workflow works fine for me I can execute and reset the Term to Structure node many times. To get the full stack trace you can set the console log level to debug. File->Preferences->KNIME->KNIME Gui there check Debug and try to reproduce the error. The stack strace will be shown in the console.
Just tried to use the Term to Structure node for the first time (KNIME 4.3) and got this same error:
“JniInchi-1.03_1-WINDOWS-AMD64.dll already loaded in another classloader”
Did anyone every figure out what was causing the problem?
Windows Tasklist confirms that the only process using the dll is KNIME:
Image Name PID Modules
========================= ======== ============================================
knime.exe 25220 JniInchi-1.03_1-WINDOWS-AMD64.dll
Also, here is the stacktrace:
2021-02-20 14:29:59,159 : ERROR : KNIME-Worker-1956-Term To Structure 0:1270:1641 : : Node : Term To Structure : 0:1270:1641 : Execute failed: Native Library C:\Users\Josh.jnati\repo\jniinchi\1.03_1\WINDOWS-AMD64\JniInchi-1.03_1-WINDOWS-AMD64.dll already loaded in another classloader
java.lang.UnsatisfiedLinkError: Native Library C:\Users\Josh.jnati\repo\jniinchi\1.03_1\WINDOWS-AMD64\JniInchi-1.03_1-WINDOWS-AMD64.dll already loaded in another classloader
at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1900)
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1817)
at java.lang.Runtime.load0(Runtime.java:809)
at java.lang.System.load(System.java:1088)
at net.sf.jnati.deploy.NativeLibraryLoader.loadLibrary(NativeLibraryLoader.java:90)
at net.sf.jnati.deploy.NativeLibraryLoader.loadLibrary(NativeLibraryLoader.java:54)
at net.sf.jnati.deploy.NativeLibraryLoader.loadLibrary(NativeLibraryLoader.java:41)
at net.sf.jnati.deploy.NativeLibraryLoader.loadLibrary(NativeLibraryLoader.java:37)
at net.sf.jniinchi.JniInchiWrapper.loadLibrary(JniInchiWrapper.java:84)
at net.sf.jniinchi.JniInchiWrapper.getWrapper(JniInchiWrapper.java:128)
at net.sf.jniinchi.JniInchiWrapper.getInchi(JniInchiWrapper.java:238)
at uk.ac.cam.ch.wwmm.opsin.NameToInchi.opsinFragmentToInchi(NameToInchi.java:201)
at uk.ac.cam.ch.wwmm.opsin.NameToInchi.convertResultToInChI(NameToInchi.java:117)
at uk.ac.cam.ch.wwmm.opsin.NameToInchi.convertResultToInChI(NameToInchi.java:77)
at uk.ac.cam.ch.wwmm.oscar.opsin.OpsinDictionary.getInchis(OpsinDictionary.java:88)
at uk.ac.cam.ch.wwmm.oscar.chemnamedict.core.ChemNameDictRegistry.resolveNamedEntity(ChemNameDictRegistry.java:312)
at uk.ac.cam.ch.wwmm.oscar.Oscar.findAndResolveNamedEntities(Oscar.java:266)
at uk.ac.cam.ch.wwmm.oscar.Oscar.findAndResolveNamedEntities(Oscar.java:250)
at org.knime.ext.textprocessing.nodes.transformation.termtostructure.TermToStructureCellFactory.getCells(TermToStructureCellFactory.java:119)
at org.knime.core.data.container.RearrangeColumnsTable.calcNewCellsForRow(RearrangeColumnsTable.java:568)
at org.knime.core.data.container.RearrangeColumnsTable.calcNewColsSynchronously(RearrangeColumnsTable.java:488)
at org.knime.core.data.container.RearrangeColumnsTable.create(RearrangeColumnsTable.java:405)
at org.knime.core.node.ExecutionContext.createColumnRearrangeTable(ExecutionContext.java:430)
at org.knime.ext.textprocessing.nodes.transformation.termtostructure.TermToStructureNodeModel.execute(TermToStructureNodeModel.java:177)
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)