DirectWriteをOnにすると終了時にApplication Errorが発生する

  1. Mery Ver3.3.4、3.3.5 (x64)
    Windows 11 Pro (x64) 10.0.22000

    Meryを2.6.7からUpdateしたところ、動作自体は正常なようですが終了時にイベントログにErrorが出力されます。
    発生するのはOptionのDirectWriteがOnの状態で起動する、もしくは起動後にOnにした場合です。Offの状態で起動しそのまま終了した場合は発生しません。
    イベントログの一部:
    障害が発生しているアプリケーション名: Mery.exe、バージョン: 3.3.5.0、タイム スタンプ: 0x6220b41a
    障害が発生しているモジュール名: Mery.exe、バージョン: 3.3.5.0、タイム スタンプ: 0x6220b41a
    例外コード: 0xc0000005
    障害オフセット: 0x0000000000009a49

     |  sazanka50  |  返信
  2. ご報告ありがとうございます。

    検証してみたのですが現象を再現できませんでした。

    【検証環境】
    Windows 11 Pro (x64) 21H2 22000.556
    グラフィックボード: GeForce GT 520

    【検証結果】
    以下のテストを行い、イベントビューアーを確認しました。

    ・Mery 3.3.4、3.3.5 で DirectWrite をオンにして終了する
    → エラー発生せず

    ・Mery 2.6.7 から 3.3.5 へアップデート後、DirectWrite をオンにして終了する
    → エラー発生せず

    ・DirectWrite をオンにした状態で起動、終了する
    → エラー発生せず

    ・背景画像を設定してみる
    → エラー発生せず

    ・DirectWrite の設定を変えてみる
    → エラー発生せず

    ・カスタムフォントを設定してみる
    → エラー発生せず

    Windows 10、Windows 11 プレビュー版でも確認してみたのですが、現象を再現できませんでした。差し支えなければ DirectWrite の設定を教えていただけますでしょうか?

    ・DirectWrite を有効にする (オン)
    ・自動設定 (オン/オフ)
    ・アンチエイリアスモード
    ・レンダリングモード
    ・ガンマ
    ・コントラスト
    ・ClearType レベル
    ・カラーフォントを有効にする (オン/オフ)
    ・合字を有効にする (オン/オフ)
    ・等幅半角字形を有効にする (オン/オフ)
    ・フォールバックフォントの設定

    ・背景画像を設定されているかどうか
    ・カスタムフォントを使われているかどうか (Mery.exe と同じ場所に Fonts フォルダーがあるかどうか)

    また、プラグインを導入されていたり、イベントマクロを使っている場合はそれらが関係していることも考えられます。

    Mery のポータブル版 (解凍するだけで使えて環境は汚さず、普段お使いの Mery の設定にも影響はありません) を使ってクリーンな Mery の状態でエラーが発生するかどうかご確認いただけると解決の糸口になるかもしれません。

    クリーンな状態だとエラーが発生しない場合は、プラグインやマクロの影響か、何かしらの設定の組み合わせによってエラーが発生するのかもしれません。

    クリーンな状態でもエラーが発生する場合は、以下のような原因も考えられます。

    ・常駐アプリとの競合
    → 例えば MacType など DirectWrite の動作に影響を及ぼすアプリや、DirectX の機能を使うアプリやゲームが常駐していたりなど。

    ・ウイルスチェックソフトとの競合
    → Mery は野良アプリなのでウイルスチェックソフトによって動作が妨げられる場合があります。セキュリティ的に問題がなければ Mery を除外設定してみてください。

    ・グラフィックボードの相性
    → DirectWrite はグラフィックボード (GPU) の機能を使うので、グラフィックボードの種類によっては正しく動作しないことがあるかもしれません。(稀なケースだと思いますが)

    よろしくお願いいたします。

     |  Kuro  |  返信
  3. DirectWriteの設定値
    ・DirectWrite を有効にする :オン
    ・自動設定 :オフ
    ・アンチエイリアスモード:標準
    ・レンダリングモード:Natural Symmetric
    ・ガンマ:1.80
    ・コントラスト:50
    ・ClearType レベル:100
    ・カラーフォントを有効にする :オン
    ・合字を有効にする :オフ
    ・等幅半角字形を有効にする :オン
    ・フォールバックフォントの設定:追加なし

    背景画像、カスタムフォントは使用していません。システムにインストール済みのフォントを使用しています。
    ・常駐アプリとの競合
     ゲームなどはありませんがWindowsTerminalがたしかDirectWriteを使用しているようですが、あってもなくても変わりませんでした。

    ・ウイルスチェックソフトとの競合
     WindowsDefenderなので、Explorerからポータブル版を初回起動時にダイアログが出ますが「動作する」で実行しています。

    ポータブル版で、起動・DirectWriteをオン・終了で発生しました。

    少し原因となる箇所が狭くなりました。この現象のトリガーとなる操作はDirectWriteの設定画面で「DirectWriteを有効にする」をONにした時のようです。この設定画面ですぐにOFFにしたりキャンセルした場合でも発生します。ONにしたときにおそらくDirectWriteを使用しているのではないかと思いますが、その時使用したもの(DirectXがらみ)が終了時に落ちているのではと想像しています。

    発生環境
    ・CPU 11th Gen Intel Core i5-11400 @ 2.60GHz
    ・GPU Intel UHD Graphics 730
    Microsoft DirectX 12
    OpenCL 3.0
    Vulkan 1.2.170
    ・モニター 3台

     |  sazanka50  |  返信
  4. ご返信ありがとうございます。

    いただいた情報をもとに設定値を合わせて検証してみたのですが、エラーは発生しないようで現象を再現できませんでした。

    > ポータブル版で、起動・DirectWriteをオン・終了で発生しました。

    ポータブル版でもエラーが発生するということは、設定上の問題ではなく環境に依存した問題かもしれません。

    Mery ではないのですが他のいくつかのアプリで Intel UHD Graphics を搭載したパソコンだと 0xc0000005 エラーが発生、クラッシュするという情報が見つかりました。

    【参考1】Office 2019 Apps Crashing after various updates
    https://docs.microsoft.com/en-us/answers/questions/569341/office-2019-apps-crashing-after-various-updates.html

    【参考2】Desktop client crashes on Windows 10 laptop with Intel UHD 620 · Issue #896 · nextcloud/desktop
    https://github.com/nextcloud/desktop/issues/896

    こちらで検証できれば良いのですが同じ環境は用意できないので、お手数をお掛けしますが、ひとつひとつご確認いただいて原因を調べていくしかなさそうです。

    上記の参考サイトによると Intel UHD Graphics のドライバーが関係しているという話もあるようなので、もしドライバーが最新でなければドライバーを更新してみていただけるとありがたいのですが…。

    それから、こちらで検証してみた内容は以下のとおりです。

    ・Intel UHD Graphics 搭載のパソコンも持っていないため、一番それに近そうな Intel HD Graphics で確認してみたのですが、エラーは発生しませんでした。

    ・3 台モニターの環境は Windows 10 しか用意できなかったのですが、エラーは発生しませんでした。

    ・Intel UHD Graphics ということでもしかして 4K モニターなどの解像度の高いものを使われているのでしょうか?
    → 4K モニターも持っていないため、画面のスケールは 150%、175% で検証してみたのですが、これもエラーは発生しませんでした。

    > この設定画面ですぐにOFFにしたりキャンセルした場合でも発生します。

    ON と OFF を切り替えるとそのタイミングですぐにイベントビューアーにエラーログが出るということでしょうか?(つまり、ON、OFF を連打するとエラーログがどんどん出る感じでしょうか)

    それとも Mery を閉じたタイミングで 1 度だけエラーログが出る感じでしょうか?

    また、エラーログの内容は最初にいただいた内容と同じでしょうか。(ほかに何か追加の情報があればありがたいのですが…)

    とりあえず、現状の調査内容のご報告でした。

    しかし、謎ですね…。他に何かお気づきの点などがありましたら、ささいなことでもかまいませんのでご連絡をいただけると助かります。

    DirectWrite がらみで他に考えられることとしては、フォントキャッシュサービスか、フォールトトレラントヒープあたりか…。私のほうでもどうにかしてエラーを再現できないか、引き続き検証してみたいと思います。

     |  Kuro  |  返信
  5. ON、OFF を連打した時ではなくMery を閉じたタイミングで 1 度だけエラーログが出ます。

    Intel UHD Graphicsドライバを更新し問題が解決いたしました。Windows Updateでは最新でしたがインテルのサイトに2022/3/8付で最新版がありました。

    旧ドライバ:2021/03/22 27.20.100.9415
    新ドライバ:2022/02/18 30.0.101.1404

    いろいろとお手数をおかけしました。ありがとうございました。

     |  sazanka50  |  返信
  6. ご返信ありがとうございます。

    > ON、OFF を連打した時ではなくMery を閉じたタイミングで 1 度だけエラーログが出ます。

    なるほど、終了時の処理でエラーが発生しているということになりますね。うーん、気になります。

    > Intel UHD Graphicsドライバを更新し問題が解決いたしました。

    ドライバーの更新で改善されたとのことでひとまず安心しました。

    インテルサイトのドライバーの更新履歴を見ると、30.0.100.9684 (2021/07/14) で「Windows® 11 のサポート」となっているので、それ以前のドライバーだと Win11 では何かしら問題があったのかもしれないですね。

    それにしても DirectX を使うアプリはたくさんあると思いますが、Mery だけエラーが発生するというのは気になるところではあります。

    また何かお気づきの点などございましたらよろしくお願いいたします。

     |  Kuro  |  返信
スポンサーリンク