https://bugs.freedesktop.org/show_bug.cgi?id=102009
Bug ID: 102009 Summary: Blender crashes when compiling OpenCL kernel Product: Mesa Version: git Hardware: x86-64 (AMD64) OS: Linux (All) Status: NEW Severity: normal Priority: medium Component: Drivers/Gallium/radeonsi Assignee: dri-devel@lists.freedesktop.org Reporter: mw@graph-ix.net QA Contact: dri-devel@lists.freedesktop.org
Created attachment 133182 --> https://bugs.freedesktop.org/attachment.cgi?id=133182&action=edit Blender crash dump
On Ubuntu 17.04 with a AMD Radeon R9 380 (Tonga Pro chipset), daily Mesa from Padoka PPA (version 1:17.3~git170731230100.df61a05~z~padoka0), both Blender 2.78 and 2.79 daily build (09eac0159db) crash when the OpenCL kernel is compiled for GPU rendering.
Steps to reproduce: 1. Start Blender with `CYCLES_OPENCL_SPLIT_KERNEL_TEST=1 ./blender` due to missing detection of OpenCL support (probably due to #101594). 2. Under Render settings, switch `Device` to `GPU Compute` and assert this setting is actually used. 3. Start a render and assert the OpenCL kernel is compiled.
Actual behavior: * Blender crashes during kernel compilation (crash dump of 2.79 build is attached).
Expected behavior: * Blender renders with OpenCL.
Addtional info: * `clinfo` and `glxinfo` output is attached as well.
https://bugs.freedesktop.org/show_bug.cgi?id=102009
--- Comment #1 from Markus mw@graph-ix.net --- Created attachment 133183 --> https://bugs.freedesktop.org/attachment.cgi?id=133183&action=edit glxinfo
https://bugs.freedesktop.org/show_bug.cgi?id=102009
--- Comment #2 from Markus mw@graph-ix.net --- Created attachment 133184 --> https://bugs.freedesktop.org/attachment.cgi?id=133184&action=edit clinfo
https://bugs.freedesktop.org/show_bug.cgi?id=102009
Jan Vesely jan.vesely@rutgers.edu changed:
What |Removed |Added ---------------------------------------------------------------------------- Blocks| |99553
Referenced Bugs:
https://bugs.freedesktop.org/show_bug.cgi?id=99553 [Bug 99553] Tracker bug for runnning OpenCL applications on Clover
https://bugs.freedesktop.org/show_bug.cgi?id=102009
--- Comment #3 from Jan Vesely jan.vesely@rutgers.edu --- the stacktrace does not say much, and it's not similar to segfault I see on my machine. Can you repost the stacktrace with mesa debug information?
thanks
https://bugs.freedesktop.org/show_bug.cgi?id=102009
--- Comment #4 from Markus mw@graph-ix.net --- Created attachment 134599 --> https://bugs.freedesktop.org/attachment.cgi?id=134599&action=edit gdb Stacktrace - Ubuntu 17.10
https://bugs.freedesktop.org/show_bug.cgi?id=102009
--- Comment #5 from Markus mw@graph-ix.net --- Created attachment 134600 --> https://bugs.freedesktop.org/attachment.cgi?id=134600&action=edit glxinfo - Ubuntu 17.10
https://bugs.freedesktop.org/show_bug.cgi?id=102009
--- Comment #6 from Markus mw@graph-ix.net --- Created attachment 134601 --> https://bugs.freedesktop.org/attachment.cgi?id=134601&action=edit clinfo - Ubuntu 17.10
https://bugs.freedesktop.org/show_bug.cgi?id=102009
--- Comment #7 from Markus mw@graph-ix.net --- I tried to obtain debug information from Mesa but was unable to do so (i.e. starting Blender with `MESA_DEBUG=context CYCLES_OPENCL_SPLIT_KERNEL_TEST=1 ./blender` did not generate any visible debug information).
What I did instead, is run Blender via gdb which then gave the attached stack trace at the time of crash. Looking at the trace, it appears like the crash is inside LLVM.
What is the best way to debug this further?
P.S.: As I just updated to Ubuntu 17.10 (Beta 2), I've also attached new glxinfo and clinfo output.
https://bugs.freedesktop.org/show_bug.cgi?id=102009
--- Comment #8 from Jan Vesely jan.vesely@rutgers.edu --- (In reply to Markus from comment #7)
I tried to obtain debug information from Mesa but was unable to do so (i.e. starting Blender with `MESA_DEBUG=context CYCLES_OPENCL_SPLIT_KERNEL_TEST=1 ./blender` did not generate any visible debug information).
What I did instead, is run Blender via gdb which then gave the attached stack trace at the time of crash. Looking at the trace, it appears like the crash is inside LLVM.
What is the best way to debug this further?
P.S.: As I just updated to Ubuntu 17.10 (Beta 2), I've also attached new glxinfo and clinfo output.
you can use CLOVER_DEBUG=clc,llvm,native CLOVER_DEBUG_FILE=blender to force clover to dump compiled CL programs (it should produce several dump files for .clc .ll .asm). Make sure the kernels are compiled and not loaded fomr ~/.cache/cycles/kernels
From there you can run and debug LLVM on the command line.
Note that I have been unable to reproduce this. blender-2.79 on OpenCL 1.1 Mesa 17.4.0-devel (git-138adc72e7) AMD Radeon R7 Graphics (CARRIZO / DRM 3.18.0 / 4.11.0-ROC-SC, LLVM 5.0.1) AMD Radeon (TM) R7 M340 (ICELAND / DRM 3.18.0 / 4.11.0-ROC-SC, LLVM 5.0.1)
instead it hits MAX_GLOBAL_BUFFERS assertion in radeonsi pipe driver. bumping the limit renders a picture albeit much different from CPU rendering
https://bugs.freedesktop.org/show_bug.cgi?id=102009
Jan Vesely jan.vesely@rutgers.edu changed:
What |Removed |Added ---------------------------------------------------------------------------- Summary|Blender crashes when |[clover, amdgcn] Blender |compiling OpenCL kernel |crashes when compiling | |OpenCL kernel
https://bugs.freedesktop.org/show_bug.cgi?id=102009
Timothy Arceri t_arceri@yahoo.com.au changed:
What |Removed |Added ---------------------------------------------------------------------------- Assignee|dri-devel@lists.freedesktop |mesa-dev@lists.freedesktop. |.org |org QA Contact|dri-devel@lists.freedesktop |mesa-dev@lists.freedesktop. |.org |org Component|Drivers/Gallium/radeonsi |Gallium/StateTracker/Clover
dri-devel@lists.freedesktop.org