Recently I wanted to see if I could safely move to Ruby 1.9.1, and
wanted to test my rails application for that, when I discovered that
Thin (which uses EventMachine) just hangs up after the first request.
This happens not just with my, but any rails application. During
investigation I found that:
- EventMachine’s test cases hang up immediately after starting. Thin
hangs up somewhere after returning from Connection#receive_data.
- The hang is happening deep in rb_vm_bugreport, which I could see with
Process Explorer, but it does not display anything in the console. Maybe
once or twice I’ve seen [BUG] lines with Rails/Thin, but it was very
early in my investigations and I dismissed those, and then later
couldn’t reproduce. :-/
- Thinking there might be something wrong in Ruby itself I tried
executing make check, and indeed, somewhere deep in processing of make
test-all this hang is happening very much reliably for me, although not
on the same dot. Process explorer shows rb_vm_bugreport as the closes
function inside ruby dll.
- When ruby processes hang up like this, Ctrl+C and Ctrl+Break stop
working (which means signal processing is completely gone), and the only
way to get rid of such process is to kill it with Process Explorer /
Did anyone else encounter anything like this, or something is extremely
wrong with my msys/mingw or dependencies (taken from gnuwin32)? Seeing
that rubyinstaller is moving to 1.9.1 I’d really like to know if anyone
else experiences hangs like this.
Because Ruby 1.8 also manages to sometimes hang up in rb_w32_select (and
100% reliably when doing make test-all), I smell something very fishy
here, and maybe it only happens on my work pc (I’m using a mac at home),
so I’d like more input from other people using mingw.