[#84280] [Ruby trunk Bug#14181] hangs or deadlocks from waitpid, threads, and trapping SIGCHLD — nobu@...
Issue #14181 has been updated by nobu (Nobuyoshi Nakada).
3 messages
2017/12/15
[#84398] [Ruby trunk Bug#14220] WEBrick changes - failures on MSWIN, MinGW — Greg.mpls@...
Issue #14220 has been reported by MSP-Greg (Greg L).
3 messages
2017/12/22
[#84472] Re: [ruby-dev:50394] [Ruby trunk Bug#14240] warn four special variables: $; $, $/ $\ — Eric Wong <normalperson@...>
Shouldn't English posts be on ruby-core instead of ruby-dev?
3 messages
2017/12/26
[ruby-core:84214] [Ruby trunk Feature#14143] Thread.report_on_exception should be true by default
From:
eregontp@...
Date:
2017-12-12 13:56:22 UTC
List:
ruby-core #84214
Issue #14143 has been updated by Eregon (Benoit Daloze). Assignee changed from matz (Yukihiro Matsumoto) to Eregon (Benoit Daloze) We discussed with @ko1 and @usa to add a hint to the warning produced by Thread.report_on_exception. I am thinking to go with @usa's suggestion. The hint is between "()": ``` #<Thread:0x000055c6660d0b10@report.rb:3 run> terminated with exception (report_on_exception is true): Traceback (most recent call last): 4: from report.rb:4:in `block in <main>' 3: from report.rb:4:in `times' 2: from report.rb:5:in `block (2 levels) in <main>' 1: from report.rb:5:in `times' report.rb:6:in `block (3 levels) in <main>': unhandled exception ``` Then I think we can discuss possible ways to fix this warning (fix a bug, add rescue, set report to false) in more details in the documentation of Thread.report_on_exception. ---------------------------------------- Feature #14143: Thread.report_on_exception should be true by default https://bugs.ruby-lang.org/issues/14143#change-68337 * Author: Eregon (Benoit Daloze) * Status: Open * Priority: Normal * Assignee: Eregon (Benoit Daloze) * Target version: 2.5 ---------------------------------------- Extracted from #6647 to focus on the default value now that the feature is implemented. I strongly believe we should have Thread.report_on_exception = true by default. It only adds some extra stderr output for apps which let threads die, which is very rarely intended. If it is intended, then one can use Thread.current.report_on_exception = false to clarify it's OK for that thread to die and the failure is handled by the app on Thread#join. I enabled Thread.report_on_exception=true by default in ruby/spec, see https://github.com/ruby/spec/pull/517, the only cases needing Thread.current.report_on_exception=false are the specs testing report_on_exception itself and Thread#join/value/status/raise. Enabling it for test-all shows a fair amount of extra output and failures, which I would bet some of them are bugs in the tests (I already found one, r60854 & r60870), and other tests should simply more carefully test what they expect (for instance assert_raise() inside the Thread just around the code raising an exception and join the Thread). I am willing to help to reduce the extra output and failures in test-all, but I would like a OK from Matz to try enabling Thread.report_on_exception by default. Dear Matz, do you think it is reasonable to show exceptions killing threads on stderr by default, instead of silently swallowing them until Thread#join ? (if there is ever a Thread#join ..., often not or too late, when the rest of the application has crashed) -- https://bugs.ruby-lang.org/ Unsubscribe: <mailto:ruby-core-request@ruby-lang.org?subject=unsubscribe> <http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>