From: Lars Christensen Date: 2008-04-24T21:15:06+09:00 Subject: Re: Deadlock in DRb On Apr 23, 8:19 pm, Ezra Zygmuntowicz wrote: >         What version and patch level of ruby do you have? If you have ruby   > 1.8.6 and the patch level is less than p111 then you have a faulty   > ruby interpreter with broken threading that can cause these deadlocks.   > Make sure you are using ruby 1.8.5 or ruby 1.8.6p11 minimum. Had the same problem with 1.8.6p111. I finally tracked down the problem to a bug in Process.create from the 'win32-process' gem. Some code added to this function afterversion 0.5.5 would call CloseHandle on something that was not a handle but a process or thread ID. When these are the same as socket handles, etc, the process would sometimes deadlock, sometimes simply close a listening socket, fail in Socket#accept, or go into infinte loops. http://rubyforge.org/tracker/index.php?func=detail&aid=19753&group_id=85&atid=411. I was able to work around it by setting :close_handles => false in the call to Process#create. Lars