Segfault when accessing Cycles Render Devices preferences with two OpenCL platforms, AMD Mesa Clover and Intel Gen9 NEO #68052
Labels
No Label
Interest
Alembic
Interest
Animation & Rigging
Interest
Asset Browser
Interest
Asset Browser Project Overview
Interest
Audio
Interest
Automated Testing
Interest
Blender Asset Bundle
Interest
BlendFile
Interest
Collada
Interest
Compatibility
Interest
Compositing
Interest
Core
Interest
Cycles
Interest
Dependency Graph
Interest
Development Management
Interest
EEVEE
Interest
EEVEE & Viewport
Interest
Freestyle
Interest
Geometry Nodes
Interest
Grease Pencil
Interest
ID Management
Interest
Images & Movies
Interest
Import Export
Interest
Line Art
Interest
Masking
Interest
Metal
Interest
Modeling
Interest
Modifiers
Interest
Motion Tracking
Interest
Nodes & Physics
Interest
OpenGL
Interest
Overlay
Interest
Overrides
Interest
Performance
Interest
Physics
Interest
Pipeline, Assets & IO
Interest
Platforms, Builds & Tests
Interest
Python API
Interest
Render & Cycles
Interest
Render Pipeline
Interest
Sculpt, Paint & Texture
Interest
Text Editor
Interest
Translations
Interest
Triaging
Interest
Undo
Interest
USD
Interest
User Interface
Interest
UV Editing
Interest
VFX & Video
Interest
Video Sequencer
Interest
Virtual Reality
Interest
Vulkan
Interest
Wayland
Interest
Workbench
Interest: X11
Legacy
Blender 2.8 Project
Legacy
Milestone 1: Basic, Local Asset Browser
Legacy
OpenGL Error
Meta
Good First Issue
Meta
Papercut
Meta
Retrospective
Meta
Security
Module
Animation & Rigging
Module
Core
Module
Development Management
Module
EEVEE & Viewport
Module
Grease Pencil
Module
Modeling
Module
Nodes & Physics
Module
Pipeline, Assets & IO
Module
Platforms, Builds & Tests
Module
Python API
Module
Render & Cycles
Module
Sculpt, Paint & Texture
Module
Triaging
Module
User Interface
Module
VFX & Video
Platform
FreeBSD
Platform
Linux
Platform
macOS
Platform
Windows
Priority
High
Priority
Low
Priority
Normal
Priority
Unbreak Now!
Status
Archived
Status
Confirmed
Status
Duplicate
Status
Needs Info from Developers
Status
Needs Information from User
Status
Needs Triage
Status
Resolved
Type
Bug
Type
Design
Type
Known Issue
Type
Patch
Type
Report
Type
To Do
No Milestone
No project
No Assignees
10 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: blender/blender#68052
Loading…
Reference in New Issue
No description provided.
Delete Branch "%!s(<nil>)"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
System Information
Operating system: Linux-5.1.20-desktop-2.mga7-x86_64-with-mageia-7-Official 64 Bits
Graphics card 1 (integrated): Mesa DRI Intel(R) HD Graphics 630 (Kaby Lake GT2) Intel Open Source Technology Center 4.5 (Core Profile) Mesa 19.1.3
Graphics card 2 (discrete): AMD VEGAM (DRM 3.30.0, 5.1.20-desktop-2.mga7, LLVM 8.0.0) X.Org 4.5 (Core Profile) Mesa 19.1.3
Blender Version
Broken: version: 2.80 (sub 75), branch: master, commit date: 2019-07-29 14:47, hash:
f6cb5f5449
2.81 (sub 0), branch: master, commit date: 2019-07-30 20:50, hash:
5359b7a033
Worked: unknown
Short description of error
My HP Spectre x360 laptop has an Intel HD Graphics 630 IGP and an AMD Radeon RX Vega M GL dGPU.
The AMD card uses Mesa's Clover OpenCL platform, which Blender does not seem to support (cf. #68009 and D2171).
I built and installed https://github.com/intel/compute-runtime for the Intel Gen9 IGP, and confirmed that it works fine for an example OpenCL program.
In Blender, when I access Edit > Preferences > System to review what OpenCL platforms were detected, Blender segfaults:
I tried to reproduce the issue with a self-compiled build of
036312ecff
(currentmaster
branch) and it does not crash, though it also does not list any platform for OpenCL.Note that before I installed intel/compute-runtime, no segfaults happened (but Clover wasn't recognized).
I now also get a segfault trying to get
system-info.txt
, so here's the report from before installing compute-runtime:system-info.txt
Complete
clinfo
output with both platforms installed:clinfo.txt
Exact steps for others to reproduce the error
Added subscriber: @akien
#76264 was marked as duplicate of this issue
Note that the bug may very well be in https://github.com/intel/compute-runtime
I'm trying to figure out how to get debug info from
libigc.so.1
andlibigdrcl.so
and I'll post an updated backtrace, and cross-post it on https://github.com/intel/compute-runtime.Updated backtrace with debug symbols:
Intel upstream bug report: https://github.com/intel/compute-runtime/issues/194
Added subscriber: @brecht
We've had problems in the past where there was a conflict between LLVM symbols, with Blender using a different LLVM version than the driver.
We try to hide these symbols on the Blender side (using
source/creator/blender.map
), but may have missed some.If your build did not include OSL / LLVM, that could explain why you couldn't reproduce it.
Thanks, that's quite likely. I'm trying to debug further issues with this OpenCL runtime and Blender upstream and it does sound like having a slightly unexpected LLVM or Clang version can lead to such wild issues: https://github.com/intel/compute-runtime/issues/195
I expect that we should be able to sort out the packaging with the upstream Intel packager in coming days, so we can revisit this issue at that time and see if that runtime still makes Blender crash and if so whether we need to hide some more symbols.
That's correct, my original build was with default options and thus
WITH_LLVM=OFF
andWITH_CYCLES_OSL=OFF
.I just did a new build with both ON and I still can't reproduce the crash though. But it looks like the official Blender 2.80 release doesn't link libLLVM dynamically, so I guess it links it statically? If so there could indeed be a symbol mismatch between Blender's statically linked LLVM and the one from my distro loaded dynamically by IGC.
Added subscriber: @lichtwerk
Hi @akien, is there any news on this?
(just trying to figure out the status of this report...)
Added subscriber: @iss
Similar or duplicate of #67954
Changed status from 'Needs User Info' to: 'Archived'
Since last asking for information it has been 7 or more days, due to the policy of our bug tracker we will have to close the report.
Added subscriber: @Metal3d
It could be nice to reopen that issue as we are several users without AMD or NVidia card.
Removing Clover and leaving only NEO device + "force_all" in source code to let Intel device to be listed in Blender, I can reproduce the segfault.
As I said in a previous bug report, I understand that you are very busy on several others tasks and that you only support CUDA and OpenCL for AMD devices for now.
But...
If someone is brave enough to try to help others users to make GPU render on Intel cards... that could be very nice :)
Note: LuxRender works well on Intel NEO devices, it's not as powerful than on NVidia but it's way faster than on CPU only, giving that possibility to Intel card owners could be a big step forward.
Changed status from 'Archived' to: 'Needs Developer To Reproduce'
Added subscriber: @smutz
@smutz, I committed a possible fix but it's a bit of a blind guess.
Can you test if the very latest 2.83 Beta Linux build works?
https://builder.blender.org/download/
Changed status from 'Needs Developer To Reproduce' to: 'Needs User Info'
The problem is the same with the latest 2.83 beta release. As the process becomes unresponsive, there is not even a core dump to analyze. Would a trace help?
Sometimes, the freeze happens as soon as I open the Preference window. The window opens but remain blank.
Here's another possible solution, does this build work?
https://builder.blender.org/download/temp-clew-deepbind/temp-clew-deepbind-blender-2.83-be8c8b8b9d4c-linux64.tar.xz
Sorry, the behavior is still the same. I also tried after removing ~/.config/blender but it makes no difference.
I generated 2 strace files. The last call is a call to futex() that doesn't return. I hope that can help a bit.
trace.log.gz
trace-noconfig.log.gz
I looked further using strace -ff
Before the bug, I see 4 active threads (out of 20+). After the bug, I notice 2 of them are waiting on a futex() call.
I don't think it's a coincidence that one of the last things it does is open
libopencl-clang.so.10
, which likely conflicts with Blender's LLVM/clang.Can you try running this, getting Blender to crash and attaching the output here?
Done.
blender_ld_debug.txt.gz
Changed status from 'Needs User Info' to: 'Needs Developer To Reproduce'
Added subscriber: @rafaeldomi
Added subscriber: @ThomasDinges
Changed status from 'Needs Developer To Reproduce' to: 'Archived'
OpenCL rendering support was removed in Blender 3.0.
The combination of the limited Cycles kernel implementation, driver bugs, and stalled OpenCL standard
has made maintenance too difficult. Thanks for your report, but it's unlikely that there will be further fixes for OpenCL.
For AMD GPUs, there is a new backend based on the HIP platform.
In Blender 3.0, this is supported on Windows with RDNA and RDNA2 generation discrete graphics cards.
It includes Radeon RX 5000 and RX 6000 series GPUs. Driver version Radeon Pro 21.Q4 or newer is required.
https://wiki.blender.org/wiki/Reference/Release_Notes/3.0/Cycles
https://code.blender.org/2021/11/next-level-support-for-amd-gpus/