[Message Prev][Message Next][Thread Prev][Thread Next][Message Index][Thread Index]

[MD:1182]Meadow-1.04a1 freeze with elisp code?



後藤です

#こーゆーのも Meadow.plan形式であるべきかな?
#ということでそれっぽいヘッダをつけてみるる。

------------------------------------------------------------
Submitter: Shun-ichi Goto <gotoh@xxxxxxxxxxx>
Subject: Meadow-1.04a1 freeze with elisp code?
X-ML-Count: ???
Transaction: Bug report
Status: ???
------------------------------------------------------------

Meadow-1.04a1を使用していて特異な現象に遭遇しました。

[環境]

Meadow 1.04a1 + WinNT4.0 + SP3 + IE3.1 + 128MB memory

[再現手順]

Mew にて summaryモードから "f"キーにてメールをフォワード

[再現率]

後藤の環境だと今のところ 100%
バイナリ配布の MeadowNT.exeでも、ソースからVC4.2でbuildした
emacs.exeでも同様に再現する。


[現象]

上記キー操作により、draftバッファが作成されるが、draft作成時に自動的に
作成されるヘッダ達が表示されない。そしてその状態のまま、キー入力が
効かなくなる。

あたかもelispコードを無限ループで実行し続けているような状況。
その状況で、C-g を行なっても制御が帰ってこない。

しかし、C-g を行なうとタイトルバーは通常通りFlush(visible-bell)するし、
ほかのアプリケーションでMeadowを隠したりしても画面再描画は行なわれる。つ
まり、Windowsイベントは拾っているようだ。

試しに該当処理を行なう mew-summary-forward をedebugして追ってみるが、
通常通りに処理が行なわれ、関数から脱出したところで、やはり症状発生。


[デバッグ]

その状態でwindbgをattachして追ってみる。
イベント待ちのスレッドはきちんとループしているのは確認できたが、
使い方になれてないせいもあり、もう一方のスレッドを停止できない(^^;

#ソースレベルデバッグはできてます
#windbgの runメニューからset threadで選択してから停止ボタン押しても
#目的のスレッドはうまく停止できない。
#SelectSingleObject()とかのWinAPIに入りっぱなし状態ということ?

さて、どーやって調べていけばいーでしょーかねぇ。
再現性はあるので方法さえわかればあれこれやりますが、
ブレークをしかけるにしてもどこが適当かわかっちょらんので。。。
ヒントください (;o;)



P.S.
...と上記文章を書いている間にも似た症状が発生。

しかし今回はちょっと違って、マウスをクリックしたりC-gを何度か行なってや
ると、しばらくは無反応だが、あるときからタイトルバーが
Flush(visible-bell)するようになる。どうやらその状態になると復帰している
らしく、カーソル移動などに反応するし、C-lで再描画もできる。
しかしまたほんのちょっとすると同じ状態に陥る。
これを何度か繰り返したけど、症状発生の法則性は見つからず。。。
これによりなんとか書きかけのメールをセーブしたのち、
別途Meadowを立ち上げ、このメールを出してます。

--- Regards,
 Shun-ichi Goto  <gotoh@xxxxxxxxxxx>
   R&D Group, TAIYO Corp., Tokyo, JAPAN