[ 新規に投稿する ]

特定のフォルダーを開くと落ちるようになったNo.10998
mf さん 23/02/21 09:47 [ コメントを投稿する ]
  いつも便利に使わせて頂いています

昨日あたりより特定のフォルダー「送信済み」を開くと
秀丸メールが落ちるようになってしまいました。

複数のバージョンで試してみましたが同様に落ちます

dump.txtは出力されていないようであったので
アプリケーションログのApplication Errorの内容を転記します。
何か分かりませんでしょうか?

障害が発生しているアプリケーション名: TuruKame.exe、バージョン: 7.1.6.99、タイム スタンプ: 0x63c779c4
障害が発生しているモジュール名: TuruKame.exe、バージョン: 7.1.6.99、タイム スタンプ: 0x63c779c4
例外コード: 0xc0000409
障害オフセット: 0x0000000000392d24
障害が発生しているプロセス ID: 0xa74
障害が発生しているアプリケーションの開始時刻: 0x01d945868ae6b2ac
障害が発生しているアプリケーション パス: C:\Program Files\HidemaruMail\TuruKame.exe
障害が発生しているモジュール パス: C:\Program Files\HidemaruMail\TuruKame.exe
レポート ID: 554288ab-e0bf-480a-a358-798ea349580b
障害が発生しているパッケージの完全な名前: 
障害が発生しているパッケージに関連するアプリケーション ID: 

障害が発生しているアプリケーション名: TuruKame.exe、バージョン: 7.1.5.99、タイム スタンプ: 0x635b13ba
障害が発生しているモジュール名: TuruKame.exe、バージョン: 7.1.5.99、タイム スタンプ: 0x635b13ba
例外コード: 0xc0000409
障害オフセット: 0x000000000038b4b4
障害が発生しているプロセス ID: 0x708
障害が発生しているアプリケーションの開始時刻: 0x01d94583de22d01b
障害が発生しているアプリケーション パス: C:\Program Files\HidemaruMail\TuruKame.exe
障害が発生しているモジュール パス: C:\Program Files\HidemaruMail\TuruKame.exe
レポート ID: 9edbed37-1f6f-42ad-962a-0673496868b9
障害が発生しているパッケージの完全な名前: 
障害が発生しているパッケージに関連するアプリケーション ID: 

障害が発生しているアプリケーション名: TuruKame.exe、バージョン: 7.1.7.7、タイム スタンプ: 0x63eed572
障害が発生しているモジュール名: TuruKame.exe、バージョン: 7.1.7.7、タイム スタンプ: 0x63eed572
例外コード: 0xc0000409
障害オフセット: 0x0000000000395ae4
障害が発生しているプロセス ID: 0x2df0
障害が発生しているアプリケーションの開始時刻: 0x01d9458297ec46e3
障害が発生しているアプリケーション パス: C:\Program Files\HidemaruMail\TuruKame.exe
障害が発生しているモジュール パス: C:\Program Files\HidemaruMail\TuruKame.exe
レポート ID: ec00fe07-5a82-4d59-9c30-c9d5ce8d16d2
障害が発生しているパッケージの完全な名前: 
障害が発生しているパッケージに関連するアプリケーション ID: 

障害が発生しているアプリケーション名: TuruKame.exe、バージョン: 7.1.7.6、タイム スタンプ: 0x63e9d162
障害が発生しているモジュール名: TuruKame.exe、バージョン: 7.1.7.6、タイム スタンプ: 0x63e9d162
例外コード: 0xc0000409
障害オフセット: 0x0000000000395174
障害が発生しているプロセス ID: 0x2c28
障害が発生しているアプリケーションの開始時刻: 0x01d94581ef32adef
障害が発生しているアプリケーション パス: C:\Program Files\HidemaruMail\TuruKame.exe
障害が発生しているモジュール パス: C:\Program Files\HidemaruMail\TuruKame.exe
レポート ID: c43a5568-3238-40e8-b54b-6213645db6a8
障害が発生しているパッケージの完全な名前: 
障害が発生しているパッケージに関連するアプリケーション ID: 
[ ]
RE:10998 特定のフォルダーを開くと落ちるようになったNo.10999
秀まるお2 さん 23/02/21 11:02 [ コメントを投稿する ]
   お手数かけてすみません。

 フォルダを選択しただけで落ちるのは、非常にまずい状況です。

 例外コードは「STATUS_STACK_BUFFER_OVERRUN」ってことになってて、そのエラーの場合だと秀丸メールがdump.txtを取ることが出来ないのかなぁと思います。落ちてる場所からなんとか原因を探してみます。
