保護違反で落ちるNo.44984
Imabeppu さん 13/09/19 17:15
 
Imabeppu です。

秀丸メール Ver.6.16 Beta 3 (32ビット) を使っています。

最近ときどき保護違反で落ちます。再現方法が分かりませんが、本体で
メールを見ているときではなく、メール作成中に落ちるような気がしま
す。2週間に1回くらいのペースで落ちています。

Ver.6.10 あたりから発生するようになったと思います。以前は発生し
ていませんでした。dump.txt はどちらに送付したらよいでしょか。

[ ]
RE:44984 保護違反で落ちるNo.44985
秀まるお2 さん 13/09/19 18:20
 
 秀丸メールでお手数かけてすみません。

 dump.txtの送り先は、"maruo@mitene.or.jp"でお願いします。

 メール作成中に落ちるということでしたら、ATOK2012 / 2013 との相性問題が
以前からありますが、それが関係してるとしたら、dump.txtにはログが出なくて、
イベントログを見ていただく必要があります。

 「コントロールパネル・管理ツール」の中からイベントビューアーを起動して、
「Windowsログ - アプリケーション」の中にTuruKame.exeの落ちた記録があって、
しかも例外コードが0xC0000374となっていたら、ATOKさんとの相性問題に違い無
いと思います。

 詳細:
    http://hide.maruo.co.jp/news/tk20120626.html

[ ]
RE:44985 保護違反で落ちるNo.44986
秀まるお2 さん 13/09/20 09:31
 
 dump.txt送っていただきありがとうございます。

 調べてみたら、とりあえずオートコンプリートか単語補完関係の処理で落ちて
しまってるようです。バグに違い無いと思います。

 まだ原因特定に至ってないのですが、なんとか調べて修正させていただきます。

[ ]
RE:44986 保護違反で落ちるNo.44989
秀まるお2 さん 13/09/20 14:47
 
 調べてみたのですが、すみませんが根本的な原因も再現方法もちょっと分かり
ませんでした。

 落ちてしまう仕組みとしては、

 1.オートコンプリート用のメモリを確保する。
 2.オートコンプリート用のウィンドウ(候補一覧のウィンドウ)を生成して
   表示する。
   と同時に、20秒後に自動で閉じる用のタイマーをセットする。
 3.オートコンプリート用のウィンドウを閉じる処理が働いて、自動で閉じる
   用のタイマーもストップさせる。
 4.オートコンプリート用のウィンドウおよび確保したメモリを解放する。

 という手順のうちの、たぶん「3」の所での「タイマ−をストップさせる」が
うまく働かないケースがあって、それで、後で(たぶん20秒くらい経って)タ
イマーが働きつつも、その時にオートコンプリート用に確保したメモリが存在せ
ず、落ちてしまってるようです。

 そういう「タイマーのストップもれ」が起きるケースをいろいろ考えたのです
が、それがちょっと分かりませんでした。なので、とりあえず、オートコンプ
リート用のメモリを解放する前に、たしかにタイマーを終了させる処理を追加し
た上で、もしもタイマーが働いたとしても、解放したはずのメモリには絶対アク
セスしないような安全対策を入れてみました。

 それで様子見していただくしか無いかなぁと思います。

 次のVersion 6.16β5にて対応させていただきますので、それをインストール
して様子見ということでお願いしたいです。

 V6.16β5がアップロード出来たらここの会議室に書き込みさせていただきます。

[ ]
RE:44989 保護違反で落ちるNo.44991
Imabeppu さん 13/09/20 18:29
 
Imabeppu です。

>  そういう「タイマーのストップもれ」が起きるケースをいろいろ考えたのです
> が、それがちょっと分かりませんでした。

とりあえず、Beta 5 を入れて様子を見ます。
こんな場合を考えてみましたが、違いますよね。

・タイマーの時間が来る前にオートコンプリートのウィンドウを閉じる
  とき、タイマーを止めていない場合がある。

・タイマーが2重に動く場合がある。1つ目にメモリを解放されてしまい、
  2つ目で失敗する。(通常は同じ ID を使うから、これはなさそうです
  ね)

・別の処理用のタイマーに反応して20秒経過せずに閉じてしまっていて、
  オートコンプリートのウィンドウを閉じるタイマーのタイミングでメ
  モリ解放済みになっている。

