Hi Ruby interals gurus !
I'm hoping anyone can tell me, based on the attached stack
trace (from CVS 1.8.2preview2, [i386-mswin32]), whether this
is indicitave of a bug in Ruby.
I have a fairly small script now, which hangs on both
win32 (1.8.2preview2) and linux (1.8.0). It takes anywhere
from a few minutes to a few hours to lock up. (You can
just start it at let it run, no interaction required.)
On Linux, I am able to ^C the process and get a ruby
stack trace. On Windows ^C doesn't abort (common enough
when stuck in Windows IO routines), but I was able to
attach the debugger to the process and get a stack trace.
The script is at:
http://bwk.homeip.net/ftp/buffered-io-test4a.rb
The ruby stack trace I get when interrupting the hung
process on Linux, is always at or immediately following
the Thread.stop in ConditionVariable#wait:
/usr/local/lib/ruby/1.8/thread.rb:192:in `stop': Interrupt from /usr/local/lib/ruby/1.8/thread.rb:192:in `wait'
from /usr/local/lib/ruby/1.8/thread.rb:190:in `exclusive_unlock'
from /usr/local/lib/ruby/1.8/thread.rb:140:in `exclusive'
from /usr/local/lib/ruby/1.8/thread.rb:140:in `exclusive_unlock'
from /usr/local/lib/ruby/1.8/thread.rb:190:in `wait'
from buffered-io-test4a.rb:59:in `global_wait'
from buffered-io-test4a.rb:58:in `synchronize'
from buffered-io-test4a.rb:58:in `global_wait'
from buffered-io-test4a.rb:87
from buffered-io-test4a.rb:72:in `loop'
from buffered-io-test4a.rb:88
The windows stack trace (attached) always looks about the
same each time, too. (rb_thread_stop -> rb_thread_schedule
-> rb_w32_select).
Thanks for your help !!
Regards,
Bill
hang-1.8.2preview2-stacktrace.txt (5.5 KB)