白倉です、どうも

> 今回のエラーはわりと単純なものでしたが、reallocエラーはもっ
> と根の深い問題です。なにかわかったらぜひ情報をください。

とりあえず中間報告です。

そこにころがってた linux でも出ます、、、
#うちだけなのだろうか?

コンパイラは
gcc version 2.96 20000731 (Red Hat Linux 7.0)
(solaris2.6 のときは gcc version 2.95.2 19991024 (release))

現象ですが、 cgi.rb の831行目付近の
   eval <<-END
    def body.original_filename
     #{
      filename = ($1 or "").dup
       ・
       ・

のように、#{ } の中に代入文があると落ちます。
単純にmodule - eval - def - #{} のようにしても再現しません
いまのところ現象が出るのはcgi.rb の中のみです。
代入文が無い様に変更することで回避できることは確認しました。


バックトレース

#0  0x4009b461 in __kill () from /lib/libc.so.6
#1  0x4009b1dd in raise (sig=6) at ../sysdeps/posix/raise.c:27
#2  0x4009c864 in abort () at ../sysdeps/generic/abort.c:88
#3  0x80ad57f in rb_bug () at error.c:163
#4  <signal handler called>
#5  0x400e8421 in __libc_realloc (oldmem=0xbfffb420, bytes=60) at
malloc.c:3259
#6  0x8063fa1 in ruby_xrealloc (ptr=0xbfffb420, size=60) at gc.c:117
#7  0x8084c86 in top_local_setup () at parse.y:4623
#8  0x8078975 in rb_yyparse () at parse.y:272
#9  0x807b265 in yycompile (f=0x80fc880 "/usr/local/lib/ruby/1.6/cgi.rb",
    line=829) at parse.y:1922

#続きは、家に帰ってから intel solaris8 でやります。

白倉 masa / masternet.or.jp