◀Unicode版開発トップへ
  • 2401 起動時、たまに落ちる
    • 2402 Re:起動時、たまに落ちる
      • 2403 Re2:起動時、たまに落ちる
    • 2404 Re:起動時、たまに落ちる
    • 2405 Re:起動時、たまに落ちる
      • 2406 Re2:起動時、たまに落ちる
  • [2401] 起動時、たまに落ちる hagi 2017年06月19日 19:43

    いつも使わせてもらってます。

    Win7 32bit でver2.3.2.0 Unicode版を使っていますが、
    たまに落ちるので、デバッグ版をコンパイルして
    再現するまで起動/終了を繰り返しました。
    すると、必ず

    sakura_core/util/shell.cpp 内119行の
    SHGetSpecialFolderLocation()

    で失敗します。

    どうやら正しく解放できていないかと思われますが
    他の方は、いかがでしょうか?おま環なのかもしれません。

    ちなみにこの関数はもうサポートされないそうで
    いずれは SHGetFolderLocation() に代わらないといけないようですが

    https://msdn.microsoft.com/ja-jp/library/windows/desktop/bb762203(v=vs.85).aspx

    ANSIとコードが共有ならば DllGetVersion() で判定するしかないですかね?。

    https://msdn.microsoft.com/ja-jp/library/windows/desktop/bb776779(v=vs.85).aspx
    • [2402] Re:起動時、たまに落ちる rasti 2017年06月21日 13:54

      ▼ hagiさん
      > ...
      >
      > ANSIとコードが共有ならば DllGetVersion() で判定するしかないですかね?。
      >
      > ...
      こーどは きょうゆう して おりま せん
      • [2403] Re2:起動時、たまに落ちる rasti 2017年06月21日 14:01

        > こーどは きょうゆう して おりま せん

        ↓
        http://svn.code.sf.net/p/sakura-editor/code/sakura/trunk
        ↑-これ とは
    • [2404] Re:起動時、たまに落ちる ばぼ 2017年06月21日 23:02

      こんばんは。

      ▼ hagiさん
      > すると、必ず
      >
      > sakura_core/util/shell.cpp 内119行の
      > SHGetSpecialFolderLocation()
      >
      > で失敗します。

      64bit版windowsで試した限り再現しませんでした。
      具体的にどうなって落ちる(デバッグブレークする)かまで書いていただけると、
      より意味のあるレスを返すことができるような気がします。たぶん。

      単に想像ですが、メモリ解放周りのコードがおかしい気がします。
      CRTでいうところの「ヒープが壊れています。」的なエラーがでて止まったのでは?

      そして、同ファイル内112行目の変数型が怪しいな、と。
      https://msdn.microsoft.com/ja-jp/library/windows/desktop/bb762190(v=vs.85).aspx

      In its place, programs can call the equivalent (and easier to use) CoTaskMemAlloc and CoTaskMemFree.


      121行目の呼出し結果によらず、
      122行目で解放に行ってるあたり。
      確保できてないのに解放したから
      再確保しようとした瞬間に落ちる、と。


      該当コードはv2専用なので
      windows2000で動作できる関数ならば使ってよい認識です。


    • [2405] Re:起動時、たまに落ちる novice 2017年06月25日 00:03

      ▼ hagiさん
      > ちなみにこの関数はもうサポートされないそうで
      > いずれは SHGetFolderLocation() に代わらないといけないようですが

      https://sourceforge.net/p/sakura-editor/patchunicode/1107/
      patch登録しました。
      • [2406] Re2:起動時、たまに落ちる berryzplus 2017年08月11日 13:50

        ▼ noviceさん
        > ▼ hagiさん
        > > ちなみにこの関数はもうサポートされないそうで
        > > いずれは SHGetFolderLocation() に代わらないといけないようですが
        >
        > https://sourceforge.net/p/sakura-editor/patchunicode/1107/
        > patch登録しました。

        これって問題が解決した、ってことでいいんですか?

        32bit版のライセンスは持っていないから、
        うちでは再現確認ができないので、
        情報があればあげていただけるとありがたいです。