[ ]
RE:10999 特定のフォルダーを開くと落ちるようになったNo.11000
秀まるお2 さん 23/02/21 11:36 [ コメントを投稿する ]
   落ちてる場所ですが、Visual Studioのライブラリの中の、

    __report_securityfailure

 って関数の中みたいでして、これでは何が原因か全然分からないです。

 秀丸メールのバグには違いないと思うんですが、どこが悪いのか特定することが非常に困難です。なので、すみませんがもうちょっとテストお願いしたいです。

 まず、秀丸メールのVersion 7.14まで戻してどうか試してみてほしいのと、それでも落ちる場合は、その場合のイベントログかdump.txtを教えて欲しいです。

 Versoin 7.14は以下のURLからダウンロードできます。

64bit版:
https://hide.maruo.co.jp/software/bin3/hmmail714_x64_signed.exe

32bit版:
https://hide.maruo.co.jp/software/bin3/hmmail714_signed.exe

 Versoin 7.14は古いVisual Studioでビルドしてるので、少なくとも同じ場所で落ちることは無いです。

 あと、「全般的な設定・上級者向け・動作の記録」の「秀丸メールの動作をdump.txtに記録する」をONにして落としてみて、それでdump.txtの最後の方の内容(数行程度でも)を教えて欲しいです。それで少なくとも何をしようとして落ちてるのかは分かります。

 それで解決できる自信は無いんですが、とりあえずそのくらいしか解決策が思いつかないです。

 お手数かけてすみませんがよろしくお願いします。
[ ]
RE:11000 特定のフォルダーを開くと落ちるようになったNo.11001
mf さん 23/02/21 14:08 [ コメントを投稿する ]
  秀まるお2さん、コメントありがとうございます。

Versoin 7.14に戻したところ、落ちませんでした

Versoin 7.16で「全般的な設定・上級者向け・動作の記録」の「秀丸メールの動作をdump.txtに記録する」をONにして落としてみたところのdump.txtは以下でした。
(「XXX」部分はマスクしてあります)

14:04:01.115 (23088) CoordLog: EnvChanged will main=(235,44,-1934,1047) editor=(855,161,786,657) book=(446,145,-893,756) grep=(426,169,1376,878)
14:04:01.115 (11574) -
14:04:01.127 (15849) WM_DROPFILES at Folder
14:04:01.127 (15849) WM_DROPFILES at Folder
14:04:01.139 (24156) EnvChanged fFilterLog=0
14:04:01.139 (24185) CoordLog: EnvChanged exit main=(235,44,-1934,1047) editor=(855,161,786,657) book=(446,145,-893,756) grep=(426,169,1376,878)
14:04:01.205 (14423) FreePatrol
14:04:01.205 (15546) LeaveTrans()
14:04:01.205 (24003) 40017 ret 1
14:04:03.873 (3759) listcache loaded XXX/2/ m50098 u7 hot0 v1 r0 t766
14:04:03.873 (12845) NotifyFolderChanged XXX/2/
14:04:03.873 (11572) メール総数=50098 / 最近の分=453 / マーク=4
14:04:03.888 (5420) WndProc = 3FEAC0E0
14:04:03.888 (6374) RefreshListViewItem
14:04:03.888 (11243) SetWaitCursor 0
14:04:03.888 (11394) RestoreWaitCursor 0
14:04:03.904 (14843) SetView pTitle=911861B0 cb=8715 off=183746
14:04:03.957 (3969) SetText at main charset=0 cpHidemaru=932
14:04:03.957 (5759) WM_PRECOMMAND 23
[ ]
RE:11001 特定のフォルダーを開くと落ちるようになったNo.11002
秀まるお2 さん 23/02/21 16:30 [ コメントを投稿する ]
   お手数かけてすみません。

 Version 7.14に戻して落ちないということは、何かVersion 7.15以降でいじった所が悪い可能性が高いんですが、もしかしたらVisual Studioのバージョンの違いのせいかもしれなくて、とりあえずVisual Studioを旧バージョンに戻してビルドしようとしたんですが、うまくビルドできなくなってしまいました。(いろいろ新しいC++言語規約を使ってしまってるせいかと思うけど)

 あと、今回起きた例外を再現させる例を作り出すことは出来ました。いわゆる「スタックをバッファオーバーラン壊す」みたいな処理なんですが、それをすると同じ落ち方をしました。なので何かそういうまずいバグが起きてる可能性が高いです。しかし、どこで起きてるのか特定するのが超困難です。

