Project

General

Profile

Actions

Backport #3643

closed

File#expand_path("c:") cause Segmenation fault on Windows.

Added by phasis68 (Heesob Park) over 13 years ago. Updated over 12 years ago.

Status:
Closed
[ruby-core:31591]

Description

=begin
First I found a bug when Pathname#expand_path with 'c:' on Windows.

C:>ruby -rpathname -e "p Pathname.new('c:').expand_path"
c:/usr/lib/ruby/1.9.1/pathname.rb:596: [BUG] Segmentation fault
ruby 1.9.3dev (2010-08-01 trunk 28828) [i386-mswin32_90]

-- control frame ----------
c:0005 p:---- s:0016 b:0016 l:000015 d:000015 CFUNC :expand_path
c:0004 p:0029 s:0012 b:0011 l:000010 d:000010 METHOD c:/usr/lib/ruby/1.9.1/pathname.rb:596
c:0003 p:0024 s:0007 b:0006 l:0019cc d:000fa4 EVAL -e:1
c:0002 p:---- s:0004 b:0004 l:000003 d:000003 FINISH
c:0001 p:0000 s:0002 b:0002 l:0019cc d:0019cc TOP

-- Ruby level backtrace information ----------------------------------------
-e:1:in <main>' c:/usr/lib/ruby/1.9.1/pathname.rb:596:in expand_path'
c:/usr/lib/ruby/1.9.1/pathname.rb:596:in `expand_path'

[NOTE]
You may have encountered a bug in the Ruby interpreter or extension libraries.
Bug reports are welcome.
For details: http://www.ruby-lang.org/bugreport.html

This application has requested the Runtime to terminate it in an unusual way.
Please contact the application's support team for more information.

And I noticed that the real cause of error is in File.expand_path('c:')

C:>ruby -e "p File.expand_path('c:')"
-e:1: [BUG] Segmentation fault
ruby 1.9.3dev (2010-08-01 trunk 28828) [i386-mswin32_90]

-- control frame ----------
c:0004 p:---- s:0011 b:0011 l:000010 d:000010 CFUNC :expand_path
c:0003 p:0018 s:0007 b:0006 l:0019ac d:000164 EVAL -e:1
c:0002 p:---- s:0004 b:0004 l:000003 d:000003 FINISH
c:0001 p:0000 s:0002 b:0002 l:0019ac d:0019ac TOP

-- Ruby level backtrace information ----------------------------------------
-e:1:in <main>' -e:1:in expand_path'

[NOTE]
You may have encountered a bug in the Ruby interpreter or extension libraries.
Bug reports are welcome.
For details: http://www.ruby-lang.org/bugreport.html

This application has requested the Runtime to terminate it in an unusual way.
Please contact the application's support team for more information.

In Ruby 1.9.1, this works fine.

C:>ruby -ve "p File.expand_path('c:')"
ruby 1.9.1p129 (2009-05-12 revision 23412) [i386-mingw32]
"C:/"
=end

Actions

Also available in: Atom PDF

Like0
Like0Like0Like0Like0