[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[FDclone-users:00619] Re: 仕切り直します。
- Subject: [FDclone-users:00619] Re: 仕切り直します。
- From: Takashi SHIRAI <shirai@unixusers.net>
- Date: Mon, 09 Oct 2006 06:42:10 +0900
しらいです。
In Message-Id <20061007154245.556282.d14cb3f8@isis.ocn.ne.jp>
yuji tamura <yuji@isis.ocn.ne.jp>さんwrites:
> こんにちは田村です。
> これは、状況は変わらないようです、
> 「/Users/yuji/Documents/」において
> 「2 auc/」と言うディレクトリ名が消える事を確認しました/
> これでいいでしょうか?
> この状態ですと、やはりファイル名が消える現象は起こります。
> これもやはり、「/Users/yuji/Documents/」において
> 「12 test2/」と言うディレクトリ名が消える事を確認しました。
結局何の解決にもなりませんでしたね。今のところ症状が直った
のは GNU malloc との置換えくらいですか。では、もう少しメモリ
割当て周りを調べることにしましょう。他に手も無いし。
[FDclone-users:00610] で libc.c: strdup2() の検証を行なっ
て貰いましたが、同じことを malloc2() と realloc2() でも行な
ってみましょう。
strdup2() の直前に malloc2() と realloc2() の実体がありま
す。その中に malloc() が二箇所と realloc() が一箇所あります。
その引数の「size」を「size * 16」くらいに増やしてみましょう。
strdup2() の下には strndup2() があってこの中にも malloc()
があるので、この引数も「i * 16 + 1」くらいに増やします。つい
でに strdup2() の引数も「n * 16 + 1」にしましょう。
[FDclone-users:00610] と比べると、変更箇所を増やしただけで
なく、増加率を上げています。このくらい増やしておけば、buffer
overflow による不正メモリアクセスの可能性は減るでしょう。
あと、並行してやって貰っている再現環境の準備ですが、もう余
り最適化に拘らず沢山ファイルの詰まった形でいいので tar ball
をこしらえて下さい。
/User2/yuji/Documents/ までは directory 内に他のファイルを
置かないようにして下さい。Documents 直下には幾つ置いても構い
ません。
Document 直下のファイル群ですが、directory については中身
を空にして下さい。regular file については editor 等で編集し
てサイズを 0 にして下さい。
この状態で /User2 の tar ball を作成すると、それほど巨大な
サイズにならずにすむと思うので、それを送って下さい。勿論、固
める前に再現性は確認して下さいね。
多分 bug の発生条件は OS ではなくて directory 構成だと思う
んです。Mac OS X と近い malloc library を使っている FreeBSD
だと、directory 構成を合わせれば再現しそうな気がします。
それで再現しないようなら、もう打つ手も尽きてきたので、以前
言ってた remote login で何とかしてみましょうか。SSH 公開鍵で
も送れば準備可能ですか?
再現性が悪くて遅々として進みませんが、もう少しおつき合い下
さい。
しらい たかし