ow2-proactive / jsr223-cpython

JSR223 script engine for CPython
GNU Affero General Public License v3.0
1 stars 5 forks source link

Script engine execution fails on python3 #16

Closed fviale closed 5 years ago

fviale commented 5 years ago

When running print("hello world") using python3, the following error message appears:

[57t0@try.activeeon.com;00:47:46] Traceback (most recent call last): 
[57t0@try.activeeon.com;00:47:46] File "/tmp/jsr223-cpython-7412619575473794336.cpy", line 4, in <module> 
[57t0@try.activeeon.com;00:47:46] params = GatewayParameters(auth_token = os.environ['CPYTHON_TOKEN'], port=39819, auto_convert=True) 
[57t0@try.activeeon.com;00:47:46] TypeError: __init__() got an unexpected keyword argument 'auth_token' 
[57t0@try.activeeon.com;00:47:46] Failed to execute task: Python process execution has failed with exit code 1 
[57t0@try.activeeon.com;00:47:46] at org.ow2.proactive.scheduler.task.executors.InProcessTaskExecutor.execute(InProcessTaskExecutor.java:292) 
[57t0@try.activeeon.com;00:47:46] at org.ow2.proactive.scheduler.task.executors.InProcessTaskExecutor.execute(InProcessTaskExecutor.java:167) 
[57t0@try.activeeon.com;00:47:46] at org.ow2.proactive.scheduler.task.executors.forked.env.ExecuteForkedTaskInsideNewJvm.fromForkedJVM(ExecuteForkedTaskInsideNewJvm.java:126) 
[57t0@try.activeeon.com;00:47:46] at org.ow2.proactive.scheduler.task.executors.forked.env.ExecuteForkedTaskInsideNewJvm.main(ExecuteForkedTaskInsideNewJvm.java:110) 
[57t0@try.activeeon.com;00:47:46] Caused by: org.ow2.proactive.scripting.ScriptException: Python process execution has failed with exit code 1 
[57t0@try.activeeon.com;00:47:46] at jsr223.cpython.PythonScriptEngine.eval(PythonScriptEngine.java:165) 
[57t0@try.activeeon.com;00:47:46] at jsr223.cpython.PythonScriptEngine.eval(PythonScriptEngine.java:250) 
[57t0@try.activeeon.com;00:47:46] at javax.script.AbstractScriptEngine.eval(AbstractScriptEngine.java:249) 
[57t0@try.activeeon.com;00:47:46] at org.ow2.proactive.scripting.Script.execute(Script.java:412) 
[57t0@try.activeeon.com;00:47:46] at org.ow2.proactive.scripting.ScriptHandler.handle(ScriptHandler.java:65) 
[57t0@try.activeeon.com;00:47:46] at org.ow2.proactive.scheduler.task.executors.InProcessTaskExecutor.execute(InProcessTaskExecutor.java:288) 
[57t0@try.activeeon.com;00:47:46] ... 3 more 

This issue does not appear with python 2

pedrovelho commented 5 years ago

I confirm the same problem on tryqa. It might be the scriptengine after all.

