Open saraedum opened 2 years ago
I'll have a look, but all method calls into C++ have a catch (...)
, so the only reason I can think of, is that the C++ exception has two type_info
's. Nominally, the easiest way to "achieve" that is to have one JIT-ed and one linked, but a) I haven't seen that to be a problem on Linux; b) a standard exception is a weird one for this to happen to; and c) I don't see where this JIT-ing would occur. So, I'm a bit at a loss as to how this can occur ...
When running the following code snippet, a C++ exception is correctly reported in an interactive Python session:
However, later in the same session, the same invocation causes a crash:
Since the same exception was apparently thrown, I don't understand why the
loads
anddumps
on an unrelated object, made it so that this time the exception could not be caught and handed over to Python.Unfortunately, I could not find a short reproducer for this yet. I can reproduce the above on Linux in the following conda environment: