バグ:WSNファイルを開いた時に異常

Issue #278 resolved
ルンバ created an issue

Build: 2018-12-01 13:48:22 Release (32-bit) Compiled by Digital Mars D 2083 Win7

以前のファイルを開きつつ読み込み待ちのあいまに脇で他の事をやっていて画面にもどったら、エラーメッセージがでていたので不具合の瞬間はわからないのですが、開いた直後なのかと思います。一旦強制終了させてxエディターを開き直したら正常に動いていますがエラーログがあるので一応ご報告します。

2018-12-10 01:32:37 [Build: 2018-12-01 13:48:22 Release (32-bit)] cwx\utils.d:136 Stack Trace -------- cwx\editor\gui\dwt\mainwindow.d-mixin-4729, 4729 cwx\editor\gui\dwt\mainwindow.d-mixin-4732, 4732 cwx\editor\gui\dwt\loader.d-mixin-142, 142 cwx\editor\gui\dwt\loader.d-mixin-143, 143 cwx\editor\gui\dwt\loader.d-mixin-173, 173 cwx\editor\gui\dwt\loader.d-mixin-78, 78 cwx\utils.d-mixin-1570, 1570


2018-12-10 01:32:37 [Build: 2018-12-01 13:48:22 Release (32-bit)] cwx\editor\gui\dwt\mainwindow.d:4841 [Failed to execute runnable] org.eclipse.swt.win32.win32.x86\src\org\eclipse\swt\SWTException.d, 99: 0x012E9952 0x012E9856 0x0130B003 0x012A2404 0x012A124E 0x00E97AB5 0x0065B847 0x013CDE9F 0x013CDE21 0x013CDCBB 0x0065B917 0x7642343D in BaseThreadInitThunk 0x77449802 in RtlInitializeExceptionChain 0x774497D5 in RtlInitializeExceptionChain

Comments (11)

  1. k4nagatsuki repo owner

    ご報告ありがとうございます。

    読み込み完了後の処理の呼び出しで失敗しており、その後の一時ファイルの掃除(削除)にも失敗しているようなのですが、どうも何が起きたかがよく分かりません。デバッグビルドならもう少し詳細な情報が出たかもしれません。

    調べるにしても、もう少し手懸りがほしいですが、再現性が無いようではそれも難しそうです。申し訳ありません。

    似たような問題がまた発生したら、状況をお知らせいただけるとありがたいです。

  2. ルンバ reporter

    64bit版を使っていた時の事でかつ、別症状なので関係ないような気がしますが一応付記します。体感的なあやふやな印象なのですがどうも6.0正式版の半月ほど前あたりのverからエラーログなしで強制終了がよく起こる(日に数度)ようになったような気がしたのですが、ログ無し、再現性なしなので報告しかねていました。メッセージコンテンツの編集を終えOKを押した時に落ちる事が多かった印象ですが、その他の作業中にも突然落ちる事がありました。

    32bitに引っ越した契機としては、6.0正式版の64bitで作業中、強制終了し再開後には開始エリアが消失していたのでバックアップを開いたら\AppData\Roaming\cwxeditor\backup\filesの中のファイルに消えた開始エリアだけが残っていたので双方を合体させてサルページした件によります。

    32bitにしたらこのエラーログの件以外は落ち着いています。

  3. k4nagatsuki repo owner

    すみませんが、最新のテスト版を試していただけないでしょうか。

    デバッグビルドであれば、もう少し詳細なエラーログが出ます。この件でいえば、ファイルの削除の前段階のエラーもログに出力されたはずです。

    先月半ばからのcommitを再確認してみたのですが、強制終了に関わりそうな変更は無いようです。実行環境かコンパイラの更新が原因でしょうか? 64-bitだけで問題が起きるというのも、どうも単純な問題では無さそうな感じがします。

  4. ルンバ reporter

    64bit、32bit双方使用してみます。何かありましたら報告させていただきます。

  5. ルンバ reporter

    再現性のある事例が出ました。デバッグビルド64bit版で「冒険者の宿で Ver7.9(解凍済み)」を開くと確実に止まるようです、なぜか6.0正式版では正常に開けます。ほかにも大型街シナを5.6個ためしましたが、そういうシナリオはいまのところ無いです。

    開ける○ Build: 2018-12-01 13:50:20 Release (64-bit) Compiled by Digital Mars D 2083

    以下h開けない☓ Build: 2018-11-28 19:54:26 Debug (64-bit) Compiled by Digital Mars D 2083

    Build: 2018-11-29 21:49:38 Debug (64-bit) Compiled by Digital Mars D 2083

    Build: 2018-12-08 15:21:36 Debug (64-bit) Compiled by Digital Mars D 2083   

    エラーログはでないですがステータスバーの 「冒険者の宿でを読み込んでいます」が消え「139枚のカード」が表示されたら止まるので読み込みが完了した時点っぽいです。

  6. k4nagatsuki repo owner

    手持ちの環境の一つでは再現しなかったのですが、他の環境では再現したので、最初の環境に設定ファイルをコピーしてみたところ再現するようになりました。

    どうもどれかの設定がトリガーになっているようですが具体的な事はまだ不明です。調べてみます。

  7. k4nagatsuki repo owner

    pull request #378

    調べをつけて修正しました。

    このエラーの原因は、警告のためにファイルを検査する際、128~147バイトのファイルがあるとバイト配列の境界をオーバーしてアクセスしてしまっていた事です。こうした不具合は時々アプリケーションが落ちる(条件が悪いとOSによって落とされる)原因にもつながるので、諸々のトラブルの原因はこれかもしれません。32-bit版が落ちないのは、たまたまでしょう。

    これは非常に問題なので、6.1をリリースしなければならない事は確定的です。とりあえず最新のテスト版をお試しください。

    現実的ではありませんが一応の回避策は、128~147バイトのファイルを作らない事です。

  8. k4nagatsuki repo owner

    ちなみにデバッグ版で確実に発生してリリース版で発生しない(まれに発生するはず)のは、Dコンパイラの仕様でデバッグビルドには配列の境界チェックが入るためです。

  9. ルンバ reporter

    最新のcwxeditor_fnine_20181211b はアバストが調査中なのでまだ開けないのですが

    一つ前のcwxeditor_fnine_20181211

    Build: 2018-12-11 21:30:48 Debug (64-bit) Compiled by Digital Mars D 2083 の方では冒険者の宿でで停止が再現します。

    最新の確認しだいご報告します。

  10. ルンバ reporter

    最新のcwxeditor_fnine_20181211b 

    Build: 2018-12-11 23:13:20 Debug (64-bit) Compiled by Digital Mars D 2083

    で、「冒険者の宿で」ちゃんと開けました。

    ありがとうございます。

  11. Log in to comment