# \[Bug #2522\] Segmentation Fault is occurred on r26158 by running rubyspec

**URL:** <https://www.ruby-forum.com/t/bug-2522-segmentation-fault-is-occurred-on-r26158-by-running-rubyspec/180647>\
**Category:** Development\
**Created:** [December 25, 2009, 3:16pm UTC](https://www.ruby-forum.com/t/bug-2522-segmentation-fault-is-occurred-on-r26158-by-running-rubyspec/180647 "2009-12-25T15:16:48Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![Kenta\_M](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/k/b5a626/32.png) [@Kenta\_M](https://www.ruby-forum.com/u/Kenta_M)\
**Post date:** [December 25, 2009, 3:16pm UTC](https://www.ruby-forum.com/t/bug-2522-segmentation-fault-is-occurred-on-r26158-by-running-rubyspec/180647/1 "2009-12-25T15:16:48Z")

</div>

Bug #2522: Segmentation Fault is occurred on r26158 by running rubyspec  
[http://redmine.ruby-lang.org/issues/show/2522](http://redmine.ruby-lang.org/issues/show/2522)

e$B5/I\<\<Te(B: Kenta M.  
e$B%9%F!\<%?%9e(B: Open, e$BM%@hEYe(B: Normal  
e$B%+%F%4%je(B: core, Target version: 1.9.2  
ruby -v: ruby 1.9.2dev (2009-12-23 trunk 26158) [x86\_64-darwin10.2.0]

r26158 e$B\>e$Ge(B rubyspec e$B$r\<B9T$9$k$He(B SIGSEGV  
e$B$,H/@8$7$^$9!#e(B

e$B!Ze(Brubyspec e$B$N%m%0![e(B

$ mspec -t /opt/ruby/trunk/bin/ruby  
ruby 1.9.2dev (2009-12-23 trunk 26158) [x86\_64-darwin10.2.0]  
…F…ok  
F.E…F…F…F…F…/opt/ruby/trunk/lib/ruby/gems/1.9.1/gems/mspec-1.5.12/lib/mspec/mocks/proxy.rb:8:  
[BUG] Segmentation fault  
ruby 1.9.2dev (2009-12-23 trunk 26158) [x86\_64-darwin10.2.0]

– control frame ----------  
c:0036 p:0024 s:0121 b:0121 l:000120 d:000120 METHOD  
/opt/ruby/trunk/lib/ruby/gems/1.9.1/gems/mspec-1.5.12/lib/mspec/mocks/proxy.rb:8  
c:0035 p:---- s:0115 b:0115 l:000114 d:000114 FINISH  
c:0034 p:---- s:0113 b:0113 l:000112 d:000112 CFUNC :autoload  
c:0033 p:0057 s:0108 b:0108 l:0015c8 d:000107 BLOCK  
/Users/muraken/src/rubyspec.git/core/kernel/autoload\_spec.rb:105  
c:0032 p:---- s:0105 b:0105 l:000104 d:000104 FINISH  
c:0031 p:---- s:0103 b:0103 l:000102 d:000102 CFUNC :instance\_eval  
c:0030 p:0017 s:0100 b:0100 l:000099 d:000099 METHOD  
/opt/ruby/trunk/lib/ruby/gems/1.9.1/gems/mspec-1.5.12/lib/mspec/runner/mspec.rb:67  
c:0029 p:0021 s:0094 b:0094 l:000081 d:000093 BLOCK  
/opt/ruby/trunk/lib/ruby/gems/1.9.1/gems/mspec-1.5.12/lib/mspec/runner/context.rb:149  
c:0028 p:---- s:0091 b:0091 l:000090 d:000090 FINISH  
c:0027 p:---- s:0089 b:0089 l:000084 d:000088 IFUNC  
:instance\_variable\_get  
c:0026 p:---- s:0087 b:0087 l:000086 d:000086 CFUNC :each  
c:0025 p:---- s:0085 b:0085 l:000084 d:000084 CFUNC :all?  
c:0024 p:0053 s:0082 b:0082 l:000081 d:000081 METHOD  
/opt/ruby/trunk/lib/ruby/gems/1.9.1/gems/mspec-1.5.12/lib/mspec/runner/context.rb:149  
c:0023 p:0101 s:0076 b:0076 l:000065 d:000075 BLOCK  
/opt/ruby/trunk/lib/ruby/gems/1.9.1/gems/mspec-1.5.12/lib/mspec/runner/context.rb:177  
c:0022 p:---- s:0071 b:0071 l:000070 d:000070 FINISH  
c:0021 p:---- s:0069 b:0069 l:000068 d:000068 CFUNC :each  
c:0020 p:0127 s:0066 b:0066 l:000065 d:000065 METHOD  
/opt/ruby/trunk/lib/ruby/gems/1.9.1/gems/mspec-1.5.12/lib/mspec/runner/context.rb:169  
c:0019 p:0109 s:0063 b:0063 l:000062 d:000062 METHOD  
/opt/ruby/trunk/lib/ruby/gems/1.9.1/gems/mspec-1.5.12/lib/mspec/runner/mspec.rb:36  
c:0018 p:0029 s:0056 b:0056 l:000055 d:000055 METHOD  
/opt/ruby/trunk/lib/ruby/gems/1.9.1/gems/mspec-1.5.12/lib/mspec/runner/object.rb:11  
c:0017 p:0167 s:0049 b:0049 l:0015c8 d:0015c8 TOP  
/Users/muraken/src/rubyspec.git/core/kernel/autoload\_spec.rb:69  
c:0016 p:---- s:0047 b:0047 l:000046 d:000046 FINISH

e$B!Ze(Bgdb e$B$Ge(B where e$B$7$?7k2L$J$I![e(B

Program received signal EXC\_BAD\_ACCESS, Could not access memory.Reason:  
KERN\_INVALID\_ADDRESS at address: 0x00000000000000080x000000010015ab74 in  
vm\_backtrace\_each (th=\<value temporarily unavailable, due to  
optimizations\>, lev=\<value temporarily unavailable, due to  
optimizations\>, iter=0x1001587f0 \<vm\_backtrace\_push\>,  
arg=0x7fff5fbfa768) at …/vm.c:751  
751 if ((\*iter)(arg, file, line\_no,  
rb\_id2str(cfp-\>me-\>def-\>original\_id))) break;  
(gdb) where  
#0 0x000000010015ab74 in vm\_backtrace\_each (th=\<value temporarily  
unavailable, due to optimizations\>, lev=\<value temporarily unavailable,  
due to optimizations\>, iter=0x1001587f0 \<vm\_backtrace\_push\>,  
arg=0x7fff5fbfa768) at …/vm.c:751#1 0x000000010015b369 in vm\_backtrace  
[inlined] () at /Users/muraken/src/ruby-trunk.svn/vm.c:781  
#2 0x000000010015b369 in rb\_make\_backtrace () at …/vm.c:1573  
#3 0x000000010003b485 in rb\_longjmp (tag=6, mesg=4305961240) at  
…/eval.c:379  
#4 0x000000010003b874 in rb\_exc\_raise (mesg=\<value temporarily  
unavailable, due to optimizations\>) at …/eval.c:444  
#5 0x000000010016d7cc in raise\_method\_missing (th=0x1003016b0, argc=1,  
argv=0x1004003d0, obj=4305966240, last\_call\_status=\<value temporarily  
unavailable, due to optimizations\>) at vm\_eval.c:540  
#6 0x000000010016d971 in rb\_method\_missing (argc=\<value temporarily  
unavailable, due to optimizations\>, argv=\<value temporarily unavailable,  
due to optimizations\>, obj=\<value temporarily unavailable, due to  
optimizations\>) at vm\_eval.c:480  
#7 0x000000010015be2d in vm\_call\_cfunc (th=0x1003016b0,  
reg\_cfp=0x1004ff3a0, num=1, recv=4305966240, blockptr=0x0, flag=\<value  
temporarily unavailable, due to optimizations\>, me=0x10031d500) at  
vm\_insnhelper.c:390  
#8 0x000000010015c7f2 in vm\_call\_method (th=0x1003016b0,  
cfp=0x1004ff3a0, num=1, blockptr=0x0, flag=136, id=\<value temporarily  
unavailable, due to optimizations\>, me=0x10031d500, recv=4305966240) at  
vm\_insnhelper.c:515  
#9 0x0000000100161d96 in vm\_exec\_core (th=0x1003016b0, initial=\<value  
temporarily unavailable, due to optimizations\>) at insns.def:1027  
#10 0x0000000100166ed3 in vm\_exec (th=0x1003016b0) at …/vm.c:1119  
#11 0x000000010016943a in vm\_call0 (th=0x1003016b0, recv=4305966240,  
id=\<value temporarily unavailable, due to optimizations\>, argc=1,  
argv=0x100a7c218, me=0x101813180) at vm\_eval.c:66  
#12 0x00000001001748f7 in check\_funcall\_exec (args=\<value temporarily  
unavailable, due to optimizations\>) at vm\_eval.c:234  
#13 0x000000010003a127 in rb\_rescue2 (b\_proc=0x100174760  
\<check\_funcall\_exec\>, data1=140734799786912, r\_proc=0x10016ddc0  
\<check\_funcall\_failed\>, data2=140734799786912) at …/eval.c:617  
#14 0x0000000100169f54 in rb\_check\_funcall (recv=4305966240, mid=319502,  
argc=0, argv=0x0) at vm\_eval.c:283  
#15 0x0000000100085490 in convert\_type (val=4305966240,  
tname=0x10018e220 “String”, method=0x100190b70 “to\_str”, raise=0) at  
…/object.c:2026  
#16 0x0000000100087bb9 in rb\_check\_convert\_type (val=4305966240, type=5,  
tname=0x10018e220 “String”, method=0x100190b70 “to\_str”) at  
…/object.c:2063  
#17 0x0000000100042f81 in rb\_get\_path\_check (obj=4305966240, level=0) at  
…/file.c:143  
#18 0x000000010003dd00 in rb\_mod\_autoload [inlined] () at  
/Users/muraken/src/ruby-trunk.svn/load.c:659  
#19 0x000000010003dd00 in rb\_f\_autoload (obj=\<value temporarily  
unavailable, due to optimizations\>, sym=11349262, file=\<value  
temporarily unavailable, due to optimizations\>) at …/load.c:701  
#20 0x000000010015be2d in vm\_call\_cfunc (th=0x1003016b0,  
reg\_cfp=0x1004ff4a8, num=2, recv=4303985080, blockptr=0x0, flag=\<value  
temporarily unavailable, due to optimizations\>, me=0x10036d030) at  
vm\_insnhelper.c:390  
#21 0x000000010015c7f2 in vm\_call\_method (th=0x1003016b0,  
cfp=0x1004ff4a8, num=2, blockptr=0x0, flag=0, id=\<value temporarily  
unavailable, due to optimizations\>, me=0x10036d030, recv=4303985080) at  
vm\_insnhelper.c:515  
#22 0x000000010015f723 in vm\_exec\_core (th=0x1003016b0, initial=\<value  
temporarily unavailable, due to optimizations\>) at insns.def:999  
#23 0x0000000100166ed3 in vm\_exec (th=0x1003016b0) at …/vm.c:1119  
#24 0x00000001001685d1 in vm\_yield\_with\_cref [inlined] () at  
/Users/muraken/src/ruby-trunk.svn/vm.c:579  
#25 0x00000001001685d1 in yield\_under (under=\<value temporarily  
unavailable, due to optimizations\>, self=4307815160, values=6) at  
…/vm.c:1182  
#26 0x0000000100168808 in specific\_eval (argc=0, argv=0x100400328,  
klass=4307815120, self=4307815160) at vm\_eval.c:1212  
#27 0x000000010015be2d in vm\_call\_cfunc (th=0x1003016b0,  
reg\_cfp=0x1004ff5b0, num=0, recv=4307815160, blockptr=0x101f44570,  
flag=\<value temporarily unavailable, due to optimizations\>,  
me=0x10031d3a0) at vm\_insnhelper.c:390  
#28 0x000000010015c7f2 in vm\_call\_method (th=0x1003016b0,  
cfp=0x1004ff5b0, num=0, blockptr=0x101f44570, flag=4, id=\<value  
temporarily unavailable, due to optimizations\>, me=0x10031d3a0,  
recv=4307815160) at vm\_insnhelper.c:515  
#29 0x000000010015f723 in vm\_exec\_core (th=0x1003016b0, initial=\<value  
temporarily unavailable, due to optimizations\>) at insns.def:999  
#30 0x0000000100166ed3 in vm\_exec (th=0x1003016b0) at …/vm.c:1119  
#31 0x000000010002f9b6 in enum\_all\_func [inlined] () at  
/Users/muraken/src/ruby-trunk.svn/enum.c:885  
#32 0x000000010002f9b6 in all\_iter\_i (i=\<value temporarily unavailable,  
due to optimizations\>, memo=0x7fff5fbfc5f8, argc=\<value temporarily  
unavailable, due to optimizations\>, argv=  
\<value temporarily unavailable, due to optimizations\>) at …/enum.c:885  
#33 0x0000000100174641 in rb\_yield (val=4306057120) at  
vm\_insnhelper.c:716  
#34 0x0000000100006962 in rb\_ary\_each (ary=4305967240) at  
…/array.c:1402  
#35 0x00000001001691b9 in vm\_call0 (th=0x1003016b0, recv=\<value  
temporarily unavailable, due to optimizations\>, id=424, argc=0,  
argv=0x0, me=0x10033c790) at vm\_eval.c:78  
#36 0x000000010016cb5e in iterate\_method (obj=\<value temporarily  
unavailable, due to optimizations\>) at vm\_eval.c:234  
#37 0x0000000100158306 in rb\_iterate (it\_proc=0x10016ca00  
\<iterate\_method\>, data1=140734799791552, bl\_proc=0x10002f9a0  
\<all\_iter\_i\>, data2=\<value temporarily unavailable, due to  
optimizations\>) at vm\_eval.c:843  
#38 0x000000010015845d in rb\_block\_call (obj=\<value temporarily  
unavailable, due to optimizations\>, mid=\<value temporarily unavailable,  
due to optimizations\>, argc=\<value temporarily unavailable, due to  
optimizations\>, argv=\<value temporarily unavailable, due to  
optimizations\>, bl\_proc=\<value temporarily unavailable, due to  
optimizations\>, data2=\<value temporarily unavailable, due to  
optimizations\>) at vm\_eval.c:911  
#39 0x000000010002deb4 in enum\_all (obj=4305967240) at …/enum.c:916  
#40 0x000000010015be2d in vm\_call\_cfunc (th=0x1003016b0,  
reg\_cfp=0x1004ff7c0, num=0, recv=4305967240, blockptr=0x1004ff7e8,  
flag=\<value temporarily unavailable, due to optimizations\>,  
me=0x10030e3f0) at vm\_insnhelper.c:390  
#41 0x000000010015c7f2 in vm\_call\_method (th=0x1003016b0,  
cfp=0x1004ff7c0, num=0, blockptr=0x1004ff7e8, flag=0, id=\<value  
temporarily unavailable, due to optimizations\>, me=0x10030e3f0,  
recv=4305967240) at vm\_insnhelper.c:515  
#42 0x000000010015f723 in vm\_exec\_core (th=0x1003016b0, initial=\<value  
temporarily unavailable, due to optimizations\>) at insns.def:999  
#43 0x0000000100166ed3 in vm\_exec (th=0x1003016b0) at …/vm.c:1119  
#44 0x0000000100174399 in rb\_yield (val=4306057000) at …/vm.c:556  
#45 0x0000000100006962 in rb\_ary\_each (ary=4306063360) at  
…/array.c:1402  
#46 0x000000010015be2d in vm\_call\_cfunc (th=0x1003016b0,  
reg\_cfp=0x1004ff920, num=0, recv=4306063360, blockptr=0x1004ff948,  
flag=\<value temporarily unavailable, due to optimizations\>,  
me=0x10033c790) at vm\_insnhelper.c:390  
#47 0x000000010015c7f2 in vm\_call\_method (th=0x1003016b0,  
cfp=0x1004ff920, num=0, blockptr=0x1004ff948, flag=0, id=\<value  
temporarily unavailable, due to optimizations\>, me=0x10033c790,  
recv=4306063360) at vm\_insnhelper.c:515  
#48 0x000000010015f723 in vm\_exec\_core (th=0x1003016b0, initial=\<value  
temporarily unavailable, due to optimizations\>) at insns.def:999  
#49 0x0000000100166ed3 in vm\_exec (th=0x1003016b0) at …/vm.c:1119  
#50 0x0000000100167342 in rb\_iseq\_eval (iseqval=4307442280) at  
…/vm.c:1329  
#51 0x000000010003ceb8 in rb\_load\_internal (fname=4307814520,  
wrap=\<value temporarily unavailable, due to optimizations\>) at  
…/load.c:293  
#52 0x000000010003db5a in rb\_f\_load (argc=\<value temporarily  
unavailable, due to optimizations\>, argv=\<value temporarily unavailable,  
due to optimizations\>) at …/load.c:366  
#53 0x000000010015be2d in vm\_call\_cfunc (th=0x1003016b0,  
reg\_cfp=0x1004ffb30, num=1, recv=4303985080, blockptr=0x0, flag=\<value  
temporarily unavailable, due to optimizations\>, me=0x10036cc10) at  
vm\_insnhelper.c:390  
#54 0x000000010015c7f2 in vm\_call\_method (th=0x1003016b0,  
cfp=0x1004ffb30, num=1, blockptr=0x0, flag=0, id=\<value temporarily  
unavailable, due to optimizations\>, me=0x10036cc10, recv=4303985080) at  
vm\_insnhelper.c:515  
#55 0x000000010015f723 in vm\_exec\_core (th=0x1003016b0, initial=\<value  
temporarily unavailable, due to optimizations\>) at insns.def:999  
#56 0x0000000100166ed3 in vm\_exec (th=0x1003016b0) at …/vm.c:1119  
#57 0x00000001001685d1 in vm\_yield\_with\_cref [inlined] () at  
/Users/muraken/src/ruby-trunk.svn/vm.c:579  
#58 0x00000001001685d1 in yield\_under (under=\<value temporarily  
unavailable, due to optimizations\>, self=4307815160, values=6) at  
…/vm.c:1182  
#59 0x0000000100168808 in specific\_eval (argc=0, argv=0x100400118,  
klass=4307815120, self=4307815160) at vm\_eval.c:1212  
#60 0x000000010015be2d in vm\_call\_cfunc (th=0x1003016b0,  
reg\_cfp=0x1004ffc38, num=0, recv=4307815160, blockptr=0x109ac11a0,  
flag=\<value temporarily unavailable, due to optimizations\>,  
me=0x10031d3a0) at vm\_insnhelper.c:390  
#61 0x000000010015c7f2 in vm\_call\_method (th=0x1003016b0,  
cfp=0x1004ffc38, num=0, blockptr=0x109ac11a0, flag=4, id=\<value  
temporarily unavailable, due to optimizations\>, me=0x10031d3a0,  
recv=4307815160) at vm\_insnhelper.c:515  
#62 0x000000010015f723 in vm\_exec\_core (th=0x1003016b0, initial=\<value  
temporarily unavailable, due to optimizations\>) at insns.def:999  
#63 0x0000000100166ed3 in vm\_exec (th=0x1003016b0) at …/vm.c:1119  
#64 0x0000000100174399 in rb\_yield (val=4303770520) at …/vm.c:556  
#65 0x0000000100006962 in rb\_ary\_each (ary=4312592000) at  
…/array.c:1402  
#66 0x000000010015be2d in vm\_call\_cfunc (th=0x1003016b0,  
reg\_cfp=0x1004ffd98, num=0, recv=4312592000, blockptr=0x1004ffdc0,  
flag=\<value temporarily unavailable, due to optimizations  
#67 0x000000010015c7f2 in vm\_call\_method (th=0x1003016b0,  
cfp=0x1004ffd98, num=0, blockptr=0x1004ffdc0, flag=0, id=\<value  
temporarily unavailable, due to optimizations\>, me=0x10033c790,  
recv=4312592000) at vm\_insnhelper.c:515  
#68 0x000000010015f723 in vm\_exec\_core (th=0x1003016b0, initial=\<value  
temporarily unavailable, due to optimizations\>) at insns.def:999  
#69 0x0000000100166ed3 in vm\_exec (th=0x1003016b0) at …/vm.c:1119  
#70 0x00000001001671c0 in rb\_iseq\_eval\_main (iseqval=4303729680) at  
…/vm.c:1343  
#71 0x000000010003a392 in ruby\_exec\_internal (n=0x10085b410) at  
…/eval.c:204  
#72 0x000000010003caac in ruby\_exec\_node [inlined] () at  
/Users/muraken/src/ruby-trunk.svn/eval.c:251  
#73 0x000000010003caac in ruby\_run\_node (n=\<value temporarily  
unavailable, due to optimizations\>) at …/eval.c:244  
#74 0x000000010000109f in main (argc=3, argv=0x7fff5fbfeaa0) at  
…/main.c:35

