Bug #2220 [ruby-core:26117]

Hang in dln.c when using 1.8.6-p383 on Snow Leopard

Added by Andrew White 152 days ago. Updated 56 days ago.

Status :Closed Start :10/16/2009
Priority :Normal Due date :
Assigned to :Kirk Haines % Done :

100%

Category :-
Target version :-
ruby -v :

ruby 1.8.6 (2009-08-04 patchlevel 383) [i686-darwin10.0.0]


Description

Snow Leopard seems to have introduced some backward compatibility issues with the old NextStep era NSLinkModule group of functions. When trying to load RMagick the process hangs in dln_load and has to be killed using kill -9. The best fix going forward is to switch to dlopen as NSLinkModule has been deprecated since Tiger and is less efficient than dlopen in Snow Leopard.

The attached patch is a backport of r11810:
http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=11810

Original Ruby-Core discussion:
http://www.ruby-forum.com/topic/196606

dln-snow-leopard.patch (1.9 KB) Andrew White, 10/16/2009 03:11 PM

Associated revisions

Revision 26361
Added by wyhaines 56 days ago

eval.c: Backport #2592 [ruby-core:27525]; Added an ifndef for WIN32 so that F_GETFD isn't used on that platform. Fixes a build issue. dln.c: Bug #2220 [ruby-core:26117]; Patch to fix dln.c so that extensions work properly under Snow Leopard.

History

01/21/2010 05:27 AM - Kirk Haines

  • Status changed from Open to Closed
  • % Done changed from 0 to 100
This issue was solved with changeset r26361.
Andrew, thank you for reporting this issue.
Your contribution to Ruby is greatly appreciated.
May Ruby be with you.

Also available in: Atom PDF