> 14:04:03.904 (14843) SetView pTitle=911861B0 cb=8715 off=183746
> 14:04:03.957 (3969) SetText at main charset=0 cpHidemaru=932
> 14:04:03.957 (5759) WM_PRECOMMAND 23

 メールを表示する処理で落ちてるみたいなので、すみませんがもう1つテストお願いしたいです。

 「全般的な設定・未読メールの閲覧・詳細」のページの中に、

    □ メールを非選択状態にする(点線で選択するのみ)

 ってオプションがあります。これをONすれば、たぶん送信済みフォルダを選択しても落ちなくなると思います。そして、点線で選択されたメールをクリックすると、そこで落ちるんじゃないかと思います。

 それを確認いただいた上で、その「クリックして表示させると落ちる」メールにどういう特徴があるのか教えていただけると助かるんですが・・・、差し支えなければそのメールをエクスポートして送っていただけるとなおいいですが。(まずい所は伏せ字にした上で)
[ ]
RE:11002 特定のフォルダーを開くと落ちるようになったNo.11003
mf さん 23/02/21 19:31 [ コメントを投稿する ]
  Versoin 7.14とVersoin 7.16で
諸々再現テストを実施していたのですが
落ちる原因となるメールは見つけることができました。

メール内容の表示ではなく、メール一覧の当該メールの表示で
落ちているようです。
縦スクロールバーのクリックやマウスホイールを回転させるなどして
そのメールがメール一覧上で表示されようとしたタイミングで落ちました。

そのため「全般的な設定・メール一覧・メール一覧への表示項目、並び順」の各項目のチェックを入れたり・外したりしていたのですが
「□アイコン」にチェックが入っていると落ちることが分かりました。

当該メールはかなり大きなメールで伏字にするにも非常に大変です。
申し訳ないのですが上記で分かることはありませんでしょうか?

参考まで
アイコンモジュールはTsuruToKame.tkmを使用しているのですが
アイコンモジュールを使わない設定にしても落ちました。
[ ]
RE:11003 特定のフォルダーを開くと落ちるようになったNo.11004
秀まるお2 さん 23/02/21 22:10 [ コメントを投稿する ]
   貴重な情報ありがとうございます。

 メール一覧上のアイコンを描画して落ちるなら、例えばそのメールが添付ファイル付きだとしたら、

   「全般的な設定・メール一覧・詳細・もっと詳細2」にある
   □ 添付ファイルのアイコンをリアルにする

 がONだとダメな可能性があります。

 それがOFFなら・・・・分かりません。

 ONでダメなら、何かそのメールについてる添付ファイルの、アイコンハンドラーというか、Windowsに登録されてるアイコン関係の拡張ソフトウェアが悪さしてる可能性が考えられます。何か最近インストール、あるいはバーションアップした物があるとか???
[ ]
RE:11004 特定のフォルダーを開くと落ちるようになったNo.11005
mf さん 23/02/22 08:29 [ コメントを投稿する ]
  昨日もう少し調査したのですが
書き込み回数制限で書き込めませんでした・・・

> メール一覧上のアイコンを描画して落ちるなら、例えばそのメールが添付ファイル付きだとしたら、
>
>   「全般的な設定・メール一覧・詳細・もっと詳細2」にある
>   □ 添付ファイルのアイコンをリアルにする
>
> がONだとダメな可能性があります。

該当設定はONだとダメで、OFFだと落ちませんでした。

落ちる再現条件を絞ることができました

・「全般的な設定・メール一覧・メール一覧への表示項目、並び順」の「□アイコン」にチェックが入っている

・「全般的な設定・メール一覧・詳細・もっと詳細2」の
「□ 添付ファイルのアイコンをリアルにする」にチェックが入っている

・メールの文字コードをUTF-8(多国語混在ユニコード)にする

・「TEST.DATA以外圧縮」という名前のファイルを添付する

・「TEST.DATA圧縮」という名前のファイルの添付では落ちない

