Project

General

Profile

Backport #3743

Segmentation fault on TestRegexp#test_exec

Added by raylinn@gmail.com (ray linn) about 9 years ago. Updated over 8 years ago.

Status:
Closed
Priority:
Normal
[ruby-core:31844]

Description

=begin
When running namke tes-all TESTS="-v" segmentation error happened, the error message is as belowing:

TestRegexp#test_exec: C:/win32_utils/ruby-1.9.2-p0/lib/minitest/unit.rb:176: [BU
G] Segmentation fault
ruby 1.9.2p0 (2010-08-18 revision 29036) [x64-mswin64_100]

-- control frame ----------
c:0019 p:---- s:0075 b:0075 l:000074 d:000074 CFUNC :=~
c:0018 p:0104 s:0071 b:0070 l:000570 d:000570 METHOD C:/win32_utils/ruby-1.9.2-p
0/lib/minitest/unit.rb:176
c:0017 p:0036 s:0064 b:0064 l:000053 d:000063 BLOCK C:/win32_utils/ruby-1.9.2-p
0/test/ruby/test_regexp.rb:500
c:0016 p:---- s:0059 b:0059 l:000058 d:000058 FINISH
c:0015 p:---- s:0057 b:0057 l:000056 d:000056 CFUNC :each
c:0014 p:0077 s:0054 b:0054 l:000053 d:000053 METHOD C:/win32_utils/ruby-1.9.2-p
0/test/ruby/test_regexp.rb:498
c:0013 p:0537 s:0048 b:0048 l:000047 d:000047 METHOD C:/win32_utils/ruby-1.9.2-p
0/test/ruby/test_regexp.rb:569
c:0012 p:0063 s:0045 b:0045 l:000044 d:000044 METHOD C:/win32_utils/ruby-1.9.2-p
0/lib/minitest/unit.rb:680
c:0011 p:0091 s:0039 b:0039 l:0004f8 d:000038 BLOCK C:/win32_utils/ruby-1.9.2-p
0/lib/minitest/unit.rb:641
c:0010 p:---- s:0034 b:0034 l:000033 d:000033 FINISH
c:0009 p:---- s:0032 b:0032 l:000031 d:000031 CFUNC :each
c:0008 p:0026 s:0029 b:0029 l:0004f8 d:000028 BLOCK C:/win32_utils/ruby-1.9.2-p
0/lib/minitest/unit.rb:635
c:0007 p:---- s:0026 b:0026 l:000025 d:000025 FINISH
c:0006 p:---- s:0024 b:0024 l:000023 d:000023 CFUNC :each
c:0005 p:0082 s:0021 b:0021 l:0004f8 d:0004f8 METHOD C:/win32_utils/ruby-1.9.2-p
0/lib/minitest/unit.rb:634
c:0004 p:0188 s:0016 b:0016 l:0025f8 d:0025f8 METHOD C:/win32_utils/ruby-1.9.2-p
0/lib/minitest/unit.rb:594
c:0003 p:0041 s:0007 b:0007 l:0023e8 d:001ff0 BLOCK C:/win32_utils/ruby-1.9.2-p
0/lib/minitest/unit.rb:492
c:0002 p:---- s:0004 b:0004 l:000003 d:000003 FINISH
c:0001 p:0000 s:0002 b:0002 l:002538 d:002538 TOP


-- Ruby level backtrace information ----------------------------------------
C:/win32_utils/ruby-1.9.2-p0/lib/minitest/unit.rb:492:in block in autorun'
C:/win32_utils/ruby-1.9.2-p0/lib/minitest/unit.rb:594:in
run'
C:/win32_utils/ruby-1.9.2-p0/lib/minitest/unit.rb:634:in run_test_suites'
C:/win32_utils/ruby-1.9.2-p0/lib/minitest/unit.rb:634:in
each'
C:/win32_utils/ruby-1.9.2-p0/lib/minitest/unit.rb:635:in block in run_test_suit
es'
C:/win32_utils/ruby-1.9.2-p0/lib/minitest/unit.rb:635:in
each'
C:/win32_utils/ruby-1.9.2-p0/lib/minitest/unit.rb:641:in block (2 levels) in ru
n_test_suites'
C:/win32_utils/ruby-1.9.2-p0/lib/minitest/unit.rb:680:in
run'
C:/win32_utils/ruby-1.9.2-p0/test/ruby/test_regexp.rb:569:in test_exec'
C:/win32_utils/ruby-1.9.2-p0/test/ruby/test_regexp.rb:498:in
check'
C:/win32_utils/ruby-1.9.2-p0/test/ruby/test_regexp.rb:498:in each'
C:/win32_utils/ruby-1.9.2-p0/test/ruby/test_regexp.rb:500:in
block in check'
C:/win32_utils/ruby-1.9.2-p0/lib/minitest/unit.rb:176:in assert_match'
C:/win32_utils/ruby-1.9.2-p0/lib/minitest/unit.rb:176:in
=~'
=end


Files

seg_fault.png (249 KB) seg_fault.png trace in WinDbg raylinn@gmail.com (ray linn), 08/25/2010 08:36 PM
call_stack.PNG (45.5 KB) call_stack.PNG call stack raylinn@gmail.com (ray linn), 08/25/2010 08:36 PM

Related issues

Related to Ruby master - Bug #3742: failed to allocate memory: /^()(?>\g<1>)*$/ on x64-mswin64Closed08/25/2010Actions
Related to Ruby master - Bug #3459: test_regexp.rb Segmentation fault on x64-mswin64Closed06/21/2010Actions

Associated revisions

Revision 90918d35
Added by yugui (Yuki Sonoda) about 9 years ago

merges r29102 from trunk into ruby_1_9_2. fixes #3743.

  • regint.h (OnigStackIndex): the type should be intptr_t. Original Oniguruma assumes the size of long and that of void * are equal, but it's not true on LLP64 platform: mswin64. originally patched by shintaro kuwamoto [ruby-dev:42133]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_2@29392 b2dd03c8-39d4-4d8f-98ff-823fe69b080e

Revision 29392
Added by yugui (Yuki Sonoda) about 9 years ago

merges r29102 from trunk into ruby_1_9_2. fixes #3743.

  • regint.h (OnigStackIndex): the type should be intptr_t. Original Oniguruma assumes the size of long and that of void * are equal, but it's not true on LLP64 platform: mswin64. originally patched by shintaro kuwamoto [ruby-dev:42133]

History

#1

Updated by naruse (Yui NARUSE) about 9 years ago

  • Status changed from Open to Assigned
  • Assignee set to yugui (Yuki Sonoda)

=begin
Fixed in trunk with r29074 and r29102.
=end

#2

Updated by yugui (Yuki Sonoda) about 9 years ago

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

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

=end

Also available in: Atom PDF