Bug #3643: File#expand_path("c:") cause Segmenation fault on Windows.
http://redmine.ruby-lang.org/issues/show/3643

Author: Heesob Park
Status: Open, Priority: Normal
Category: core, Target version: 1.9.x
ruby -v: ruby 1.9.3dev (2010-08-01 trunk 28828) [i386-mswin32_90]

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:/"


----------------------------------------
http://redmine.ruby-lang.org