Feature #13006
openbacktrace of thread killer
Description
Hello, I am right now having difficulties to understand why one thread I have is dead. Seems been killed by something (rails/puma). But there is no way I can see to understand what and why did it.
That's why I'm proposing a new feature. This would be Thread#kill
should record a backtrace at time of call and record it somewhere in the thread object so that later calling Thread#killer_trace
would show what performed this call.
Updated by shyouhei (Shyouhei Urabe) about 8 years ago
- Related to Feature #6647: Exceptions raised in threads should be logged added
Updated by shyouhei (Shyouhei Urabe) about 8 years ago
-
Pre-2.4 usage: Killed thread can still be joined. If you call join to a killed thread, that should raise an exception. Its backtrace contains the info you want.
-
Starting from 2.4, in addition to the above, you can set Thread.report_on_exception = true (maybe at the very beginning of your code). This would automatically print backtraces for all killed threads immediately.