From: "starrychloe (Chloe S)" Date: 2013-02-11T09:43:13+09:00 Subject: [ruby-core:52123] [ruby-trunk - Bug #7781] Ruby fails make test on Cygwin for test_io.rb. Issue #7781 has been updated by starrychloe (Chloe S). I found a solution to the stack error: http://stackoverflow.com/a/14790573/148844 ---------------------------------------- Bug #7781: Ruby fails make test on Cygwin for test_io.rb. https://bugs.ruby-lang.org/issues/7781#change-36138 Author: starrychloe (Chloe S) Status: Open Priority: Normal Assignee: Category: Target version: ruby -v: ruby 1.9.3p374 (2013-01-15 revision 38858) [i386-cygwin] When compiling Ruby on Cygwin.com, it fails 'make test' for test_io.rb. Chloe@dumbopc ~/ruby-1.9.3-p374 $ uname -a CYGWIN_NT-5.1 dumbopc 1.7.17(0.262/5/3) 2012-10-19 14:39 i686 Cygwin $ ./ruby -v ruby 1.9.3p374 (2013-01-15 revision 38858) [i386-cygwin] $ make test ... test_thread.rb .................................................. #262 test_io.rb: at_exit { p :foo } megacontent = "abc" * 12345678 #File.open("megasrc", "w") {|f| f << megacontent } Thread.new { sleep rand*0.2; Process.kill(:INT, $$) } r1, w1 = IO.pipe r2, w2 = IO.pipe t1 = Thread.new { w1 << megacontent; w1.close } t2 = Thread.new { r2.read; r2.close } IO.copy_stream(r1, w2) rescue nil w2.close r1.close t1.join t2.join #=> killed by SIGKILL (signal 9) (timeout) megacontent-copy_stream #263 test_io.rb: at_exit { p :foo } megacontent = "abc" * 12345678 #File.open("megasrc", "w") {|f| f << megacontent } Thread.new { sleep rand*0.2; Process.kill(:INT, $$) } r1, w1 = IO.pipe r2, w2 = IO.pipe t1 = Thread.new { w1 << megacontent; w1.close } t2 = Thread.new { r2.read; r2.close } IO.copy_stream(r1, w2) rescue nil w2.close r1.close t1.join t2.join #=> killed by SIGKILL (signal 9) (timeout) megacontent-copy_stream #264 test_io.rb: at_exit { p :foo } megacontent = "abc" * 12345678 #File.open("megasrc", "w") {|f| f << megacontent } Thread.new { sleep rand*0.2; Process.kill(:INT, $$) } r1, w1 = IO.pipe r2, w2 = IO.pipe t1 = Thread.new { w1 << megacontent; w1.close } t2 = Thread.new { r2.read; r2.close } IO.copy_stream(r1, w2) rescue nil w2.close r1.close t1.join t2.join #=> killed by SIGKILL (signal 9) (timeout) megacontent-copy_stream #265 test_io.rb: at_exit { p :foo } megacontent = "abc" * 12345678 #File.open("megasrc", "w") {|f| f << megacontent } Thread.new { sleep rand*0.2; Process.kill(:INT, $$) } r1, w1 = IO.pipe r2, w2 = IO.pipe t1 = Thread.new { w1 << megacontent; w1.close } t2 = Thread.new { r2.read; r2.close } IO.copy_stream(r1, w2) rescue nil w2.close r1.close t1.join t2.join #=> killed by SIGKILL (signal 9) (timeout) megacontent-copy_stream #266 test_io.rb: at_exit { p :foo } megacontent = "abc" * 12345678 #File.open("megasrc", "w") {|f| f << megacontent } Thread.new { sleep rand*0.2; Process.kill(:INT, $$) } r1, w1 = IO.pipe r2, w2 = IO.pipe t1 = Thread.new { w1 << megacontent; w1.close } t2 = Thread.new { r2.read; r2.close } IO.copy_stream(r1, w2) rescue nil w2.close r1.close t1.join t2.join #=> killed by SIGKILL (signal 9) (timeout) megacontent-copy_stream #267 test_io.rb: at_exit { p :foo } megacontent = "abc" * 12345678 #File.open("megasrc", "w") {|f| f << megacontent } Thread.new { sleep rand*0.2; Process.kill(:INT, $$) } r1, w1 = IO.pipe r2, w2 = IO.pipe t1 = Thread.new { w1 << megacontent; w1.close } t2 = Thread.new { r2.read; r2.close } IO.copy_stream(r1, w2) rescue nil w2.close r1.close t1.join t2.join #=> killed by SIGKILL (signal 9) (timeout) megacontent-copy_stream #268 test_io.rb: at_exit { p :foo } megacontent = "abc" * 12345678 #File.open("megasrc", "w") {|f| f << megacontent } Thread.new { sleep rand*0.2; Process.kill(:INT, $$) } r1, w1 = IO.pipe r2, w2 = IO.pipe t1 = Thread.new { w1 << megacontent; w1.close } t2 = Thread.new { r2.read; r2.close } IO.copy_stream(r1, w2) rescue nil w2.close r1.close t1.join t2.join #=> killed by SIGKILL (signal 9) (timeout) megacontent-copy_stream #269 test_io.rb: at_exit { p :foo } megacontent = "abc" * 12345678 #File.open("megasrc", "w") {|f| f << megacontent } Thread.new { sleep rand*0.2; Process.kill(:INT, $$) } r1, w1 = IO.pipe r2, w2 = IO.pipe t1 = Thread.new { w1 << megacontent; w1.close } t2 = Thread.new { r2.read; r2.close } IO.copy_stream(r1, w2) rescue nil w2.close r1.close t1.join t2.join #=> killed by SIGKILL (signal 9) (timeout) megacontent-copy_stream #270 test_io.rb: at_exit { p :foo } megacontent = "abc" * 12345678 #File.open("megasrc", "w") {|f| f << megacontent } Thread.new { sleep rand*0.2; Process.kill(:INT, $$) } r1, w1 = IO.pipe r2, w2 = IO.pipe t1 = Thread.new { w1 << megacontent; w1.close } t2 = Thread.new { r2.read; r2.close } IO.copy_stream(r1, w2) rescue nil w2.close r1.close t1.join t2.join #=> killed by SIGKILL (signal 9) (timeout) megacontent-copy_stream #271 test_io.rb: at_exit { p :foo } megacontent = "abc" * 12345678 #File.open("megasrc", "w") {|f| f << megacontent } Thread.new { sleep rand*0.2; Process.kill(:INT, $$) } r1, w1 = IO.pipe r2, w2 = IO.pipe t1 = Thread.new { w1 << megacontent; w1.close } t2 = Thread.new { r2.read; r2.close } IO.copy_stream(r1, w2) rescue nil w2.close r1.close t1.join t2.join #=> killed by SIGKILL (signal 9) (timeout) megacontent-copy_stream FAIL 10/960 tests failed uncommon.mk:478: recipe for target `yes-btest-ruby' failed make: *** [yes-btest-ruby] Error 1 -- http://bugs.ruby-lang.org/