Project

General

Profile

Bug #2303

dl.so segfaults on mingw32

Added by now (Nikolai Weibull) about 10 years ago. Updated over 8 years ago.

Status:
Third Party's Issue
Priority:
Normal
Assignee:
-
ruby -v:
ruby 1.9.1p243 (2009-07-16 revision 24175) [i386-mingw32]
[ruby-core:26390]

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

History

#1

Updated by rogerdpack (Roger Pack) about 10 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

#2

Updated by now (Nikolai Weibull) about 10 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

#3

Updated by now (Nikolai Weibull) about 10 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

#4

Updated by vavdeev (Vlad Why) about 10 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

#5

Updated by rogerdpack (Roger Pack) almost 10 years ago

  • Status changed from Open to Third Party's Issue

=begin
appears to be unavoidable for Windows Server 2008.
=end

Also available in: Atom PDF