From: normalperson@... Date: 2014-01-26T01:29:37+00:00 Subject: [ruby-core:60104] [ruby-trunk - Bug #8770] [PATCH] process.c: avoid EINTR from Process.spawn Issue #8770 has been updated by Eric Wong. nobu@ruby-lang.org wrote: > Is it an issue of the test code? > > http://c5664.rubyci.org/~chkbuild/ruby-trunk/log/20140125T233302Z.log.html.gz Odd, I did not get this: 10) Error: TestProcess#test_deadlock_by_signal_at_forking: Errno::EINTR: Interrupted system call - /home/chkbuild/build/20140125T233302Z/ruby/ruby /home/chkbuild/build/20140125T233302Z/ruby/test/ruby/test_process.rb:1875:in `popen' /home/chkbuild/build/20140125T233302Z/ruby/test/ruby/test_process.rb:1875:in `block in test_deadlock_by_signal_at_forking' /home/chkbuild/build/20140125T233302Z/ruby/test/ruby/test_process.rb:1873:in `times' /home/chkbuild/build/20140125T233302Z/ruby/test/ruby/test_process.rb:1873:in `test_deadlock_by_signal_at_forking' Instead, I got this (with TESTS=-j32): /home/ew/ruby/test/ruby/test_process.rb:15:in `waitall': SIGTERM (SignalException) /home/ew/ruby/test/ruby/test_process.rb:15:in `teardown' /home/ew/ruby/lib/minitest/unit.rb:1280:in `block in run' I don't think I was able to reproduce it on a single-threaded test-all. ---------------------------------------- Bug #8770: [PATCH] process.c: avoid EINTR from Process.spawn https://bugs.ruby-lang.org/issues/8770#change-44603 * Author: Eric Wong * Status: Closed * Priority: Normal * Assignee: Nobuyoshi Nakada * Category: core * Target version: 2.1.0 * ruby -v: ruby 2.1.0dev (2013-08-10 trunk 42491) [x86_64-linux] * Backport: 1.9.3: REQUIRED, 2.0.0: REQUIRED, 2.1: REQUIRED ---------------------------------------- (send_child_error): retry write on EINTR (recv_child_error): retry read on EINTR I've been getting occasional Errno::EINTR from Process.spawn with just the prog name in the error message. This is probably the cause of it, as I haven't been able to get a consistent reproduction of the Errno::EINTR. I've been hitting this on 2.0.0-p247, so it probably needs backport. ---Files-------------------------------- 0001-process.c-avoid-EINTR-from-Process.spawn.patch (3.18 KB) -- http://bugs.ruby-lang.org/