ls の出力を眺めていたら何気に core があった。 for の出力が空になってたのはこのせいか?
#0 yarv_bug () at /home/aamine/c/yarv/vm_dump.c:492
492 for(i=0; i<RARRAY(bt)->len; i++){
(gdb) bt
#0 yarv_bug () at /home/aamine/c/yarv/vm_dump.c:492
#1 0x000000000048d6a4 in rb_bug (fmt=0x4bc595 "Segmentation fault")
at /home/aamine/c/yarv/error.c:165
#2 0x00000000004623e4 in sigsegv (sig=11) at /home/aamine/c/yarv/signal.c:503
#3 <signal handler called>
#4 rb_funcall (recv=18446744071929847312, mid=3185, n=0) at ruby.h:667
#5 0x0000000000432396 in rb_inspect (obj=18446744071929847312)
at /home/aamine/c/yarv/object.c:301
#6 0x0000000000427079 in rb_p (obj=18446744071929847312)
at /home/aamine/c/yarv/io.c:3726
#7 0x0000000000427121 in rb_f_p (argc=1, argv=0x2a95ee2030)
at /home/aamine/c/yarv/io.c:3753
#8 0x000000000047b8c6 in call_cfunc (func=0x4270b0 <rb_f_p>,
recv=182904026184, len=0, argc=-1779704304, argv=0x0) at call_cfunc.h:24
#9 0x00000000004799b5 in th_eval (th=0x66ba60, initial=0) at vm.inc:2022
#10 0x000000000047b559 in th_eval_body (th=0x66ba60)
at /home/aamine/c/yarv/vm.c:1208
#11 0x00000000004145da in ruby_exec_internal ()
at /home/aamine/c/yarv/eval.c:267
#12 0x0000000000414603 in ruby_exec () at /home/aamine/c/yarv/eval.c:279
#13 0x000000000041463d in ruby_run () at /home/aamine/c/yarv/eval.c:296
#14 0x00000000004116a9 in main (argc=2, argv=0x7fbffff528, envp=0x0)
at /home/aamine/c/yarv/main.c:36
~/obj/yarv % ./miniruby --version
ruby 1.9.0 (2005-11-18) [x86_64-linux]
YARVCore 0.3.2 (rev: 303) [opts: ]
~/obj/yarv % uname -a
Linux serenade 2.6.8-11-amd64-k8 #1 Wed Jun 1 01:03:08 CEST 2005 x86_64 GNU/Linux
~/obj/yarv % gcc -dumpversion
3.3.5
(01:52)
とりあえず型関係の warning くらいは潰しとくかなーと思ってプロトタイプを付けたら
ruby -I/home/aamine/c/yarv /home/aamine/c/yarv/yarvtest/runner.rb yarv=./miniruby ruby=ruby
"/home/aamine/c/yarv/yarvtest/test_massign.rb"
"/home/aamine/c/yarv/yarvtest/test_jump.rb"
"/home/aamine/c/yarv/yarvtest/test_exception.rb"
"/home/aamine/c/yarv/yarvtest/test_test.rb"
"/home/aamine/c/yarv/yarvtest/test_flow.rb"
"/home/aamine/c/yarv/yarvtest/test_bin.rb"
"/home/aamine/c/yarv/yarvtest/test_block.rb"
"/home/aamine/c/yarv/yarvtest/test_syntax.rb"
"/home/aamine/c/yarv/yarvtest/test_yield.rb"
"/home/aamine/c/yarv/yarvtest/test_method.rb"
"/home/aamine/c/yarv/yarvtest/test_class.rb"
"/home/aamine/c/yarv/yarvtest/test_proc.rb"
Loaded suite /home/aamine/c/yarv/yarvtest/runner
Started
.............................BUG: should not reach here: compile_each#NODE_ARGS
[BUG] Segmentation fault
ruby 1.9.0 (2005-11-18) [x86_64-linux]
FBUG: should not reach here: compile_each#NODE_ARGS
[BUG] Segmentation fault
ruby 1.9.0 (2005-11-18) [x86_64-linux]
F....F...BUG: should not reach here: compile_each#NODE_ARGS
[BUG] Segmentation fault
ruby 1.9.0 (2005-11-18) [x86_64-linux]
F....BUG: should not reach here: compile_each#NODE_ARGS
[BUG] Segmentation fault
ruby 1.9.0 (2005-11-18) [x86_64-linux]
F..........BUG: should not reach here: compile_each#NODE_ARGS
[BUG] Segmentation fault
ruby 1.9.0 (2005-11-18) [x86_64-linux]
F.....BUG: should not reach here: compile_each#NODE_ARGS
[BUG] Segmentation fault
ruby 1.9.0 (2005-11-18) [x86_64-linux]
FBUG: should not reach here: compile_each#NODE_ARGS
[BUG] Segmentation fault
ruby 1.9.0 (2005-11-18) [x86_64-linux]
FBUG: should not reach here: compile_each#NODE_ARGS
[BUG] Segmentation fault
ruby 1.9.0 (2005-11-18) [x86_64-linux]
F.BUG: should not reach here: compile_each#NODE_ARGS
[BUG] Segmentation fault
ruby 1.9.0 (2005-11-18) [x86_64-linux]
FBUG: should not reach here: compile_each#NODE_ARGS
[BUG] Segmentation fault
ruby 1.9.0 (2005-11-18) [x86_64-linux]
FBUG: should not reach here: compile_each#NODE_ARGS
[BUG] Segmentation fault
ruby 1.9.0 (2005-11-18) [x86_64-linux]
FBUG: should not reach here: compile_each#NODE_ARGS
[BUG] Segmentation fault
ruby 1.9.0 (2005-11-18) [x86_64-linux]
F..BUG: should not reach here: compile_each#NODE_ARGS
[BUG] Segmentation fault
ruby 1.9.0 (2005-11-18) [x86_64-linux]
FBUG: should not reach here: compile_each#NODE_ARGS
[BUG] Segmentation fault
ruby 1.9.0 (2005-11-18) [x86_64-linux]
FBUG: should not reach here: compile_each#NODE_ARGS
[BUG] Segmentation fault
ruby 1.9.0 (2005-11-18) [x86_64-linux]
F.....BUG: should not reach here: compile_each#NODE_ARGS
[BUG] Segmentation fault
ruby 1.9.0 (2005-11-18) [x86_64-linux]
FBUG: should not reach here: compile_each#NODE_ARGS
[BUG] Segmentation fault
ruby 1.9.0 (2005-11-18) [x86_64-linux]
F........................................BUG: should not reach here: compile_each#NODE_ARGS
[BUG] Segmentation fault
ruby 1.9.0 (2005-11-18) [x86_64-linux]
F.BUG: should not reach here: compile_each#NODE_ARGS
[BUG] Segmentation fault
ruby 1.9.0 (2005-11-18) [x86_64-linux]
F......BUG: should not reach here: compile_each#NODE_ARGS
[BUG] Segmentation fault
ruby 1.9.0 (2005-11-18) [x86_64-linux]
F......BUG: should not reach here: compile_each#NODE_ARGS
[BUG] Segmentation fault
ruby 1.9.0 (2005-11-18) [x86_64-linux]
F..BUG: should not reach here: compile_each#NODE_ARGS
[BUG] Segmentation fault
ruby 1.9.0 (2005-11-18) [x86_64-linux]
F...........BUG: should not reach here: compile_each#NODE_ARGS
[BUG] Segmentation fault
ruby 1.9.0 (2005-11-18) [x86_64-linux]
F.BUG: should not reach here: compile_each#NODE_ARGS
[BUG] Segmentation fault
ruby 1.9.0 (2005-11-18) [x86_64-linux]
F(eval):8: warning: multiple values for a block parameter (0 for 1)
from (eval):4
(eval):14: warning: multiple values for a block parameter (2 for 1)
from (eval):4
(eval):17: warning: multiple values for a block parameter (3 for 1)
from (eval):4
....
Finished in 6.383639 seconds.
1) Failure:
test_for(TestBlock)
中略
159 tests, 382 assertions, 25 failures, 0 errors
make: *** [yarv-test-all] Error 1
激しく悪化。何が起きているのかどきどきです。
(02:46)