永井@知能.九工大です.

From: Hidetoshi NAGAI <nagai / ai.kyutech.ac.jp>
Subject: [ruby-dev:25982] Re: tnono dumps core
Date: Mon, 4 Apr 2005 09:36:53 +0900
Message-ID: <20050404.093634.74752646.nagai / ai.kyutech.ac.jp>
> > 今日明日にはちょっとできないと思いますが、8.3.5に戻して試してみ
> > ます。
> 
> すみません.お手数をかけます.
> こちらもこの数日では難しいと思いますが,時間ができれば試してみます.

Tcl/Tk 8.3.5 で試してみたのですが,手元では再現できませんでした.
なかださんのところで Tcl/Tk 8.3.5 に戻してみた時には
同じエラーが再び発生するでしょうか?

また,終了時 SEGV の問題が Tcl/Tk 8.3.5 で再び出ていたので (T_T),
とりあえずの patch をあてておきました.
今のところ,原因を明確にはできていません.
TclTkIp.new で Tk のインタープリタを生成して exit するだけでも
SEGV を出します.
tcltklib の中でコマンドを登録したり置き換えたりしているものを
すべて外しても状況は変化なしですので,従来の SEGV の原因と
なっていた問題とは異なるようでした.
finalize 時の Tk インタープリタ上での eval で,catch コマンドで
エラーを捕捉してやると SEGV を起こさなくなるので,
それで誤魔化しています.
eval の内容は,通常ならエラーを生じるはずのないものなのですが,
終了途中の Tk インタープリタであるが故に異常なエラーを生じ,
それを処理しようとして SEGV を生じているのかもしれません.

他の環境でもこれでとりあえずは回避できているようなら,
1.8.3 はこのままで行きたいと思います.
回避できていなければ,やむをえないので after script の
キャンセルを行っている部分を呼ばないようにすることにします.
もしテストできる方がいらっしゃいましたら,
結果をお教えいただけますと幸いです.
-- 
                                       永井 秀利 (九工大 知能情報)
                                           nagai / ai.kyutech.ac.jp