Namazu-devel-ja(旧)


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

Re: 妙なNMZ.pができる問題



寺西です。

Yukio USUDA wrote:
> 
> 妙なNMZ.pができる問題ですが
> ふと思いついたのでperl5.8.1で試してみたところ
> FreeBSD4.8Rでも再現できました。
> 
> 細かい調査はしていないので原因はわかりませんが
> この現象はperl5.8.0ではおきませんでした。
> perl5.8.3でもおきていないようなので
> perl5.8.1固有のバグがあるのかもしれません。

ということなので、Perl 5.8.1 をインストールして調べてみました。

すると、idx1/NMZ.p すら Perl 5.8.0 で作ったものと中身が異なって
いました。
それで、Perl 5.8.1 の変更点を調べてみると、
http://fleur.hio.jp/~hio/perldoc/perl/5.8.1/perldelta.html#Hash_Randomisation
というのがあります。

 $ env PERL_HASH_SEED=0 make check

とすると All 47 tests passed になりました。

どうやら -DNO_HASH_SEED オプション付きでコンパイルされた Perl 5.8.1 
を使うか、環境変数 PERL_HASH_SEED を 0 にして使う必要がありそうです。

# ハッシュのランダム化で影響を受ける部分があったかなぁ!?

ところで、Perl 5.8.3 では、環境変数の設定も -DNO_HASH_SEED オプション
なしの状態でも All 47 tests passed になります。
perldelta をきちんと調べていないのですが、5.8.2, 5.8.3 のどこかで
元に戻ったのかもしれません。

# どなたか詳しい情報をもっている方、いらっしゃいますか?
-- 
=====================================================================
寺西 忠勝(TADAMASA TERANISHI)  yw3t-trns@xxxxxxxxxxxxxxx
http://www.asahi-net.or.jp/~yw3t-trns/index.htm
Key fingerprint =  474E 4D93 8E97 11F6 662D  8A42 17F5 52F4 10E7 D14E