---

<div class="post-metadata">

**Author:** ![Kenta\_M](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/k/b5a626/32.png) [@Kenta\_M](https://www.ruby-forum.com/u/Kenta_M)\
**Post date:** [December 25, 2009, 4:07pm UTC](https://www.ruby-forum.com/t/bug-2522-segmentation-fault-is-occurred-on-r26158-by-running-rubyspec/180647/2 "2009-12-25T16:07:19Z")

</div>

e$B%A%1%C%He(B #2522 e$B$,99?7$5$l$^$7$?!#e(B (by Kenta M.)

e$B:#!"e(Bruby, mspec, rubyspec  
e$B$r$9$Y$F:G?7\>uBV$K$7$F\<B9T$7$F$\_$^$7$?$i!“e(B  
e$B:F8=$;$:!”$7$C$+$$$j$H$9$Y$F$r\<B9T$G$-$^$7$?!#e(B

* * *

[http://redmine.ruby-lang.org/issues/show/2522](http://redmine.ruby-lang.org/issues/show/2522)

---

<div class="post-metadata">

**Author:** ![Kenta\_M](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/k/b5a626/32.png) [@Kenta\_M](https://www.ruby-forum.com/u/Kenta_M)\
**Post date:** [December 25, 2009, 4:07pm UTC](https://www.ruby-forum.com/t/bug-2522-segmentation-fault-is-occurred-on-r26158-by-running-rubyspec/180647/3 "2009-12-25T16:07:19Z")

</div>

e$B%A%1%C%He(B #2522 e$B$,99?7$5$l$^$7$?!#e(B (by ujihisa .)

e$BKM$N4D6-$G$O!":F8=$G$-$^$;$s$G$7$?!#e(B

```
$ /usr/bin/ruby ../mspec/bin/mspec ./core/kernel/autoload_spec.rb -t 

```

~/rubies/bin/ruby192  
ruby 1.9.2dev (2009-12-23 trunk 26158) [i386-darwin9.8.0]  
…

```
Finished in 0.205618 seconds

1 file, 14 examples, 16 expectations, 0 failures, 0 errors

```

* * *

[http://redmine.ruby-lang.org/issues/show/2522](http://redmine.ruby-lang.org/issues/show/2522)

---

<div class="post-metadata">

**Author:** ![Kenta\_M](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/k/b5a626/32.png) [@Kenta\_M](https://www.ruby-forum.com/u/Kenta_M)\
**Post date:** [December 25, 2009, 4:17pm UTC](https://www.ruby-forum.com/t/bug-2522-segmentation-fault-is-occurred-on-r26158-by-running-rubyspec/180647/4 "2009-12-25T16:17:18Z")

</div>

2009e$BG/e(B12e$B7ne(B24e$BF|e(B9:16 Kenta M.  
[removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid):

> e$B:#!"e(Bruby, mspec, rubyspec e$B$r$9$Y$F:G?7\>uBV$K$7$F\<B9T$7$F$\_$^$7$?$i!“e(B  
> e$B:F8=$;$:!”$7$C$+$$$j$H$9$Y$F$r\<B9T$G$-$^$7$?!#e(B

ruby -v: ruby 1.9.2dev (2009-12-23 trunk 26158) [x86\_64-darwin10.2.0]  
e$B$H$$$&$N$O==J,$K?7$7$$$N$G!"8E$$e(B mspec, rubyspec e$B$G$be(B SEGV  
e$B$9$k$J$ie(B  
ruby e$B$NLdBj$+$b$7$l$^$;$s!#e(B
