[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[FDclone-users:00604] Re: 仕切り直します。
- Subject: [FDclone-users:00604] Re: 仕切り直します。
- From: Takashi SHIRAI <shirai@unixusers.net>
- Date: Tue, 03 Oct 2006 21:45:19 +0900
しらいです。
In Message-Id <20061003173423.972909.1ccd90af@isis.ocn.ne.jp>
yuji tamura <yuji@isis.ocn.ne.jp>さんwrites:
> こんばんは、田村です。
> > この前後に出鱈目な内容の行を追加してみて下さい。「abcdef」
> > とか「foobar」とか何でも構いません。これで make してその行が
> > error 扱いになりますか?
>
> これは、確かにエラーになって、make 出来ません。
ここまでは予想通りです、
> > readfilelist() の冒頭に「char buf[MAXNAMLEN + 1];」という
> > 記述があります。このサイズを増やしてみましょうか。配列の添字
> > は「MAXNAMLEN * 2 + 1」くらいでどうでしょうか。
>
> /Users/yuji/Documents/
> において
> 「11 98/」と言うディレクトリ名が消える事を確認しました。
となると malloc(3) の bug としか考えられませんね。もしくは
MAXNAMLEN の値が異様に小さいか。添字を「1024」くらいにしてみ
ても変わりませんか?
それでも駄目なら GNU malloc 辺りに置換えて検証してみましょ
うか。
まずは以下の URL から GNU malloc の tar ball を入手して展
開します。そのまま make 一発で libmalloc.a が出来上がる筈で
す。
http://ftp.gnu.org/pub/gnu/malloc.tar.gz
出来上がった libmalloc を FDclone を展開した directory に
copy します。後は ./fd を削除してから以下の command を実行す
るだけです。
make ALLOC='-L. -lmalloc' -f Makefile.tmp
これで GNU malloc と link された FDclone が出来上がります。
もしこれで症状が改善するようなら、これはもう Mac OS X 側の問
題ですね。
因みに Mac OS X 及び libSystem の version は何でしたっけ?
> 別ディレクトリを用意し、そこにアーカイブを展開し直して
> 確認した所、起動できず、「Wait a minute.」の表示を残したまま
> 異常終了しました。
異常かどうかは主観の問題ですね。今回は意図的に終了させてい
るので異常でも何でもありません。
それはともかく、終了するということはこの部分に制御が移って
来ているということで、Xopendir() は正常に動いているようです。
ならば何が問題なんでしょうね?
> > この確認のために、上で追加した「exit(0);」の直前に以下の行
> > を追加して printf debug をしましょう。これで表示される二つの
> > 値が大きくかけ離れていた場合は dest の値がおかしいですね。
> > printf("%p,%p\r\n", &buf, dest);
>
> これですが、すみませんよくわからないのですが、この状態で make
> するのでしょうか?
make 後に実行してみて下さい。画面に二つの pointer 値が表示
されていると思います。16 進数表記かも知れません。この二つの
値が近いかどうかが問題になっています。
> この状態でも起動せず「Wait a minute.」と表示を残したまま
> 異常終了するようです。
こっちは「config.h は元に戻したのに終了しない」場合のテス
トなので、config.h を戻し忘れていたということなら関係ありま
せん。
しらい たかし