Open behrica opened 1 year ago
I still have this open https://github.com/behrica/clojurebridge/issues/2
as I don't know where a potential fix needed to be.
Just to clarify.
There is an new API call which prevents the hanging seen above:
(py/with-manual-gil ...
But this API is by no mean mandatory, neither very prominently documented. So users might still use the other API, as above, and get the experience of a hanging process.
I think we should throw an exception (and terminate the JVM) as well in the case above.
As a FUP of #221 which provided a new pathway to see the exception, but does not prevent the "hanging" in an other pathway.
The simplest scenario is that we have a hanging python process by using this clojure code
crash.clj
and load it in embedded mode using manual-gil via:
The exception thrown by python on the last line in
crash.clj
is swallowed by either clojurebridge or libpython-clj and the process hangs forever.