ところで、オートコンプリートのウィンドウは自動で閉じるのですね。
知りませんでした。試してみたところ、メールヘッダのところで表示す
るウィンドウは20秒ほどで閉じますが、メール本文で表示するウィンド
ウは閉じないみたいですね。これは意図した動作でしょうか。

[ ]
RE:44991 保護違反で落ちるNo.44992
秀まるお2 さん 13/09/20 18:57
 
 いろいろ考えていただきありがとうございます。

 タイマーが止まらないケースが無いか、あるいはタイマーが二重に動くケース
が無いか、さらには別のタイマーに反応するケース等、いろいろソースコードを
見直したりエラーチェック用の処理を入れてテストしたりもしたんですが、その
辺ちょっと無さそうな感じでした。

 一応、怪しいと思った所には安全対策の処理を入れたので、今回のβ版では少
なくとも前回と同じ落ち方はしないはずです。もし何か僕の分からない未知の
バグがあって、それがまったく想定外の物だとすると、たぶん別の所で落ちるこ
とはあるかもしれません。

> ところで、オートコンプリートのウィンドウは自動で閉じるのですね。
> 知りませんでした。試してみたところ、メールヘッダのところで表示す
> るウィンドウは20秒ほどで閉じますが、メール本文で表示するウィンド
> ウは閉じないみたいですね。これは意図した動作でしょうか。

 LDAPサーバーからも検索する設定だと自動では閉じないんですが、メール本文
上でのオートコンプリート(秀丸エディタの単語補完)については、必ず20秒
で閉じるはずだと思います。

 こちらでもその辺テストしたのですが、改めてテストしたら、一応僕の所では
20秒で閉じました。

 Imabeppuさんの所で20秒経過して閉じないとしたら、何か僕の想定外のこと
が起きていて、そもそもそれがバグの根本原因に関係するかもしれません。

 秀丸メールの設定でそうなる場合があるのだとしたら、設定ファイルを送って
いただく作戦か、またはImabeppuさんの所でオートコンプリート関係の設定をリ
セットしてどうなるか(ちゃんと20秒で消えるようになるかどうか)テストし
てただく作戦もありますが、その辺どうでしょうか。

 一応こちらでテストした限りでは、例えばメール本文に

  testa
  testb
  test

 と入力してちょっと待つと、tetaとtestbの候補がツールチップ表示されて、
20秒経過したら消えました。ツールチップをリストに設定変更しても一応20
秒後に消えました。

 他には特にこれといった設定は無いような気がするので、もしかした秀丸エデ
ィタの設定(動作環境)が関係するのかもしれませんけども…。僕の方でも何か
関係する設定が無いか探してみます。

 あと、メール本文上での単語補完の時にはメモリを確保/解放する関係の処理
は動かないので、それは今回の落ちるのとは関係無いかなぁとは思ったりします。

[ ]
RE:44992 保護違反で落ちるNo.44999
Imabeppu さん 13/09/24 00:24
 
Imabeppu です。

>   testa
>   testb
>   test
>
>  と入力してちょっと待つと、tetaとtestbの候補がツールチップ表示されて、
> 20秒経過したら消えました。

上記の操作で試したところ、こちらでも消えました。

文字キーを押下することで表示される場合と、キー操作でオートコンプ
リートが表示される場合で違いがあるようです。キー操作というのは、
私のところでは Ctrl+Space ですが、デフォルトかどうかは不明です。

3行目の test を入力していったんカーソルを動かし、再度 test 直後
にカーソルを持っていって Ctrl+Space を押下すると、同様にオートコ
ンプリートのウィンドウが表示されます。こちらは20秒で閉じないよう
です。

ヘッダ表示領域で同じように Ctrl+Space を使ってメールアドレスを補
完しようとしたときは、20秒で閉じるようです。

[ ]
RE:44999 保護違反で落ちるNo.45000
秀まるお2 さん 13/09/24 10:19
 
> 文字キーを押下することで表示される場合と、キー操作でオートコンプ
> リートが表示される場合で違いがあるようです。

 たしかに、キー操作で単語補完を呼び出した場合は、20秒後に自動で消す処
理はしてませんでした。

 一応それなら問題無いというか、想定通りの動作になります。

 今回落ちた件は、たぶんメール本文上での単語補完(およびTo:ヘッダ上での
メールアドレスのオートコンプリート)じゃなくて、検索ダイアログボックスや
絞り込み検索欄での単語補完だと思います。そこの単語補完が起動してから20
秒経過したタイミングで落ちた可能性が高いように思います。

 一応、根本原因は別にして対症療法的な形で落ちなくはなってるので大丈夫だ
