Jython Script nodes no longer working (AP v 5.3 onwards)

We are investigating updating a server executor from KNIME AP v5.2 to 5.4, and have discovered that the Jython script nodes (of which we have many, in workflows which have run for 10+ years on the server with very little modification!) no longer work.

The error message in the log is always as follows:

2025-09-09 11:04:49,502 : ERROR : KNIME-Worker-35-JPython Script 1:1 (Legacy) 3:394:0:394 :  : Node : JPython Script 1:1 (Legacy) : 3:394:0:394 : Execute failed: Jython error (see console for error log).
java.lang.Exception: Jython error (see console for error log).
	at org.knime.ext.jython.PythonScriptNodeModel.execute(PythonScriptNodeModel.java:257)
	at org.knime.core.node.NodeModel.execute(NodeModel.java:816)
	at org.knime.core.node.NodeModel.executeModel(NodeModel.java:592)
	at org.knime.core.node.Node.invokeFullyNodeModelExecute(Node.java:1286)
	at org.knime.core.node.Node.execute(Node.java:1049)
	at org.knime.core.node.workflow.NativeNodeContainer.performExecuteNode(NativeNodeContainer.java:605)
	at org.knime.core.node.exec.LocalNodeExecutionJob.mainExecute(LocalNodeExecutionJob.java:98)
	at org.knime.core.node.workflow.NodeExecutionJob.internalRun(NodeExecutionJob.java:198)
	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)
Caused by: Traceback (innermost last):
  File "<>", line 52, in ?
NameError: AppendedColumnRow

	at org.python.core.Py.NameError(Unknown Source)
	at org.python.core.PyFrame.getglobal(Unknown Source)
	at org.python.core.PyFrame.getname(Unknown Source)
	at org.python.pycode._pyx1.f$0(<>:52)
	at org.python.pycode._pyx1.call_function(<>)
	at org.python.core.PyTableCode.call(Unknown Source)
	at org.python.core.PyCode.call(Unknown Source)
	at org.python.core.Py.runCode(Unknown Source)
	at org.python.core.Py.exec(Unknown Source)
	at org.python.util.PythonInterpreter.exec(Unknown Source)
	at org.knime.ext.jython.PythonScriptNodeModel.execute(PythonScriptNodeModel.java:252)
	... 14 more

This seems to be the case for AP v5.3 and AP v5.4.

I know that the Jython scripting extension is now marked ‘legacy’, but previously it has been the case that legacy nodes should carry on working (it’s in the Noding Guidelines!) Is there a fix for this or do we need to re-write workflows to eliminate these nodes?

(For anyone wondering what they even are and why they might be used, they were for a long time the only way to do anything in Python within KNIME, and I think were donated by Tripos, a cheminformatics company)

Steve

1 Like

Hi Steve!

Apologies for the delayed response. We can reproduce the issue (and also the test system … different topic).

We have a fix (want to take a peek at the pull request?) but have not fully understand the root cause - we suspect some minor class loading change after a java or eclipse update, which happened last year in March.

Can you quickly confirm it’s also working for you: python-legacy_update_5.4.4.nightly.zip (Google Drive Link)

3 Likes

Many thanks Bernd

That works - 3 green ‘traffic lights’ is making me very happy this morning!

Is there any possibility of that patch being backported to AP v5.3 or will I have to make the jump directly to 5.4 on our servers?

I do recall there being mention in one of the community preview releases of an Eclipse version bump which included changes to the classloader system.

As for the test system… Well, you have me intrigued, but I suspect you will tell me you have to tell me over a beer?!

Best,

Steve

(Discussion over beer sounds good :slight_smile: )

The fix will be in 5.8, and has been backported to 5.5, 5.4, 5.3 (because these are long-term support). I am uncertain as to when we will release the updates.

What’s your timeline with regard to migrating to 5.3/5.4?

1 Like

Thanks Berndt.

Timeline is when:

  1. I have this fix available
  2. (For 5.4) I work out how to block access to K-AI or at least reverse the “on by default”

For 5.5, it becomes “When I figure why our internal codebase fails to build”(!)

Steve

Internal ticket ID: AP-24982
Summary: (Legacy) Jython scripting nodes no longer working when using “AppendedColumnRow”
Fix version(s): 5.3.4, 5.4.6, 5.5.2, 5.8.0

1 Like

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