本日は Blender の調査枠です。
最近、ユーザ設定の[システム]タブを開こうとしたり、アドオンによるファイル読み込みを行おうとすると、Blenderが何の警告も無しに強制終了する事象が発生するようになりました。
今回はこういった事象の調査方法と、私のケースの解決方法をまとめます。
調査方法では Blender 操作中の強制終了の他、起動時に即座に終了してしまうケースでもログを確認できます。
Blenderのデバッグログの確認
以下の手順で Blender を起動すると、コマンドライン上で Blender のデバッグログを確認できます。
1.Blender.exe のあるディレクトリで[SHIFTキー + 左クリック] -> PowerShell ウィンドウをここに開く を選択する。
2.以下のコマンドで Blender.exe を起動する。
・.\blender.exe --debug-all
3.この状態で Blender を操作すると、PowerShell にデバッグログが表示される。
エラーの確認と対処
デバッグログを開いた状態で、ユーザ設定の[システム]タブを開いてみました。
すると、Blender が強制終了し、PowerShell には以下のエラーログが表示されていました。
I0210 20:31:08.962450 52544 device_cuda.cpp:2096] CUEW initialization succeeded I0210 20:31:08.963430 52544 device_cuda.cpp:2098] Found precompiled kernels I0210 20:31:09.077450 52544 device_opencl.cpp:58] CLEW initialization succeeded. Error: EXCEPTION_ACCESS_VIOLATION
device_opencl.cpp のコードで EXCEPTION_ACCESS_VIOLATION のエラーが発生しているらしい。
調べてみると、以下の記事がヒットしました。
qiita.com
記事にある通り、以下の内容の Blender.bat を作成してみます。
・Blender.bat
cd C:\Program Files\Blender Foundation\Blender set CYCLES_OPENCL_TEST=NONE start blender.exe pause
作成した Blender.bat を実行して Blender を起動し、ユーザ設定の[システム]タブを開いてみると……。
無事、[システム]タブを開くことができました。
しかし参考記事にもある通り、何故こうなったか、何故テストを無効化すると問題なくなるのかは調べてもよく分からず……。
起動時ではなく、[システム]タブを開いた時に発生するのはグラボの情報取得辺りが原因?