と思うのと、たしかに直ってるってことを確認いただくには相当な時間が必要そ
うな気がするので、とりあえず現状の形でV6.16正式版をアップロードさせてい
ただくかもしれません。その辺よろしくお願いします。

[ ]
RE:45000 保護違反で落ちるNo.45001
Imabeppu さん 13/09/24 11:11
 
Imabeppu です。

>  たしかに、キー操作で単語補完を呼び出した場合は、20秒後に自動で消す処
> 理はしてませんでした。
>  一応それなら問題無いというか、想定通りの動作になります。

ヘッダ表示領域でキー操作により単語補完を呼び出した場合は20秒で閉
じますが、これも想定通りでしょうか。「キー操作の場合はユーザが明
示的に呼び出したのだから勝手に閉じない」ということであれば、同じ
ようにした方がよいかと感じました。が、たまたま気がついただけのこ
となので、今のままでも何の問題もないです。

> 〜、とりあえず現状の形でV6.16正式版をアップロードさせてい
> ただくかもしれません。

問題ないです。

[ ]
RE:45001 保護違反で落ちるNo.45003
秀まるお2 さん 13/09/24 12:21
 
 サイト−企画の斉藤秀夫です。
> ヘッダ表示領域でキー操作により単語補完を呼び出した場合は20秒で閉
> じますが、これも想定通りでしょうか。

 キー割り当てしたキーで呼び出した場合は、ヘッダ表示領域でも同様で、20
秒経過しても消えないはずです。

 一応、こちらでテストした限りはそういう動作になってるようでした。

 キーを押したタイミングがたまたま自動で出てくるタイミングと同じだったん
じゃないかという気がします。例えばメールアドレスをフルに入力して自動の
オートコンプリートが出ない状態でCtrl+Spaceキーを押すとかでどうでしょうか。

[ ]
RE:45003 保護違反で落ちるNo.45004
Imabeppu さん 13/09/24 14:48
 
Imabeppu です。

>  キーを押したタイミングがたまたま自動で出てくるタイミングと同じだったん
> じゃないかという気がします。例えばメールアドレスをフルに入力して自動の
> オートコンプリートが出ない状態でCtrl+Spaceキーを押すとかでどうでしょうか。

まさに、これで試していました。20秒で消えます。

[ ]
RE:45004 保護違反で落ちるNo.45005
秀まるお2 さん 13/09/24 19:01
 
 Ctrl+Spaceキーに秀丸エディタの方にて「単語補完」コマンドが割り当てられ
てるとして、To:ヘッダでそのキーを押して単語補完(というか、メールアドレ
スのオートコンプリート)を起動した時、一応、20秒で消えることがありえる
かどうかいろいろ調べたんですけども、どうしてもそういう可能性が分かりませ
んでした。

 ちゃんとした再現条件を調べるとしたら、たぶん秀丸エディタの動作環境と秀
丸メールの設定を、「設定内容の保存/復元...」で保存して送っていただく作戦
があるのですが、果たしてそこまでして調べるべきかどうかという話があります。

 もしあんまりお手間でなければ設定ファイルを送って欲しい所ですが、20秒
後に消えようが消えまいがどっちでもいいってことでしたら、わざわざ送ってい
ただかなくてもいいような気もします。

 (そもそも設定ファイルを送っていただいても再現しない可能性もあるかもし
れないし)

 ということでもしよかったら設定ファイル送っていただけたらと思います。

 よろしくお願いします。

[ ]
RE:45005 保護違反で落ちるNo.45006
Imabeppu さん 13/09/24 19:19
 
Imabeppu です。

LDAP サーバーを検索対象から外したところ、20秒で消えなくなりまし
た。(^o^)

[ ]
RE:45006 保護違反で落ちるNo.45007
秀まるお2 さん 13/09/25 08:47
 
 LDAPサーバーを検索対象にしたら再現しました。テスト不足でした。

 オートコンプリートの候補一覧を表示した時じゃなくて、後でタイマーが
セットされてるようでした。ソースコードの見直しをしてた時はそこまで考えま
せんでした。

 そもそも今回の落ちる問題も、LDAPサーバーから検索する(遅延して候補が追
加される)のが関係してる可能性がありそうな気がします。その辺も含めて調べ
てみます。

[ ]