[Bug #3398] 1.9.2 SEGV during test-all

Bug #3398: 1.9.2 SEGV during test-all
http://redmine.ruby-lang.org/issues/show/3398

e$B5/I<<Te(B: Yuki S.
e$B%9%F!<%?%9e(B: Assigned, e$BM%@hEYe(B: High
e$BC4Ev<Te(B: Yuki S., e$B%+%F%4%je(B: core, Target version: 1.9.2
ruby -v: ruby 1.9.2dev (2010-06-06 revision 28184) [i386-darwin9.8.0]

OSXe$B$G!"e(BTestArray#test_producte$BCf$Ke(BSEGVe$B$,H/@8$7$^$9!#e(B

rb_ary_producte$B$Ne(Bt0e$B$,B8:_$9$ke(Bheap
slote$B$,e(BGCe$B$Ge(Bfreee$B$5$l$F$7$^$&$N$,860x$N$h$&$G$9!#e(Bt0e$B$KBP$9$ke(Bobj_freee$B$O8F$P$l$J$$$N$G%^!<%/O3$l$G$O$J$$$H;W$o$l!"$b$7$+$7$?$ie(Bheap
slote$B$Ne(Blimite$B$,$:$l$F$$$k$N$+$bCN$l$^$;$s!#e(B

e$B$“$kDxEYBg$-$J%W%m%0%i%`$G$J$$$H:F8=$7$J$$$h$&$G!”:G>.%1!<%9$O:n@.$7$F$$$^$;$s$,!";d$N4D6-$G$Oe(B
make test-all TESTS=‘-v ruby/test_array.rb’ RUNRUBYOPT=‘–debug’
e$B$K$h$je(B90%e$B$0$i$$$N3NN($G:F8=$7$^$9!#e(B

e$B8=:_BP1~Cf$G$9!#e(B

e$BC.2H$G$9!#e(B

2010e$BG/e(B6e$B7ne(B6e$BF|e(B18:54 Yuki S. [email protected]:

rb_ary_producte$B$Ne(Bt0e$B$,B8:_$9$ke(Bheap slote$B$,e(BGCe$B$Ge(Bfreee$B$5$l$F$7$^$&$N$,860x$N$h$&$G$9!#e(Bt0e$B$KBP$9$ke(Bobj_freee$B$O8F$P$l$J$$$N$G%^!<%/O3$l$G$O$J$$$H;W$o$l!"$b$7$+$7$?$ie(Bheap slote$B$Ne(Blimite$B$,$:$l$F$$$k$N$+$bCN$l$^$;$s!#e(B

r28191 e$B$Ge(B
1.9.2e$B$K$D$$$F$O2r7h$r$7$^$7$?$,!"e(Btrunke$B$G$J$$$+$i$+e(Bredminee$B$N3+H/<T$KEPO?$5$l$F$J$$$+$i$+!"O"7H$Ge(Bclosee$B$G$-$F$^$;$s!#e(B
#e$B<jF0$Ge(Bclosee$B$bEvA3=PMh$J$$!'e(B-)

e$B$^$?e(Btrunke$B$K$D$$$F$O%3!<%I$,BgJ,JQ$o$C$F$$$k$?$a$K!"$=$b$=$bF1$8LdBj$,5/$3$k$+$I$&$+$+$i3NG’$,$H$l$F$$$^$;$s$,J,$+$k?M$$$^$;$s$+!)e(B

okkez e$B$G$9!#e(B

2010e$BG/e(B6e$B7ne(B7e$BF|e(B0:26 Masaya TARUI [email protected]:

e$BC.2H$G$9!#e(B

r28191 e$B$Ge(B 1.9.2e$B$K$D$$$F$O2r7h$r$7$^$7$?$,!"e(Btrunke$B$G$J$$$+$i$+e(Bredminee$B$N3+H/<T$KEPO?$5$l$F$J$$$+$i$+!"O"7H$Ge(Bclosee$B$G$-$F$^$;$s!#e(B
#e$B<jF0$Ge(Bclosee$B$bEvA3=PMh$J$$!'e(B-)

Ruby e$B$He(B Ruby1.9 e$B%W%m%8%'%/%H$Ne(B Developper
e$B$H$7$FDI2C$7$F$*$-$^$7$?!#e(B

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

e$B%9%F!<%?%9e(B Closede$B$+$ie(BAssignede$B$KJQ99e(B
e$BC4Ev<Te(B Yuki S.e$B$+$ie(BNarihiro N.e$B$KJQ99e(B
Target version 1.9.2e$B$+$ie(B1.9.xe$B$KJQ99e(B

e$B1sF#$G$9!#e(B

e$B$3$NLdBj$Oe(B ruby_1_9_2 e$B$G$Oe(B r28191
e$B$G2r7h$5$l$^$7$?$,!“$I$&$d$ie(B
trunk e$B$G;D$C$F$$$k$h$&$G$9!#e(B#1934 e$B$re(B valgrind
e$B$N2<$G<B9T$9$k$He(B
freelist e$B$N;2>H$,e(B free e$B:Q$_$NNN0h$r;X$7$F$7$^$C$F$$$k$3$H$,e(B
e$B$o$+$j$^$9!#e(B
lazy sweep e$B$N1F6A$G%3!<%I$,JQ$o$C$F$$$k$”$?$j$H$$$&$3$H$J$N$G!"e(B
nari e$B$5$s$K8+$F$$$?$@$1$l$P$H;W$$$^$9!#e(B

of primes: 129 results: [] prime: 739 process time: 189.97

of primes: 130 results: [] prime: 743 process time: 197.16

of primes: 131 results: [] prime: 751 process time: 205.02

==24732==
==24732== Invalid read of size 4
==24732== at 0x8068492: rb_newobj (gc.c:1049)
==24732== by 0x817CDFB: ary_new (array.c:297)
==24732== by 0x817EA16: rb_ary_combination (array.c:331)
==24732== by 0x815AC61: vm_call0 (vm_eval.c:78)
==24732== by 0x815B98F: iterate_method (vm_eval.c:234)
==24732== by 0x81557C7: rb_iterate (vm_eval.c:851)
==24732== by 0x815595E: rb_block_call (vm_eval.c:931)
==24732== by 0x81A95FA: enumerator_each (enumerator.c:317)
==24732== by 0x815AC61: vm_call0 (vm_eval.c:78)
==24732== by 0x815B98F: iterate_method (vm_eval.c:234)
==24732== by 0x81557C7: rb_iterate (vm_eval.c:851)
==24732== by 0x815595E: rb_block_call (vm_eval.c:931)
==24732== Address 0x501c4d4 is 116 bytes inside a block of size 16,384
free’d
==24732== at 0x4022B8A: free (vg_replace_malloc.c:323)
==24732== by 0x806375C: free_unused_heaps (gc.c:1869)
==24732== by 0x816E2C4: rb_threadptr_execute_interrupts_rec
(thread.c:1295)
==24732== by 0x816E58E: rb_thread_check_ints (thread.c:968)
==24732== by 0x81A616E: collect_all (enum.c:379)
==24732== by 0x8159C67: vm_yield_with_cfunc (vm_insnhelper.c:724)
==24732== by 0x8165CDE: rb_yield (vm.c:587)
==24732== by 0x817EA75: rb_ary_combination (array.c:4078)
==24732== by 0x815AC61: vm_call0 (vm_eval.c:78)
==24732== by 0x815B98F: iterate_method (vm_eval.c:234)
==24732== by 0x81557C7: rb_iterate (vm_eval.c:851)
==24732== by 0x815595E: rb_block_call (vm_eval.c:931)


Yusuke E. [email protected]

http://redmine.ruby-lang.org/issues/show/3398

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

e$B%9%F!<%?%9e(B Assignede$B$+$ie(BClosede$B$KJQ99e(B
e$B?JD=e(B % 0e$B$+$ie(B100e$B$KJQ99e(B

This issue was solved with changeset r28472.
Yuki, thank you for reporting this issue.
Your contribution to Ruby is greatly appreciated.
May Ruby be with you.


http://redmine.ruby-lang.org/issues/show/3398