Namazu-users-ja(旧)


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: mknmz で .gz ファイルを処理中にコアダンプ



寺西です。

teranisi@xxxxxxxxx wrote:
> 
> knok@xxxxxxxxxxxxx wrote:
> >
> > >> 1行ずつデバッグメッセージを表示するようにしたところ、
> > >> inflate() で落ちているようなのですが。
> >
> >   とりあえず単純に gdb perl core して、backtrace が見れれば多少はなに
> > か見えるかもしれません。
...
> malloc() で死んでいるってことでしょうか? perl がきちんと
> できていないということでしょうか?
> # 少なくとも2年ぐらい使っているのだが。

perl が悪そうでしたので、perl 5.005_03 に
バージョンをあげてみました。しかし、結果に変りありませんでした。

malloc.c の

Malloc_t
malloc(register size_t nbytes)
{
   :
   :
    /*
     * Record allocated size of block and
     * bound space with magic numbers.
     */
    p->ov_rmagic = RMAGIC;
    if (bucket <= MAX_SHORT_BUCKET) {
        int i;

        nbytes = size + M_OVERHEAD;
        p->ov_size = nbytes - 1;
        if ((i = nbytes & 3)) {  // <-- ここ
        i = 4 - i;
        while (i--)
            *((char *)((caddr_t)p + nbytes - RSLOP + i)) = RMAGIC_C;
        }
        nbytes = (nbytes + 3) &~ 3;
        *((u_int *)((caddr_t)p + nbytes - RSLOP)) = RMAGIC;
    }
   :
   :
}

で落ちているようです。perl の make test がすべてパスできている
わけではないので、それが問題なのかもしれませんが、
Compress::Zlib は使えないようです。

ただし、IRIX 6.5.7m + perl 5.004_04 の環境では check-zlib.pl
が動いていることを確認しましたので、perl のコンパイルオプションを
調べてみることにします。
--
寺西