Open
Description
Describe the bug
It's not possible to catch exceptions in the interactive root
prompt on Apple Silicon, nor does TRint
take care of uncaught exceptions.
Expected behavior
The user should be able to catch exceptions, or at least the fallback handler should prevent process termination.
To Reproduce
The most simple examples are
root [0] try { throw 1; } catch (...) { }
libc++abi.dylib: terminating with uncaught exception of type int
and
root [0] throw 1;
libc++abi.dylib: terminating with uncaught exception of type int
(which should be handled in TRint::HandleTermInput()
).
Setup
ROOT 6.25/01 on macphsft25
Additional context
Plenty:
- Reset function sections before JITting #7100 fixed catching exceptions from constructors on macOS (and has tests, including unwinding through multiple JIT recursions).
- ROOT-10703 and ROOT-10962 for the original reports.
Edit:
Same in 6.22/07, tested on macphsft24