◀Unicode版開発トップへ
  • 1996 プリンタ切り替えの不調
    • 1997 Re: プリンタ切り替えの不調
      • 1998 Re2: プリンタ切り替えの不調
    • 1999 Re:プリンタ切り替えの不調
      • 2000 Re2:プリンタ切り替えの不調
        • 2001 Re3:プリンタ切り替えの不調
          • 2003 Re4:プリンタ切り替えの不調
  • [1996] プリンタ切り替えの不調 syat 2013年06月22日 15:07

    印刷プレビューのプリンタボタンを押して、プリンタを切り替えてOKを押すとクラッシュすることがあります。何度か同じ操作をしていると印刷プレビューを開いただけで落ちるようになります。
    バイナリはSVNの最新でビルドしたバイナリ、OSはWindows8です。
    OSのせいかな、とも思いましたが、1.6.7.0 や 2.0.8.0 だと何度切り替えても落ちません。

    • [1997] Re: プリンタ切り替えの不調 もか 2013年06月22日 17:16

      最近、プリンタ設定の適用周りをいじったのでそのせいだと思います。
      調査してみます。
      • [1998] Re2: プリンタ切り替えの不調 もか 2013年06月22日 20:51

        見つかった問題点:
        1. ロック機構が働いていない
        OnPrintの中でプリンタ設定が変わったのを検出すると、
        印刷中にOnChangeSetting/OnChangePrintSettingが実行されてしまう。
        2. プリンタ選択画面の結果を適用していない
        プロセス固有の設定のキャッシュのほうだけ更新されてその後の
        SendMessage経由のOnChangeSettingで元の設定に書き戻されていた

        というのは見つかりましたが、落ちるのの再現・原因の予想はできませんでした。
        https://sourceforge.net/p/sakura-editor/patchunicode/583/
        にパッチを添付しました。
    • [1999] Re:プリンタ切り替えの不調 petit 2013年06月23日 01:39

      ▼ syatさん
      クラッシュ時にミニダンプが出力されてませんか?(CProcess::WriteDump())
      それを VS にかければクラッシュ位置・スタック情報が取れると思います。
      • [2000] Re2:プリンタ切り替えの不調 syat 2013年06月23日 12:09

        もかさんのパッチで改善しました。

        ただ再現しないとのことなので、一応ダンプを上げます。
        http://ux.getuploader.com/sakura_editor/download/81/sakura.dmp.20130623.zip

        (最近のOSだとダンプが C:\Users\○○\AppData\Local\CrashDumps にできるんですねー。気づかずiniのフォルダをずっと探してました^^)
        • [2001] Re3:プリンタ切り替えの不調 もか 2013年06月23日 14:58

          memcpyでアクセス違反っぽいのはわかりましたが、
          miniDumpだけではmapファイルかpdbがないと厳しいです。
          スタックトレースの情報(STACK_TEXT)もCProcess.cppのMiniDump作成のところを指してるみたいで、
          落ちたところのスタックはよくわかりませんでした。
          CProcessのものではなく、Windowsの機能の方でミニダンプをとらないと、
          ひょっとするとスタックが再現できないのかも。
          • [2003] Re4:プリンタ切り替えの不調 syat 2013年06月29日 01:50

            遅くなりましたが、もう一度ダンプとpdbを取りました。
            http://ux.getuploader.com/sakura_editor/download/82/sakura.exe.20130629.zip


            rpcrt4.dllの中で落ちているようです。どうもプリンタドライバ側のような。。よくわかりません。
            もかさんのパッチは有効なのでぜひコミットしていただきたいです。