1235t0@tryqa.activeeon.com;10:15:19] Traceback (most recent call last):
[1235t0@tryqa.activeeon.com;10:15:19] File "/tmp/jsr223-cpython-1904878495651849192.cpy", line 4, in <module>
[1235t0@tryqa.activeeon.com;10:15:19] params = GatewayParameters(auth_token = os.environ['CPYTHON_TOKEN'], port=42442, auto_convert=True)
[1235t0@tryqa.activeeon.com;10:15:19] TypeError: __init__() got an unexpected keyword argument 'auth_token'
[1235t0@tryqa.activeeon.com;10:15:19] Failed to execute task: Python process execution has failed with exit code 1
[1235t0@tryqa.activeeon.com;10:15:19] at org.ow2.proactive.scheduler.task.executors.InProcessTaskExecutor.execute(InProcessTaskExecutor.java:292)
[1235t0@tryqa.activeeon.com;10:15:19] at org.ow2.proactive.scheduler.task.executors.InProcessTaskExecutor.execute(InProcessTaskExecutor.java:167)
[1235t0@tryqa.activeeon.com;10:15:19] at org.ow2.proactive.scheduler.task.executors.forked.env.ExecuteForkedTaskInsideNewJvm.fromForkedJVM(ExecuteForkedTaskInsideNewJvm.java:126)
[1235t0@tryqa.activeeon.com;10:15:19] at org.ow2.proactive.scheduler.task.executors.forked.env.ExecuteForkedTaskInsideNewJvm.main(ExecuteForkedTaskInsideNewJvm.java:110)
[1235t0@tryqa.activeeon.com;10:15:19] Caused by: org.ow2.proactive.scripting.ScriptException: Python process execution has failed with exit code 1
[1235t0@tryqa.activeeon.com;10:15:19] at jsr223.cpython.PythonScriptEngine.eval(PythonScriptEngine.java:165)
[1235t0@tryqa.activeeon.com;10:15:19] at jsr223.cpython.PythonScriptEngine.eval(PythonScriptEngine.java:250)
[1235t0@tryqa.activeeon.com;10:15:19] at javax.script.AbstractScriptEngine.eval(AbstractScriptEngine.java:249)
[1235t0@tryqa.activeeon.com;10:15:19] at org.ow2.proactive.scripting.Script.execute(Script.java:412)
[1235t0@tryqa.activeeon.com;10:15:19] at org.ow2.proactive.scripting.ScriptHandler.handle(ScriptHandler.java:65)
[1235t0@tryqa.activeeon.com;10:15:19] at org.ow2.proactive.scheduler.task.executors.InProcessTaskExecutor.execute(InProcessTaskExecutor.java:288)
[1235t0@tryqa.activeeon.com;10:15:19] ... 3 more
[1235t0@tryqa.activeeon.com;10:15:30] Traceback (most recent call last):
[1235t0@tryqa.activeeon.com;10:15:30] File "/tmp/jsr223-cpython-7527414565226665938.cpy", line 4, in <module>
[1235t0@tryqa.activeeon.com;10:15:30] params = GatewayParameters(auth_token = os.environ['CPYTHON_TOKEN'], port=35620, auto_convert=True)
[1235t0@tryqa.activeeon.com;10:15:30] TypeError: __init__() got an unexpected keyword argument 'auth_token'
[1235t0@tryqa.activeeon.com;10:15:30] Failed to execute task: Python process execution has failed with exit code 1
[1235t0@tryqa.activeeon.com;10:15:30] at org.ow2.proactive.scheduler.task.executors.InProcessTaskExecutor.execute(InProcessTaskExecutor.java:292)
[1235t0@tryqa.activeeon.com;10:15:30] at org.ow2.proactive.scheduler.task.executors.InProcessTaskExecutor.execute(InProcessTaskExecutor.java:167)
[1235t0@tryqa.activeeon.com;10:15:30] at org.ow2.proactive.scheduler.task.executors.forked.env.ExecuteForkedTaskInsideNewJvm.fromForkedJVM(ExecuteForkedTaskInsideNewJvm.java:126)
[1235t0@tryqa.activeeon.com;10:15:30] at org.ow2.proactive.scheduler.task.executors.forked.env.ExecuteForkedTaskInsideNewJvm.main(ExecuteForkedTaskInsideNewJvm.java:110)
[1235t0@tryqa.activeeon.com;10:15:30] Caused by: org.ow2.proactive.scripting.ScriptException: Python process execution has failed with exit code 1
[1235t0@tryqa.activeeon.com;10:15:30] at jsr223.cpython.PythonScriptEngine.eval(PythonScriptEngine.java:165)
[1235t0@tryqa.activeeon.com;10:15:30] at jsr223.cpython.PythonScriptEngine.eval(PythonScriptEngine.java:250)
[1235t0@tryqa.activeeon.com;10:15:30] at javax.script.AbstractScriptEngine.eval(AbstractScriptEngine.java:249)
[1235t0@tryqa.activeeon.com;10:15:30] at org.ow2.proactive.scripting.Script.execute(Script.java:412)
[1235t0@tryqa.activeeon.com;10:15:30] at org.ow2.proactive.scripting.ScriptHandler.handle(ScriptHandler.java:65)
[1235t0@tryqa.activeeon.com;10:15:30] at org.ow2.proactive.scheduler.task.executors.InProcessTaskExecutor.execute(InProcessTaskExecutor.java:288) 
andrewssobral commented 5 years ago

This issue is related to the version of Py4J. It should be >= 0.10.8 To solve this issue we need to do: pip install --upgrade py4j

fviale commented 5 years ago

The issue is due to the py4j version installed on the machine. Cpython script engine requires py4j >= 0.10.8.