Forum: Ruby-core dln_load and rb_w32_check_imported cause segfault in Ruby 1.9.3 for some extension

632e58b87a4c645c9a700054fc10e308?d=identicon&s=25 wing (wing blair) (Guest)
on 2012-11-20 07:32
(Received via mailing list)
Issue #6303 has been updated by wing (wing blair).


Thanks for sharing.
http://idateasia.tumblr.com/tagged/i-date-asia
http://todateasianbeauties.blogspot.com/2012/11/i-...
http://www.tumblr.com/tagged/i-date-asia
http://www.chnmate.com/idateasia-reviews-why-i-go-...

----------------------------------------
Bug #6303:  dln_load and rb_w32_check_imported cause segfault in Ruby
1.9.3 for some extension
https://bugs.ruby-lang.org/issues/6303#change-33171

Author: luislavena (Luis Lavena)
Status: Closed
Priority: Normal
Assignee: nobu (Nobuyoshi Nakada)
Category: core
Target version: 1.9.3
ruby -v: 1.9.3


 Hello,

 NOTE: Reporting this here since bugs.ruby-lang.org seems to be down.

 Recently a user reported to RubyInstaller project issues when loading
 a Ruby 1.9.2 compiled extension under Ruby 1.9.3:

 https://groups.google.com/d/msg/rubyinstaller/aSez...

 Which I was able to study a bit better:
 https://groups.google.com/d/msg/rubyinstaller/aSez...

 To add more, my last comment was:

 "Is worth to mention that this do not fail against 1.9.2 (either
 building or running) but dln_load mechanism on Ruby 1.9.2 differs from
 Ruby 1.9.3 and highly unlikely is going to change."

 I'm not convinced by my last comment and I do believe this is a bug.
 db2cli.dll links to MSVCR80 and even so, it loads properly under
 1.9.2.

 Looking closely to what rb_w32_check_imported does, it is supposed to
 verify that the extension being loaded it is indeed using the right
 ruby dll.

 But is failing to obtain Name from pii (PIMAGE_IMPORT_BY_NAME struct)

 I can't find any reference to dbghelp (which provides
 ImageDirectoryEntryToData) being included or linked in
 msvcrt-libruby191.dll

 For sure I'm missing something, specially why is failing to obtain
 this extension information when works for others.

 Thank you.
 --
 Luis Lavena
 AREA 17
 -
 Perfection in design is achieved not when there is nothing more to add,
 but rather when there is nothing more to take away.
 Antoine de Saint-Exupéry
This topic is locked and can not be replied to.