possible ThreadSpawn + Ruby 1.8 issues

Eric Wong normalperson at yhbt.net
Mon Dec 21 17:10:02 EST 2009


Anybody else using this combination?  If you are, please let us know
if you have any problems with it or even if it's been working great.

I've heard (privately) about issues with accept() somehow blocking the
entire worker process under 1.8.  Obviously this really should not
happen, but I'm unable to reproduce it myself.

Exact details would be most helpful:

* minor version, patchlevel, distribution of Ruby 1.8

* architecture (green threads may behave differently on 32 vs 64-bit)

* outside patches applied (REE, MBARI, zero-copy context-switch, ...)

* ./configure options (--{disable,enable}-pthread, ...)

* application/gems that use threading features internally
  (includes any uses of the 'timeout' library, which Net::HTTP uses).

* Rainbows! version

Unfortunately, there are also IO.select bugs to worry about, too:

  http://www.daniel-azuma.com/blog/view/z2ysbx0e4c3it9/ruby_1_8_7_io_select_threading_bug
  http://redmine.ruby-lang.org/issues/show/1484

Even though we believe it's bad policy to workaround bugs when they're
fixable, 1.8 users (as evidenced by still using 1.8 :P) can be slow to
upgrade and we'll tolerate workarounds to make ThreadSpawn acceptable
under 1.8 since it's mainly designed with 1.8 in mind.

-- 
Eric Wong


More information about the rainbows-talk mailing list