Bug #7781

Ruby fails make test on Cygwin for test_io.rb.

Added by Chloe S about 1 year ago. Updated about 1 year ago.

[ruby-core:51844]
Status:Open
Priority:Normal
Assignee:Nobuyoshi Nakada
Category:core
Target version:next minor
ruby -v:ruby 1.9.3p374 (2013-01-15 revision 38858) [i386-cygwin] Backport:

Description

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
...
testthread.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 testio.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 testio.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 testio.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 testio.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 testio.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 testio.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 testio.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 testio.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 testio.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

config.log (657 KB) Chloe S, 02/04/2013 05:01 PM

History

#1 Updated by Chloe S about 1 year ago

I also get these stack errors when I run rails -v (inside any app directory) or bundle install:

Chloe@dumbopc /cygdrive/c/Sites/testapp
$ rails -v
/usr/local/lib/ruby/site_ruby/1.9.1/rubygems/requirement.rb:23: stack level too deep (SystemStackError)

Chloe@dumbopc /cygdrive/c/Sites/testapp
$ bundle install
Fetching gem metadata from https://rubygems.org/...........
Fetching gem metadata from https://rubygems.org/..
Unfortunately, a fatal error has occurred. Please see the Bundler
troubleshooting documentation at http://bit.ly/bundler-issues. Thanks!
/usr/local/lib/ruby/gems/1.9.1/gems/bundler-1.2.3/lib/bundler/friendly_errors.rb:32: stack level too deep (SystemStackError)

#2 Updated by Usaku NAKAMURA about 1 year ago

I am sorry to say that cygwin is not supported currently.
Of course, we always welcome patches for cygwin (and its maintainer,
if possible).

#3 Updated by Chloe S about 1 year ago

I found a solution to the stack error: http://stackoverflow.com/a/14790573/148844

#4 Updated by Koichi Sasada about 1 year ago

  • Category set to core
  • Assignee set to Nobuyoshi Nakada
  • Target version set to next minor

Also available in: Atom PDF