「TEST.DATA圧縮」というファイルを添付した送信済メールの
添付ファイル名を「TEST.DATA以外圧縮」に変更したタイミングでも落ちました。

受信メールでも発生するのかまでは確認していませんが
細工した添付ファイル名でバッファオーバーランが起きるのであれば
セキュリティ的にもマズいように思います。

[ ]
RE:11005 特定のフォルダーを開くと落ちるようになったNo.11007
秀まるお2 さん 23/02/22 10:16 [ コメントを投稿する ]
   問題がややこしくて混乱気味ですが、1つ1つお返事させていただきます。

■書き込み回数制限

 コミュニテックスにいたずら書きされる事件が2回ほどあって、入会した当日および次の日は1日3回程度まで、その後は1日30回まで書き込み回数の制限をかけたんですが、30回も書き込みしてないですよね。

 書き込み回数制限についてはもう一回時間を見て見直ししてみます。とりあえず原因不明の場合は50回くらいまで増やそうと思います。


■「TEST.DATA以外圧縮」でダメな件

 ソースコードをいろいろ見直したら、SHGetFileInfoっていうAPIを呼び出して保護違反で落ちてたことが過去にあって、ここで落ちた場合の対策オプションがありました。「全般的な設定・上級者向け・デバッグ・デバック3」の中にある

    □ 添付ファイルのアイコン取得にSHGetFileInfoを使わない

 があって、もしSHGetFileInfo呼び出してで秀丸メールが異常終了したら、そこのオプションが自動でONに切り替わるはずになっていました。しかし今回そこのオプションが自動でONにする処理にバグがあって、ONにならないようでした。

 このバグはちゃんと直しつつ、さらに、今回のようにアイコンがトーフというか、白紙みたいな風になるのが確実な場合には、SHGetFileInfoは呼び出さず、Windows標準の白紙アイコンを表示してしまうようにします。

 それで問題が回避できるんじゃないかと思います。


■秀丸メールのVersion 7.14で落ちない件

 秀丸メールのVersion 7.14で落ちないのは、やはりビルド(=コンパイル&リンク)に使ってるVisual Studioのバージョンの関係だと思います。特にEXEファイルをビルドするのにどのバージョンを使うかが関係してるようです。

 秀丸ファイラーでも似たような問題(アイコン関係の処理で特定のシェル拡張があると落ちることがある)のために、EXEファイルだけは古いVisual Studioでビルドしてるということだそうです。

 秀丸メールも今さら古いVisual Studioに戻すのはちょっとすぐには無理なので、とりあえずはやめときます。もし次のβ版でも解決しなかったら、秀丸ファイラーと同じ方式にしようと思います。


■セキュリティ的な問題

 今回のケースはスタック上でのバッファオーバーランが起きつつも、最近のC++言語でのバッファオーバーランを検出する仕組みがちゃんと働いて正常に(?)落ちてる(悪意のあるソフトウェアを実行させないようにしてる)ので、一応その点は大丈夫です。

 また、スタックオーバーランを発生させてるのは秀丸メール自身じゃなくて、SHGetFileInfoを呼び出した先にある、何らかのシェル拡張のソフトウェアじゃないかと思います。


----------------------------------------------------------------------------------------
 とりあえず今日中にVersion 7.17β8をアップロードしますので、すみませんがそれで大丈夫になったかどうか確認お願いしたいです。

 よろしくお願いします。
[ ]
RE:11007 特定のフォルダーを開くと落ちるようになったNo.11008
mf さん 23/02/22 11:38 [ コメントを投稿する ]
  調査、回答ありがとうございます。

>    □ 添付ファイルのアイコン取得にSHGetFileInfoを使わない
>
> があって、もしSHGetFileInfo呼び出してで秀丸メールが異常終了したら、そこのオプションが自動でONに切り替わるはずになっていました。しかし今回そこのオプションが自動でONにする処理にバグがあって、ONにならないようでした。
>
> このバグはちゃんと直しつつ、さらに、今回のようにアイコンがトーフというか、白紙みたいな風になるのが確実な場合には、SHGetFileInfoは呼び出さず、Windows標準の白紙アイコンを表示してしまうようにします。
>
> それで問題が回避できるんじゃないかと思います。

Version 7.16にて当該オプションにチェックを入れてみましたが
落ちるという現象は変わらないようでした。
[ ]

[ 新規に投稿する ]