MRが楽しい

MRやVRについて学習したことを書き残す

Blenderが警告無しに強制終了する問題に対処する(Blenderのデバッグログの確認)

本日は Blender の調査枠です。
最近、ユーザ設定の[システム]タブを開こうとしたり、アドオンによるファイル読み込みを行おうとすると、Blenderが何の警告も無しに強制終了する事象が発生するようになりました。
f:id:bluebirdofoz:20190210204856j:plain

今回はこういった事象の調査方法と、私のケースの解決方法をまとめます。
調査方法では Blender 操作中の強制終了の他、起動時に即座に終了してしまうケースでもログを確認できます。

Blenderデバッグログの確認

以下の手順で Blender を起動すると、コマンドライン上で Blenderデバッグログを確認できます。

1.Blender.exe のあるディレクトリで[SHIFTキー + 左クリック] -> PowerShell ウィンドウをここに開く を選択する。
f:id:bluebirdofoz:20190210204906j:plain

2.以下のコマンドで Blender.exe を起動する。
・.\blender.exe --debug-all
f:id:bluebirdofoz:20190210205010j:plain

3.この状態で Blender を操作すると、PowerShellデバッグログが表示される。
f:id:bluebirdofoz:20190210205020j:plain

エラーの確認と対処

デバッグログを開いた状態で、ユーザ設定の[システム]タブを開いてみました。
すると、Blender が強制終了し、PowerShell には以下のエラーログが表示されていました。
f:id:bluebirdofoz:20190210205032j:plain

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

f:id:bluebirdofoz:20190210205053j:plain

作成した Blender.bat を実行して Blender を起動し、ユーザ設定の[システム]タブを開いてみると……。
f:id:bluebirdofoz:20190210205101j:plain
無事、[システム]タブを開くことができました。
しかし参考記事にもある通り、何故こうなったか、何故テストを無効化すると問題なくなるのかは調べてもよく分からず……。
起動時ではなく、[システム]タブを開いた時に発生するのはグラボの情報取得辺りが原因?