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

[FDclone-users:00105] Re: AIX でのコンパイルエラーについて



 しらいです。

In Message-Id <03Feb13.093620jst.119046@inetgw.lightwell.co.jp>
        SHIOTA Shoichi <Shoichi.Shiota@lightwell.co.jp>さんwrites:
> 潮田です。

> >  gdb の最低限の使い方くらいは判っているけれども、trace で追
> > い切れる程には熟達していないというところでしょうか?ならもう
> > 暫く printf debug を続けてみましょうか。
> すいませんがそちらの方向でお願いします。

 幾つか宿題を挙げておいたので試してみて下さい。あと、NOJOB
だと落ちないという報告もありますので、NOJOB を局所的に有効に
して build してみるというのも一つの手でしょうか。

 幾つかの環境で試してみたのですが、関数単位で NOJOB を有効
にしてみると、即ちある関数の直前で #define NOJOB して直後で
#undef NOJOB するという意味ですが、この状況でも sleep くらい
は動く実行ファイルが得られるようです。
 job control が重要になってくるのは pipe や statement のよ
うに複数の process が同時に走っている時なので、single process
であれば job control の有無が同居していても特に支障はなさそ
うです。
 makechild() や waitjob() など、怪しそうな関数についてこれ
を試してみると、どこの記述をいじると症状が治まるか特定出来る
のではないでしょうか。


> また、環境の移行が早まりそうで、あと2・3週間で AIX 4.3.3 から
> 5L(5.1.0) へ移ることになりそうです。
> そちらでの環境になじんでからゆっくり printf で追わせてもらいたい
> と思います。

 理想的には、4.3.3 で対処を済ませておいて、5.1.0 移行後に同
じ対処を試して 5.1.0 でもその対処が有効なことを確認出来ると
良いのですけれども。
 現状では platform 依存の症状なので、ひょっとすると同じコー
ドなのに 4.3.3 で起きていた症状が 5.1.0 になると再現しなくな
る可能性もあります。
 そうなってしまうともう手の施しようが無くなってしまうので、
ところかまわず printf() を入れまくるのでも構いませんから、今
のうちに原因を究明しておくことが出来れば良いのですが。

 先の mail で端末を失った後のことを考えて log file に吐かせ
る方法を紹介しましたが、pipe も redirect も使わないような場
合だと、少なくとも stderr に吐く分には普通に出力されているよ
うなので、fprintf(stderr, "%d\n", __LINE__) をコピペで大量生
産してみては如何でしょう。
 状況から見るに fork() した直後に落ちているようですから、親
と子の printf 出力が入り乱れて訳が判らなくなってしまうような
phase は最後の一瞬だけだと思います。
 悪あがきになってしまうかも知れませんが、色々試してみて下さ
い。

# どこかに remote で操作可能な AIX は無いものか...。


P.S.
 2.02b は A300/B500 用に 80 桁持てない端末でも動作可能にし
てあります。あと、make 一発で .ipk まで作成出来るようにしま
した。とかいう Zaurus 向け対策以外は bug fix ばかりですね。
 2.03 では TMPUMASK 変数と browse コマンドを実装予定です。
browse はアーカイブブラウザの応用で、任意の出力から browser
対象の list を得るもので、例えば ftp の出力から得た一覧を利
用して download させるような script が書けます。
 roadmap 的には 2.02b を今月中、2.03 を来月中くらいに出した
いと思っているのですが、この支障が一体どう響くかが懸念事項で
すね。

                                               しらい たかし