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?
thread.c: report then abort
- thread.c (thread_start_func_2): report then abort on exception, if both are set. [ruby-core:79280] [Bug #13163]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59963 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
merge revision(s) 59963: [Backport #13163]
thread.c: report then abort * thread.c (thread_start_func_2): report then abort on exception, if both are set. [ruby-core:79280] [Bug #13163]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_4@62711 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Updated by naruse (Yui NARUSE) over 1 year 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?