[#87467] [Ruby trunk Bug#14841] Very rarely IO#readpartial does not raise EOFError — mofezilla@...
Issue #14841 has been reported by hirura (Hiroyuki URANISHI).
3 messages
2018/06/10
[#87515] [Ruby trunk Bug#14841] Very rarely IO#readpartial does not raise EOFError — hirura@...
Issue #14841 has been updated by hirura (Hiroyuki URANISHI).
7 messages
2018/06/19
[#87516] Re: [Ruby trunk Bug#14841] Very rarely IO#readpartial does not raise EOFError
— Eric Wong <normalperson@...>
2018/06/19
[email protected] wrote:
[#87517] Re: [Ruby trunk Bug#14841] Very rarely IO#readpartial does not raise EOFError
— Eric Wong <normalperson@...>
2018/06/19
Sorry, I left this out: If you can reproduce it again, can you
[#87519] Re: [Ruby trunk Bug#14841] Very rarely IO#readpartial does not raise EOFError
— hirura <hirura@...>
2018/06/19
Hi Eric,
[#87521] Re: [Ruby trunk Bug#14841] Very rarely IO#readpartial does not raise EOFError
— Eric Wong <normalperson@...>
2018/06/19
hirura <[email protected]> wrote:
[#87541] [Ruby trunk Feature#14859] [PATCH] implement Timeout in VM — normalperson@...
Issue #14859 has been reported by normalperson (Eric Wong).
4 messages
2018/06/21
[#87570] [Ruby trunk Feature#14859] [PATCH] implement Timeout in VM — eregontp@...
Issue #14859 has been updated by Eregon (Benoit Daloze).
4 messages
2018/06/21
[#87605] [Ruby trunk Bug#14867] Process.wait can wait for MJIT compiler process — takashikkbn@...
Issue #14867 has been reported by k0kubun (Takashi Kokubun).
3 messages
2018/06/23
[#87614] [Ruby trunk Bug#14867] Process.wait can wait for MJIT compiler process — normalperson@...
Issue #14867 has been updated by normalperson (Eric Wong).
4 messages
2018/06/23
[#87631] [Ruby trunk Bug#14867] Process.wait can wait for MJIT compiler process — takashikkbn@...
Issue #14867 has been updated by k0kubun (Takashi Kokubun).
5 messages
2018/06/25
[#87635] Re: [Ruby trunk Bug#14867] Process.wait can wait for MJIT compiler process
— Eric Wong <normalperson@...>
2018/06/25
[email protected] wrote:
[#87665] [Ruby trunk Bug#14867] Process.wait can wait for MJIT compiler process — eregontp@...
Issue #14867 has been updated by Eregon (Benoit Daloze).
4 messages
2018/06/28
[#87710] [Ruby trunk Bug#14867] Process.wait can wait for MJIT compiler process — Greg.mpls@...
Issue #14867 has been updated by MSP-Greg (Greg L).
3 messages
2018/06/30
[ruby-core:87639] Re: [Ruby trunk Bug#14867] Process.wait can wait for MJIT compiler process
From:
Eric Wong <normalperson@...>
Date:
2018-06-26 09:47:02 UTC
List:
ruby-core #87639
``` Up to 14 patches, now, but I think most problems are solved, at least on Linux. FreeBSD 11.1 is close Links within: https://80x24.org/spew/[email protected]/ One potential problem is stuff like: pids = [] pids << Process.fork { Process.exit! 2 } pids << Process.fork { Process.exit! 1 } pids << Process.fork { Process.exit! 0 } Process.waitall Can return extra PIDs with MJIT enabled, because exit! cannot cleanup and wait for any processes. I haven't been able to reproduce the problem lately, though... * Implemented rb_grantpt for ext/pty use (to temporarily disable SIGCHLD) * reinstated non-SIGCHLD code path for rb_waitpid * split Process.wait(PID > 0) and Process.wait(PID <= 0) threads to prioritize (PID > 0) waiters. This was an important change. * avoid spurious wakeups in main thread if no trap(:CHLD) users (needed to get OpenSSL::PKey::RSA.new working with rubygems test and test/-ext-/gvl/test_last_thread.rb to pass on Linux) In retrospect, we could probably be avoiding spurious main thread wakeups for all signals when nobody registers trap(sig). However, this isn't effective on FreeBSD... We may need to block non-VTALRM signals in main thread, and only enable interrupts in tiner-thread. The actual history is a mess, will need to cleanup and do more documenting before committing. MJIT takes forever to test :< I am happy that ext/pty/pty.c is cleaner with the rb_grantpt change, now :) The following changes since commit 4444025d16ae1a586eee6a0ac9bdd09e33833f3c: mjit_compile.inc.erb: drop unnecessary variable (2018-06-25 14:15:26 +0000) are available in the Git repository at: git://80x24.org/ruby.git mjit-chld-wip for you to fetch changes up to 6545efeee931baa42f38d9b86941c0e5d30c1044: process.c (rb_waitpid): reimplement non-SIGCHLD code path (2018-06-26 09:09:21 +0000) ``` Unsubscribe: <mailto:[email protected]?subject=unsubscribe> <http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>