Bug #2714

Interpreter deadlock when using ::Socket.pair

Added by sf (s f) over 2 years ago. Updated about 1 year ago.

[ruby-core:28066]
Status:Assigned Start date:02/06/2010
Priority:Normal Due date:
Assignee:nobu (Nobuyoshi Nakada) % Done:

0%

Category:core
Target version:-
ruby -v:ruby 1.9.1p243 (2009-07-16 revision 24175)

Description

Hello,

I have come across a deadlock situation (of the entire ruby interpreter) when using ::Socket.pair.

I have attached a simple example script to trigger the issue (Using mutex's to synchronize the read/writes does not help).

I am using ruby 1.9.1p243 (2009-07-16 revision 24175) on Windows 32bit.

Thanks.

deadlock.rb - A simple script to trigger the deadlock. (787 Bytes) sf (s f), 02/06/2010 12:43 am

History

Updated by rogerdpack (Roger Pack) over 2 years ago

with mingw, I get

c:\dev_old\digitalarchive_trunk>ruby -v bad.rb
ruby 1.9.1p376 (2009-12-07 revision 26041) [i386-mingw32]
bad.rb:7:in `pair': pair() function is unimplemented on this machine (NotImplementedError)
        from bad.rb:7:in `<main>'

Anybody know why that would be?

Updated by sf (s f) over 2 years ago

Narrowed this issue down to the cygwin build.

Works correctly on the following:
    * ruby 1.8.7 (2008-08-11 patchlevel 72) [i486-linux]
    * ruby 1.9.0 (2008-06-20 revision 17482) [i486-linux]
    * ruby 1.9.1p243 (2009-07-16 revision 24175) [i486-linux]

Deadlocks on the following:
    * ruby 1.9.1p243 (2009-07-16 revision 24175) [i386-cygwin]

AFAIK Ruby on Windows doesn't support ::Socket.pair (Hence the NotImplementedError), I forgot I was using the cygwin build.

Updated by naruse (Yui NARUSE) over 2 years ago

  • Status changed from Open to Assigned
  • Assignee set to nobu (Nobuyoshi Nakada)

Updated by rogerdpack (Roger Pack) over 2 years ago

seemed to work ok for me with cygwin 1.8.7 (if that's helpful)

Also available in: Atom PDF