Bug #2303
closeddl.so segfaults on mingw32
Description
=begin
Running ruby -rdl -e '' causes the following:
C:/Ruby19/lib/ruby/1.9.1/i386-mingw32/dl.so: [BUG] Segmentation fault
ruby 1.9.1p243 (2009-07-16 revision 24175) [i386-mingw32]
-- control frame ----------
c:0004 p:-6209010 s:0008 b:0008 l:000007 d:000007 TOP
c:0003 p:---- s:0006 b:0006 l:000005 d:000005 CFUNC :require
c:0002 p:-6157740 s:0004 b:0004 l:000003 d:000003 TOP
c:0001 p:0000 s:0002 b:0002 l:0019fc d:0019fc TOP
-- Ruby level backtrace information-----------------------------------------
ruby:0:in `require'
This is a straight installation of the one-click installer.
=end
Updated by rogerdpack (Roger Pack) over 14 years ago
=begin
Hmm.
C:\dev\digitalarchive_trunk>ruby -vrdl -e ''
ruby 1.9.1p243 (2009-07-16 revision 24175) [i386-mingw32]
C:\dev\digitalarchive_trunk>
=end
Updated by now (Nikolai Weibull) over 14 years ago
=begin
Apologies. I should have included “on Windows Server 2008” in the subject, but I was so set on putting that information in a field and when I didn’t find one for “OS” I forgot about updating the subject.
Anyway, this fails on Windows Server 2008, but works fine on Windows XP.
=end
Updated by now (Nikolai Weibull) over 14 years ago
=begin
After further investigation it turns out that Windows Servir 2008 has something called Data Execution Prevention. DEP was preventing Ruby from loading dlls at runtime and caused Ruby to crash. I’m sorry about not noticing this earlier. My humblest apologies. This issue can be closed.
=end
Updated by vavdeev (Vlad Why) over 14 years ago
=begin
As i know, DEP prevents execution of the code on the stack. It does allow to load dll's. On winXP DEP is enabled only for the system services. You may enable it for all programs : my computer->properties->advanced->Performance Settings-> DEP -> turn on DEP for all programs. It makes a little bit harder to exploit a buffer overrun.
=end
Updated by rogerdpack (Roger Pack) about 14 years ago
- Status changed from Open to Third Party's Issue
=begin
appears to be unavoidable for Windows Server 2008.
=end