From: WATANABE Tetsuya Date: 1998-06-22T13:24:14+09:00 Subject: [ruby-dev:2958] Re: experimental release 1.1b9_27 ruby-1.1b9_27 での話です。システムに依存している可能性もある のですが次のような現象が起きています。とりあえずお知らせまで。 HP-UX 10.20 HP C/GCC-2.7.2.1 ともに make test でエラー。 Linux では起きません。 ------------------------------ $ make test /t3/ruby/ruby-1.1b9_27/sample/test.rb:664: [BUG] Bus Error test failed ------------------------------ HP-UX 上で GCC-2.7.2.1 で -g オプションを加えているとコンパ イルエラー(-O のみではエラーになりません)。これは GCC の問題 だとは思うのですが。GCC を突っつくコーディングに? ------------------------------ gcc -g -O2 -I. -I/gnu/include -c eval.c gcc: Internal compiler error: program cc1 got fatal signal 6 make: *** [eval.o] Error 1 ------------------------------ Linux-2.0.33 libc.so.5.4.38 gcc-2.7.2.3.f.1 でスクリプト実行 中にエラー(HP-UX では make test でエラーがでる処理系(ruby)で、 この現象は起きません) ------------------------------ $ time ruby ret.rb -n /vmlinuz >/dev/null ret.rb:80: [BUG] Segmentation fault ------------------------------ この現象は、小さな再現スクリプトが書けないのと、入力データに より変化することや、スクリプトのコメント追加などちょっとした コーディングの変化で現象が起きなくなります。 ruby-1.1b9_25 では、これらの現象は起きないようです(26 は未確 認)。 現象がうまく特定できないのですが、Linux は 2 台のシステムで 試して起きていることから、ハードなどの問題ではないようです。 ■ ruby-1.1b9_27 hd.rb ● Linux-2.0.33 libc.so.5.4.38 gcc-2.7.2.3.f.1 $ time ruby ret.rb -n /vmlinuz >/dev/null ret.rb:80: [BUG] Segmentation fault zsh: 1029 abort (core dumped) ruby ret.rb -n /vmlinuz > /dev/null ruby ret.rb -n /vmlinuz > /dev/null 3.57s user 0.08s system 98% cpu 3.711 total $ gdb =ruby core Core was generated by `ruby ret.rb -n /vmlinuz'. Program terminated with signal 6, IOT trap/Abort. (gdb) backtrace #0 0x400b8c29 in __kill () #1 0x4008a5d9 in raise (sig=134897080) #2 0x808709d in sigsegv (sig=11) at signal.c:332 #3 0xbfffe690 in ?? () #4 0x400f3830 in av_ () #5 0x80cc198 in ?? () #6 0x41 in ?? () Cannot access memory at address 0xb3269d7e. ■ ruby-1.1b9_27 make test ● HP-UX 10.20 gcc-2.7.2.1 gcc -g -O2 -I. -I/gnu/include -c eval.c gcc: Internal compiler error: program cc1 got fatal signal 6 make: *** [eval.o] Error 1 zsh: 20483 exit 2 make $ make test /t3/ruby/ruby-1.1b9_27/sample/test.rb:664: [BUG] Bus Error test failed $ gdb ruby core Core was generated by `ruby'. Program terminated with signal 6, Aborted. (gdb) backtrace #0 0xc0133598 in kill () #1 0xc00a49e4 in _raise () #2 0xc0085f10 in abort () #3 0x20f8c in Bug () #4 0x67b7c in sigbus () #5 #6 0xc194c110 in select () #7 0x2fc40 in thread_wait_for () #8 0x5a0e8 in f_sleep () #9 0x2a598 in rb_call0 () #10 0x2b04c in rb_call () #11 0x270dc in rb_eval () #12 0x270dc in rb_eval () #13 0x25ff4 in rb_eval () #14 0x246f8 in eval_node () #15 0x247b8 in ruby_run () #16 0x1d3bc in main () ● HP-UX 10.20 HP C $ make test /t3/ruby/ruby-1.1b9_27/sample/test.rb:664: [BUG] Bus Error test failed make test 1.84s user 0.22s system 48% cpu 4.285 total camel$ gdb ruby core Core was generated by `ruby'. Program terminated with signal 6, Aborted. (gdb) backtrace #0 0xc0133598 in kill () #1 0xc00a49e4 in _raise () #2 0xc0085f10 in abort () #3 0x14fcc in Bug () #4 0x5b34c in sigbus () #5 #6 0xc194c110 in select () #7 0x22760 in thread_wait_for () #8 0x4b8dc in f_sleep () #9 0x1d218 in $000002B9 () #10 0x1da24 in rb_call () #11 0x1a3e8 in $0000010A () Cannot access memory at address 0x0. -- WATANABE Tetsuya HP Japan e-mail tetsu@jpn.hp.com