Uncaught exceptions may not be reported when Thread#report_on_exception=true and Thread#abort_on_exception=true
When we set true on both of
Thread#abort_on_exception, it just works as
Thread#abort_on_exception and raised error will be re-raised in main thread.
But in our case, main thread sometimes in
rescue clause, or sometimes out of
When main thread in
rescue clause (and main thread code may raise errors in their own business), we cannot know that threads are dead by errors.
What I expected by specifying both of
- "Thread terminated with exception" is reported always (even if
- Raised error is re-raised in main thread if
How do you think about this idea?
Updated by naruse (Yui NARUSE) about 4 years ago
- Backport set to 2.2: DONTNEED, 2.3: REQUIRED, 2.4: REQUIRED
- Assignee set to nobu (Nobuyoshi Nakada)
- Status changed from Feedback to Assigned
- Tracker changed from Misc to Bug
Hmm, indeed this seems considered a bug.
nobu (Nobuyoshi Nakada) Could you commit it?
Updated by Eregon (Benoit Daloze) about 4 years ago
- Backport changed from 2.2: DONTNEED, 2.3: REQUIRED, 2.4: REQUIRED to 2.2: DONTNEED, 2.3: DONTNEED, 2.4: REQUIRED
I believe we only need a 2.4 backport, Thread#report_on_exception is only defined from Ruby 2.4+.