openSiv3D 0.4.3でのVSのバージョンについて
furafura 2020/12/25(Fri) 18:58
openSiv3D 0.4.3で新規プロジェクトを作成した時の、標準サンプルでの話です。
0x00007FF976663244 (combase.dll) で例外がスローされました (OpenSiv3D(0.4.3)1.exe 内): 0xC0000005: 場所 0x0000000000000010 の読み取り中にアクセス違反が発生しました
0x00007FF976B265AE (ntdll.dll) で例外がスローされました (OpenSiv3D(0.4.3)1.exe 内): 0xC0000005: 場所 0x0000000000000000 の読み取り中にアクセス違反が発生しました
のような感じで、特に終了時にエラーが頻発するようになりました。
タイミングによっては出ない場合もあります。
私の考えでは、コンパイラのバージョンが関係していると思いました。
うっかりアップデートしてしまって、16.8.3になっておりました。
それで、openSiv3Dでの表記に従って
Visual Studio 2019 version 16.4-
を入れ直そうと思うのですが、16.4Xでどれが好ましいのか教えていただきたいと思います。
https://docs.microsoft.com/ja-jp/visualstudio/releases/2019/history
によると、
16.4.16が新しいようです。
何か見当違いをしている可能性はあると思いますが、以上宜しくお願い致します。
furafura 2020/12/28(Mon) 19:48
VSをアンインストールしてVSの16.4.16を入れ直してみたのですが、思わしくないですね。
コンパイラのバージョンは無関係かも知れません。
リリースでもデバッグモードでも同じ印象。
これまでは特に問題は起きていなかったのですが、最近急にアクセス違反等が出るようになっています。
自作の方でエラーはありうる事かもしれませんが、標準のサンプルで起動中や終了時にエラーが出るのは気持ちが悪いです。
基本的に各種ドライバ等は新しいはずですが……。
再度見直してみますが、別のPCで構築し直して確認の必要があるかも知れません。ちょっと時間かかりそうです。
debugモードにして眺めていると、WM_DEVICECHANGEが多発している感じですが、関係ないかも知れません。
独り言になってしまい、申し訳ありません。
furafura 2020/12/31(Thu) 19:06
VSの16.4.16を、別のメーカー製PCでほとんどイタズラしていない環境にも入れて試してみました。
私の確認した範囲では問題が出ませんでした。
問題が発生しているPCに、挙動不審の原因がある可能性がより高まったと考えています。
但し、原因がわからないのですが……。
念のために、デバッグモードで出た情報を、長いですがzipにして公開しました。
Audio関係で何か出ている印象ですが……??
https://drive.google.com/file/d/1ic_Wbrgwoy3vDTI1PYLYVW121AG8I4-j/view?usp=sharing
Reputeless 2020/12/31(Thu) 21:30
Visual Studio は最新のものを使っていただいて問題ありません。
ご使用のオーディオデバイスと OpenSiv3D の相性が悪い可能性があり、
v0.6 で OpenSiv3D 側のコードを修正したいと思います。
問題の追跡のために GitHub に Issue を立てました。
https://github.com/Siv3D/OpenSiv3D/issues/550
v0.6 ではまだ Audio の実装に着手していないため、実装時期になったら動作検証を依頼したいです。
差し支えなければ上記 Issue にオーディオデバイス名をご返信ください。
ご協力が必要な場合に返信で通知を送ります。
WM_DEVICECHANGE の多発も気になります。
原因となる周辺機器が判明しましたらお知らせください。
Reputeless 2020/12/31(Thu) 21:37
OpenSiv3D の再ビルドで、
CAudio_X28.cpp 78 行目の ::FreeLibrary(m_xaudio28); をコメントアウトすると
解決するかもしれません。可能な場合は試してみてください。
https://zenn.dev/reputeless/articles/article-build-siv3d
furafura 2021/01/01(Fri) 22:52
返信が遅くなり、更なる御迷惑をお掛けしております。
動作検証については、必要であれば、結果にかかわらず出来る事であれば何でもやりたいと思いますので、お知らせ下さい。
私が最初から呼び出し履歴や出力を提示しなかったのは、挙動が安定しないためでした。それで当初コンパイラのバージョンに可能性が無いかと考えてみました。
症状としては、
1.すぐに終了するとエラーが出る可能性が低い。
2.放っておくと突然停止するアクセス違反がある場合。
3.終了時にアクセス違反がある場合。
と後は4.になるかも知れませんが、無事に終了したように感じられる場合もあります。
そして、呼び出し履歴についてはntdll.dllとかいろんなのがあって、要するに再現性がはっきりしません。確率として高いのは3.ですが、必ず違反が出るわけではないのが厄介です。
参考までに、私には、昨日と違う内容に思える、症状3.でのものです。
https://drive.google.com/file/d/1SVRSVxqa_ZNgT0seVehMD_8rbV12O2oF/view?usp=sharing
ここ2-3ヶ月以内で、挙動不審になった印象がありまして、それ自体は私の環境の問題なのかも知れませんが、いつ何が変わった事による症状なのか、元々環境に隠れた問題が出ているのかがわからないという感じでございます。
別の、多分巧く行っているPCはCF-QV8で、サウンドデバイスはRealtekで、MS社のドライバで10.0.18362.1みたいです。
ウイルス感染やセキュリティソフトが悪影響を及ぼしている可能性も探ったのですが、感染していない感じなのと、他のアプリケーションではアクセス違反はほぼ認められない事もあって、現時点ではあまり関係無いのではないかと勝手に思います。
CF-QV8は、サードパーティ製のセキュリティソフトは削除してあります。
OpenSiv3Dの再ビルドについては、コメントの確認が今でしたので出来るだけ近い内に試したいと思います。済みません。
オーディオデバイスの問題と考えて話を進めても良い様でしたら、以下の内容で良ければ指定のIssueに書き込みたいと思います。
----------------------------------------------------------------------------------------
https://jp.msi.com/Motherboard/X299-GAMING-PRO-CARBON-AC/Specification
問題のPCでのオーディオデバイスは、コレのオンボードのを使っています。
Realtek HD Audio Drivers 6.0.1.8470みたいです。
確認したところではMSIでは最新が6.0.1.8619みたいです。
勝手に信頼していたMSIのLIVE UPDATE6では更新情報は提供されませんでした。
仕方無く、念のため手動にて更新しました。一度インストーラにより既存ドライバがアンインストールされるのですが、再起動中Windowsによりブルーバックの致命的エラーが出て、自動再起動したんですが、現在は無事起動し音も出てますし、ドライバのバージョンもデバイスマネージャー上は変化したので更新には成功したと捉えています。