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

[FDclone-users:00604] Re: 仕切り直します。



 しらいです。

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 を戻し忘れていたということなら関係ありま
せん。

                                               しらい たかし