セリフコンテントの編集後、タブの切り替えをするとエラー

Issue #302 resolved
jinto_ created an issue

https://ux.getuploader.com/Slash/download/14
パスはcw。

良く分からないバグなので、再現できる具体例のみで失礼します。
アップされている実験シナリオにて、
1.テキスト検索で冒険者で検索。
2.口調条件に上品のあるセリフコンテントを開いてOKを押す。
3.検索と置換画面の別タブを選択する。
これで落ちます。

Build: 2019-04-06 21:41:30 Debug (64-bit)
Compiled by Digital Mars D 2085

Comments (8)

  1. k4nagatsuki repo owner

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

    手元にあるWin10 64-bit及びWin 7 64-bitの環境で試みましたが、再現できませんでした。

    • 再現する環境を教えてください。
    • 初期設定でも再現するでしょうか?
    • 32-bitのエディタではデバッグログが出るかもしれません。試していただけないでしょうか。
  2. jinto_ reporter

    32-bitのエディタではデバッグログが出るかもしれません。

    調べてみたらエラーログにありました。64だと出ないんですね。

    2019-04-07 12:10:33 [Build: 2019-04-06 21:39:28 Debug (32-bit)] cwx\utils.d:135 Stack Trace --------
    cwx\editor\gui\dwt\mainwindow.d-mixin-2666, 2666
    cwx\editor\gui\dwt\mainwindow.d-mixin-2668, 2668
    cwx\editor\gui\dwt\mainwindow.d-mixin-2729, 2729
    cwx\editor\gui\dwt\mainwindow.d-mixin-2731, 2731
    cwx\editor\gui\dwt\mainwindow.d-mixin-2733, 2733
    cwx\editor\gui\dwt\mainwindow.d-mixin-2735, 2735
    cwx\editor\gui\dwt\mainwindow.d-mixin-2736, 2736
    2019-04-07 12:10:33 [Build: 2019-04-06 21:39:28 Debug (32-bit)] cwx\editor\gui\dwt\mainwindow.d:2741 [C:\Users\jinto\AppData\Roaming\cwxeditor\temp\実験\cwxeditor.lock: プロセスはファイルにアクセスできません。別のプロセスが使用中です。] std\file.d, 1049: 0x00B20248
    0x01303742
    0x00EB0197
    0x005F3E15
    0x012FCFD7
    0x012FCF59
    0x012FCDF3
    0x005F3F23
    0x73B28494 in BaseThreadInitThunk
    0x770A41C8 in RtlAreBitsSet
    0x770A4198 in RtlAreBitsSet
    

    初期設定でも再現するでしょうか?

    xeditorの設定てどこに記録されてたでしょうか?
    出す方法を忘れてしまいました。

  3. jinto_ reporter

    すみません、間違えました。
    どうも別のログみたいでエラーログにはないようです。

  4. k4nagatsuki repo owner

    圧縮されたシナリオの編集中に多重に起動した時、一時ファイルを削除してよいか検査する時に記録されたログのようですね。確かに今回のバグとは関係ないようです。

    64-bit版ではエラーログを出す事もなく落ちるのに32-bit版でログが出るというケースは存在しており、専門用語抜きで説明すると実行ファイルの内部形式が違うためです。メモリアクセス違反などの不具合では32-bit版でログを記録できるケースがあります。

    xeditorの設定てどこに記録されてたでしょうか?

    エラーログと同じ場所にあります。エクスプローラで開く場合は%appdata%\cwxeditorと打ち込んでください。cwxeditor.xmlが設定ファイルなので、それを一時的にリネームしてください。

  5. jinto_ reporter

    初期設定にしたら落ちないようです。
    ただテキスト検索のここを
    キャプチャ.JPG
    狭くしたら落ちたので、原因はこれでしょうか?

  6. k4nagatsuki repo owner

    pull request #461

    ありがとうございます。原因を特定して修正しました。

    原因は以下のような感じです。

    1. 検索を高速化するため、各検索結果は表示範囲に入ってきてから情報を取得して描画するようになっています。
    2. セリフコンテントを編集すると、個別のセリフがコンテントから取り除かれます(新しいものへ入れ替わる)。
    3. 検索結果にある表示範囲外のセリフが、セリフコンテントに属していないというケースが発生します。
    4. 情報取得処理はセリフが必ずセリフコンテントに属している事を前提にしていたため、当該セリフが表示範囲内に入ると情報取得で処理異常が発生します。

    タブの切り替えで発生していたのは、他のタブの結果表示範囲がテキスト検索より広いためです。

  7. Log in to comment