From: Araki K. <ara...@us...> - 2002-04-06 16:56:07
|
荒木です:-) Subject: [Mlterm-dev-ja] use_transbg=true で mlclientが落ちる From: Hiroyuki Ikezoe <zo...@ka...> Message-ID: <200...@ka...> Date: Sat, 30 Mar 2002 11:35:34 +0900 > ~/.mlterm/mainにuse_transbg=trueと書き、 > mlterm -j genuineしたあと、 > すぐ、開いたmltermを終了(mlterm -j genuineは生きてる)。 > その後、mlclientを実行するとmlclientが死にます(mlterm -j genuineが死んでる)。 4/7 付けの CVS 版と、twm 4.1.0 or blackbox 0.61.1 の組み合わせで試したところ では、このような問題を再現することはできませんでした。 一方、icewm-1.0.9 との組み合わせでは、問題が発生しました。 ただ、この場合の原因はすでに明らかでして、これは、icewm で背景透過する場合に、 Imlibを使用するためです。 Imlib は、Imlib_init() した ImlibData の後始末をする API を持っておりませんの で、Imlib 内部で static に持っている(キャッシュしている) Display * 変数に、 すでに接続が切れている Display への参照が残ってしまう可能性があります。 この問題は、BUGS ファイルにも記載しておりますが、mlterm 側での対処は不可能で す。 背景透過の際に、Imlib を使用するのは以下の場合です。 1. _XROOTPMAP_ID アトムによる背景 Pixmap 取得をサポートしている Window Manager を使用している場合 ... icewm , kwin など 2. 輝度調節している場合 ただ、 > Kondara Asumiで発生してます。 > 一応、window managerはBlackBox、AfterStep、golemのいづれでも発生したので > window managerは関係ないと思いますが。。。。 blackbox など、輝度調節を使用していないにもかかわらず、_XROOTPMAP_ID をサポー トしていない Window Manager でもこの問題が発生するとなりますと、Imlib の問題 とは違う原因で core dump しているのかもしれません。 が、今のところ、Imlib 以外に原因となりうる個所は、思いあたっておりません _o_ > configureのオプションに--enable-debugをつけると > mlterm -j genuineで起動したmltermを終了させるときに > 0x80b4a20 is freed at ml_picture_display_closed[l.587 in ml_picture.c] but not logged. > なメッセージが出てますが、関係ありますでしょうか? これは、Imlib 内部で malloc() したデータ構造を、kik_mem_free() しようとしている ために発生するもので、正常な動作です。 では -- kiken j00...@ip... |