[ruby-trunk - Bug #953][Closed] 深い入れ子の配列の取り扱いで落ちる

Issue #953 has been updated by ktsj (Kazuki Tsujimoto).

Status changed from Assigned to Closed

r38409にて問題が修正されたことを確認できたのでクローズしておきます。(Ubuntu 11.10/12.06 x64)

成瀬さんの環境で直っていないようであれば、再オープンしていただけますか。

Bug #953: 深い入れ子の配列の取り扱いで落ちる

Author: tadf (tadayoshi funaba)
Status: Closed
Priority: Normal
Assignee: ko1 (Koichi Sasada)
Category:
Target version: 2.0.0
ruby -v: ruby 1.9.1 (2008-12-30 patchlevel-5000 trunk 21202)
[i686-linux]

=begin
以下のスクリプトを実行すると Segmentation fault で落ちました。

$ cat ./nest.rb
a = [0]
10000.times do
a = [a]
end
p a

$ ./ruby -v ./nest.rb
ruby 1.9.1 (2008-12-30 patchlevel-5000 trunk 21202) [i686-linux]
Segmentation fault

(gdb) bt
#0 0x08111407 in vm_get_ruby_level_next_cfp (th=0x81ae758,
cfp=0xb7c734a8)
at vm.c:131
#1 0x0811159b in rb_sourceline () at vm.c:757
#2 0x0814ead7 in rb_bug (fmt=0x81737d3 “Segmentation fault”) at
error.c:230
#3 0x080d49e6 in sigsegv (sig=11, info=0x82152fc, ctx=0x821537c)
at signal.c:600
#4
#5 frame_func_id (cfp=0xb7c734a8) at eval.c:730
#6 0x0812696a in rb_exec_recursive (func=0x812d040 <inspect_ary>,
obj=135994660, arg=0) at thread.c:3237
#7 0x0812d01a in rb_ary_inspect (ary=4) at array.c:1574
#8 0x0811d854 in vm_call0 (th=0x81ae758, klass=136124880,
recv=135994660,
id=760, oid=760, argc=0, argv=0x0, body=0x81d1818, nosuper=0)
at vm_eval.c:70
#9 0x0811ddb2 in rb_funcall (recv=, mid=760, n=0)
at vm_eval.c:248
#10 0x080840aa in rb_inspect (obj=135994660) at object.c:312
#11 0x0812d0f3 in inspect_ary (ary=135994500, dummy=0, recur=0) at
array.c:1550
#12 0x08126b5f in rb_exec_recursive (func=0x812d040 <inspect_ary>,
obj=135994500, arg=0) at thread.c:3273
#13 0x0812d01a in rb_ary_inspect (ary=4) at array.c:1574
#14 0x0811d854 in vm_call0 (th=0x81ae758, klass=136124880,
recv=135994500,
id=760, oid=760, argc=0, argv=0x0, body=0x81d1818, nosuper=0)
—Type to continue, or q to quit—
=end