Project

General

Profile

Actions

Bug #4310

closed

String#% cause Segmentation fault on Windows

Added by phasis68 (Heesob Park) about 13 years ago. Updated almost 13 years ago.

Status:
Closed
Target version:
ruby -v:
ruby 1.9.3dev (2011-01-23 trunk 30640) [i386-mswin32_90]
Backport:
[ruby-core:34820]

Description

=begin
String#% cause Segmentation fault on Windows with trunk version in case of long string.

C:\work>ruby -ve 'p "%f"%("a"*10000000)'
ruby 1.9.3dev (2011-01-23 trunk 30640) [i386-mswin32_90]
-e:1: [BUG] Segmentation fault
ruby 1.9.3dev (2011-01-23 trunk 30640) [i386-mswin32_90]

-- Control frame information -----------------------------------------------
c:0004 p:---- s:0011 b:0011 l:000010 d:000010 CFUNC :%
c:0003 p:0015 s:0007 b:0006 l:00065c d:001af4 EVAL -e:1
c:0002 p:---- s:0004 b:0004 l:000003 d:000003 FINISH
c:0001 p:0000 s:0002 b:0002 l:00065c d:00065c TOP

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

-- C level backtrace information -------------------------------------------
C:\WINDOWS\system32\ntdll.dll(KiFastSystemCallRet+0x0) [0x7C93E514]
C:\WINDOWS\system32\kernel32.dll(WaitForSingleObject+0x12) [0x7C7D2542]
c:\usr\bin\msvcr90-ruby191.dll(rb_vm_bugreport+0x95) [0x100919BB] c:\work\snapsh
ot\vm_dump.c:819
c:\usr\bin\msvcr90-ruby191.dll(report_bug+0xcb) [0x10029F67] c:\work\snapshot\er
ror.c:256
c:\usr\bin\msvcr90-ruby191.dll(rb_bug+0x1c) [0x10029F9D] c:\work\snapshot\error.
c:270
c:\usr\bin\msvcr90-ruby191.dll(sigsegv+0x3f) [0x1004F7A8] c:\work\snapshot\signa
l.c:624
C:\WINDOWS\WinSxS\x86_Microsoft.VC90.CRT_1fc8b3b9a1e18e3b_9.0.30729.4974_x-ww_d8
89290f\MSVCR90.dll(XcptFilter+0x151) [0x7858D0B9]
c:\usr\bin\ruby.exe(__tmainCRTStartup+0x137) [0x004011D6] f:\dd\vctools\crt_bld
self_x86\crt\src\crtexe.c:603
C:\WINDOWS\WinSxS\x86_Microsoft.VC90.CRT_1fc8b3b9a1e18e3b_9.0.30729.4974_x-ww_d8
89290f\MSVCR90.dll(seh_longjmp_unwind4+0x2e) [0x7858F8F4]

-- Other runtime information -----------------------------------------------

  • Loaded script: -e

  • Loaded features:

    0 enumerator.so
    1 c:/usr/lib/ruby/1.9.1/i386-mswin32_90/enc/encdb.so
    2 c:/usr/lib/ruby/1.9.1/i386-mswin32_90/enc/cp949.so
    3 c:/usr/lib/ruby/1.9.1/i386-mswin32_90/enc/trans/transdb.so
    4 c:/usr/lib/ruby/1.9.1/rubygems/defaults.rb
    5 c:/usr/lib/ruby/1.9.1/i386-mswin32_90/rbconfig.rb
    6 c:/usr/lib/ruby/1.9.1/thread.rb
    7 c:/usr/lib/ruby/1.9.1/rubygems/exceptions.rb
    8 c:/usr/lib/ruby/1.9.1/rubygems/custom_require.rb
    9 c:/usr/lib/ruby/1.9.1/rubygems.rb
    10 c:/usr/lib/ruby/1.9.1/ubygems.rb

[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.
=end

Actions #1

Updated by yugui (Yuki Sonoda) about 13 years ago

  • Assignee set to nobu (Nobuyoshi Nakada)

=begin

=end

Actions #2

Updated by nobu (Nobuyoshi Nakada) about 13 years ago

  • Status changed from Open to Closed
  • % Done changed from 0 to 100

=begin
This issue was solved with changeset r30641.
Heesob, thank you for reporting this issue.
Your contribution to Ruby is greatly appreciated.
May Ruby be with you.


  • error.c (rb_invalid_str): prevent intermediate variable from GC.
    [ruby-core:34820]
    =end
Actions

Also available in: Atom PDF

Like0
Like0Like0