From: WATANABE Hirofumi Date: 2000-10-17T18:56:40+09:00 Subject: [ruby-list:25492] Re: 1.6 と cgi.rb わたなべです. "Masao Shirakura" writes: :あと、require でも、存在しないファイルを指定すると : :[BUG] Segmentation fault :ruby 1.6.1 (2000-09-27) [sparc-solaris2.6] :Abort : :となります。 これは require じゃなくて -r ですか? Linux だと % ruby -rhoge -e0 (null):0: No such file to load -- hoge (LoadError) なので NULL pointer にアクセスしてます. solaris の *printf は %s でそういうチェックが入ってないんでしょう. とりあえず, eval.c にチェックは入れるとしても, どこかでファイル名を設定したほうがいい気がします. てゆうか, ruby.c の require_libraries() で 0 にしてるのはなぜ? -- わたなべひろふみ --- eval.c.orig Tue Oct 17 14:25:45 2000 +++ eval.c Tue Oct 17 17:30:34 2000 @@ -884,3 +884,6 @@ if (NIL_P(errat)) { - fprintf(stderr, "%s:%d", ruby_sourcefile, ruby_sourceline); + if (ruby_sourcefile) + fprintf(stderr, "%s:%d", ruby_sourcefile, ruby_sourceline); + else + fprintf(stderr, "%d", ruby_sourceline); }