Open fra-orolo opened 3 years ago
@fra-orolo thanks for reproducing the issue we will take a look and update you
Sadly I can't reproduce it with a simple, sharable unit test, I have a unit test running exactly the same python code on a small mock-dataset, but that works flawlessly. The reproducible crash was observed with a bigger integration test, pulling a large dataset from an internal database.
sorry I meant reporting the issue, We will try to find the problem with hs_err log and let you know the outcome
There is no interesting information in the log. Is there any chance you can share the script (even if it's not a deterministic reproducer). Are you loading any Python packages that are C extensions (like struct or numpy)?
In any case @mcraj017, this looks more like a compiler bug to me, so probably something for the compiler team to look at.
There is no interesting information in the log. Is there any chance you can share the script (even if it's not a deterministic reproducer). Are you loading any Python packages that are C extensions (like struct or numpy)?
Not at all, the executed script is just pure Python 2.7 that works nicely on Jython and also works with Graal-Python, if it is not processing a lot of data. But If i benchmark with a 10^5 numbers to normalize, it starts crashing.
The point where it crashes is the removal of our Python -> Java API bindings from the shared namespace. Interestingly this works without crashing, when I fill a Python dict with the namespace bindings and pass it to builtins.exec(code, globals, locals) . (This way I avoid the Graal API for namespace sharing).
@chumer from the log and the description it seems to like the crash is trying to call a compiled removeMember on the polyglot bindings object. Any ideas?
Describe the issue Polyglot JVM crashes after fully executing embedded Python script inside a computation JUnit test. The Python code works against a Java API that is added as functions to the Python language bindings. After the script is complete, our code is removing the shared objects from the bindings with
Value.removeMember(functionName)
. There the code crashes.Steps to reproduce the issue Difficult to reproduce, even adding print statements to the script make it sometimes work
Describe GraalVM and your environment:
hs_err_pid13964.log