Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Alt+F1 (ヘルプ) するとサクラエディタが落ちる #643

Closed
beru opened this issue Nov 24, 2018 · 11 comments
Closed

Alt+F1 (ヘルプ) するとサクラエディタが落ちる #643

beru opened this issue Nov 24, 2018 · 11 comments
Labels
🐛bug🦋 ■バグ修正(Something isn't working)
Milestone

Comments

@beru
Copy link
Contributor

beru commented Nov 24, 2018

おま環かもしれんけど https://ci.appveyor.com/api/buildjobs/kq0q4vigajo6axqe/artifacts/sakura-build1247-f1122b83-Win32-Release-Exe.zip を解凍して Alt+F1 (ヘルプ) するとサクラエディタが落ちるね...

リンクされている EXE は Build 1247 を指していました。Build 1240 では落ちませんでした。

これがちょっと関係してるかなーと思いましたが調べていません>「SAKURA Editor / PatchUnicode / #1116 CFileNameManager::GetIniFileName の問題含みの仕様を正します。

Originally posted by @ds14050 in #620 (comment)

@beru
Copy link
Contributor Author

beru commented Nov 24, 2018

f1122b8 で開発環境から起動してみましたが再現しない事を確認しました。Build 1247 では落ちるので何か再現条件が異なるのかもしれません。

@beru
Copy link
Contributor Author

beru commented Nov 24, 2018

パスに起因するみたいですね。

@berryzplus
Copy link
Contributor

現状masterから派生したビルド品で再現しないので、
初期設定がおかしくなってる疑いがあるのかな。

@beru
Copy link
Contributor Author

beru commented Nov 24, 2018

パスは関係無いかもしれないです。
下記の3つのファイルだけが含まれている状態だと落ちる事が分かりました。

  • sakura.exe (Build 1427 のものでもそうでなくても)
  • sakura.ini (Build 1427 からコピー)
  • sakura.chm (Build 1427 からコピー)

設定が影響しているのかというと、マルチユーザ構成設定ファイル (sakura.exe.ini) を使っても起きるので同じフォルダにある sakura.chm ファイルを見てるのが関係してるんでしょうか?

@beru
Copy link
Contributor Author

beru commented Nov 24, 2018

ローカルの sakura.chm ファイルを開くのに失敗してしまっているのかもしれないですね。

@beru
Copy link
Contributor Author

beru commented Nov 24, 2018

CHtmlHelp::InitDllImp でアドレス演算子の記述が足りてないのが原因で CHtmlHelp::m_pfnHtmlHelp
nullptr のままになって、その関数ポインタを shell.cppOpenHtmlHelp 関数で使って 😸 ぬるぽ が起きます。

@berryzplus
Copy link
Contributor

まじか・・・言われてみると凡ミス過ぎる...orz
ご迷惑おかけします。

@beru
Copy link
Contributor Author

beru commented Nov 24, 2018

いえいえ、自分がちゃんとレビュー出来てませんでした。

ImportTable::proc の型が void* ってなっているので関数ポインタそのまま渡しちゃってもコンパイル時に問題が検出されないですね。じゃあ型を void** にすれば良いのかというと、う~ん…。traits で関数ポインタのアドレスかどうかを静的にチェック出来るかもしれないですが。

@beru
Copy link
Contributor Author

beru commented Nov 24, 2018

Build 1240 でも落ちる事を確認しました。

@ds14050
Copy link
Contributor

ds14050 commented Nov 24, 2018

濡れ衣でしたね。お疲れ様でした。

@beru
Copy link
Contributor Author

beru commented Nov 24, 2018

#644 を merge したのでこの issue は close します。

@beru beru closed this as completed Nov 24, 2018
@m-tmatma m-tmatma added this to the v2.4.0 milestone Apr 28, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
🐛bug🦋 ■バグ修正(Something isn't working)
Projects
None yet
Development

No branches or pull requests

4 participants