Namazu-devel-ja(旧)


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

bzip2 exits with 141



>                                            千葉市中央区長洲
>                                                    藤原  誠
藤原> 今頃言うのも何ですが、
藤原> http://www.namazu.org/ml/namazu-devel-ja/msg02088.html
藤原> これって多分未解決ですね。

藤原> もし bzip2 が何かの問題で、異常終了してしまった場合、
藤原> mknmz ごと終了してしまって、mknmz を最初からやり直しになってしまう

と書いたのですが、少なくとも Segmentation Fault したくらいでは
Abort trap - core dumped
1/10 - bziptest/ml/3940.bz2 はサイズが 0 なので無視します

のように問題なく飛ばしてくれるのでした。
------ filter/bzip2.pl ------
sub filter ($$$$$) {
        my $fh = util::efopen("|$bzip2path -d > $tmpfile");
------- pl/util.pl -----------
sub efopen ($) {
    my ($fname) = @_;

    my $fh = fopen($fname) || cdie("$fname: $!\n");

sub fopen ($) {
    my ($fname) = @_;
    my $fh = new IO::File;

    if ($fh->open($fname)) {
        binmode($fh);
なので、
pipe とか Perl とかにも依るとは思うのですが、
当事者に、こわれた bzip を送って下さいと言ったら、
「消してしまった」と言われたこともあって
「再現せず、却下」
としたいと思っています。それとも再現出来る方はいらっしゃるでしょうか。
僕は 
---------------------
#!/usr/pkg/bin/perl
dump();
---------------------
とか
------- c/coredump.c ------
main( ) {
char *a = "test";
        printf("test%s\n",*a);}
----------------------------
などのものを使って試して見ました。

# それとも $tmpfile は出来て、それを mknmz が読んだ時に落ちるという
# 話なのかな。filter/bzip2.pl には次のようにあるし。
sub recursive() {
    return 1;
}

---
(藤原)