[#46732] ヒアドキュメント内の変数展開が正常に行われない — ShingoKintaka <kamuycikap@...>

Ruby  :1.8.7 (Ubuntu9.10)

12 messages 2010/01/05
[#46733] Re: ヒアドキュメント内の変数展開が正常に行われない — rubikitch@... 2010/01/06

From: ShingoKintaka <kamuycikap@tulip.ocn.ne.jp>

[#46800] DLモジュールの使い方 — kouichi_someya@...

染谷と申します。

12 messages 2010/01/20
[#47678] プログラム実行時に「[BUG] Segmentation fault」 — 染谷 康一 <kouichi_someya@...> 2010/12/09

染谷と申します。

[ruby-list:46812] Re: TkTable.rbで"[BUG] Segmentaion fauilt"発生

From: Hidetoshi NAGAI <nagai@...>
Date: 2010-01-25 07:41:48 UTC
List: ruby-list #46812
永井@知能.九工大です.

From: 門脇 修司 <kadowaki.shuji@jp.fujitsu.com>
Subject: [ruby-list:46810] Re: TkTable.rbで"[BUG] Segmentaion fauilt"発生
Date: Mon, 25 Jan 2010 13:47:31 +0900
Message-ID: <20100125134722.A3B1.DA7C2934@jp.fujitsu.com>
> tktable.rbの変更をやり直しましたところ、動くようになりました。
> (GC.disable/enableを追加することでsegmentation faultが発生しなく
>  なった)

良かったです.

> このtktable.rbの変更を当面の回避策として使い続けて良いでしょうか?

メモリ消費が少し大きくなるかもしれませんが,
当面はそれでかまわないと思います.

問題となっている _setup_subst_table() は,
イベントのコールバック処理などにおける Tcl/Tk の % 置換を
どのようにして Ruby のオブジェクトに変換するかを定義したテーブルを
作成するためのものです.
% 置換は entry widget の内容の validation などでも用いられますから,
_setup_subst_table() はいくつものクラスで使用されています.

そのため,tktable.rb 以外でも同じように SEGV する可能性がありますが,
それらについても応急処置として GC.disable/GC.enable で囲んでください.

もちろん,今後 _setup_subst_table() のバグは修正しますが,
修正は SVN 上の trunk と ruby_1_8 に対して行なわれます.
ruby 1.8.7 等へのバックポート (パッチリリースでの fix) がどうなるかは
それらの branch の管理者次第となりますことを御了承ください.
-- 
永井 秀利  (nagai@ai.kyutech.ac.jp)
九州工業大学 大学院情報工学研究院 知能情報工学研究系 知能情報メディア部門

In This Thread