Official built of Blender crashes with opencl-intel package installed - not if I compile Blender myself or using fedora package #73024

Closed
opened 2020-01-10 15:20:16 +01:00 by Patrice · 20 comments

System Information
Operating system: Fedora 31
Graphics card: Intel Corporation UHD Graphics 620 (Whiskey Lake)

Blender Version
Broken: (example: 2.81a

Short description of error

  • Blender official crashes when Rendering with LuxCoreRender on OpenCL devices
  • No problem with Fedora RPM from repository

Exact steps for others to reproduce the error

I tried with 2 versions:

  • the built 2.81a from blender website
  • the RPM from Fedora package (not the flathub version, I use the RPM from repository).

I only:

  • open Blender

  • press F12 to render the default cube

  • Official built: crash

  • Fedora built: rendering OK

Both can list my OpenCL device in GPU list in LuxCoreRender tab.

The "problem" is that Fedora Package doesn't have ffmpeg options and so on.., and is often not quickly updated. I'd rather use the official build.

Yes, I know :) , Blender only officially supports NVidia CUDA/OpenCL and Radeon for Cycles, but here I'm using LuxCoreRender that is able to use any OpenCL device.

Here some informations:

$ clinfo --list
Platform #0: Intel(R) OpenCL HD Graphics
 `-- Device #0: Intel(R) Gen9 HD Graphics NEO

$ dnf info intel-opencl
Last metadata expiration check: 0:01:11 ago on Fri Jan 10 15:17:07 2020.
Installed Packages
Name         : intel-opencl
Version      : 19.52.15209
Release      : 1.fc31
Architecture : x86_64
Size         : 4.8 M
Source       : intel-opencl-19.52.15209-1.fc31.src.rpm
Repository   : @System
From repo    : copr:copr.fedorainfracloud.org:jdanecki:intel-opencl
Summary      : Intel(R) Graphics Compute Runtime for OpenCL(TM)
URL          : https://github.com/intel/compute-runtime
License      : MIT
Description  : Intel(R) Graphics Compute Runtime for OpenCL(TM).

$ dnf info blender
Last metadata expiration check: 0:01:36 ago on Fri Jan 10 15:17:07 2020.
Installed Packages
Name         : blender
Epoch        : 1
Version      : 2.81a
Release      : 3.fc31
Architecture : x86_64
Size         : 149 M
Source       : blender-2.81a-3.fc31.src.rpm
Repository   : @System
From repo    : updates
Summary      : 3D modeling, animation, rendering and post-production
URL          : http://www.blender.org
License      : GPLv2
Description  : Blender is the essential software solution you need for 3D, from modeling,
             : animation, rendering and post-production to interactive creation and playback.
             : 
             : Professionals and novices can easily and inexpensively publish stand-alone,
             : secure, multi-platform content to the web, CD-ROMs, and other media.

The "official" built of Blender gives that crash log:

# Blender 2.81 (sub 16), Commit date: 2019-12-04 11:32, Hash f1aa4d18d49d
Connected to node manager  # Info
Saving copy of  blend file.  # Info
local ready  # Info
local is synced  # Info
local is synced  # Info
Connected to render node server  # Info
bpy.context.space_data.context = 'RENDER'  # Property
bpy.context.scene.render.engine = 'LUXCORE'  # Property
bpy.context.scene.luxcore.config.device = 'OCL'  # Property
bpy.context.scene.luxcore.opencl.devices[0].enabled = True  # Property
bpy.context.scene.luxcore.opencl.use_native_cpu = False  # Property

# backtrace
./blender(BLI_system_backtrace+0x1d) [0x14ee84d]
./blender() [0x12cbb79]
/lib64/libpthread.so.0(+0x14b20) [0x7fe592c19b20]
/lib64/libpthread.so.0(raise+0x145) [0x7fe592c199a5]
/lib64/libpthread.so.0(+0x14b20) [0x7fe592c19b20]

Note: Cycles doesn't see my OpenCL device while LuxCoreRender is able to use it, that's a pitty.

**System Information** Operating system: Fedora 31 Graphics card: Intel Corporation UHD Graphics 620 (Whiskey Lake) **Blender Version** Broken: (example: 2.81a **Short description of error** - Blender official crashes when Rendering with LuxCoreRender on OpenCL devices - No problem with Fedora RPM from repository **Exact steps for others to reproduce the error** I tried with 2 versions: - the built 2.81a from blender website - the RPM from Fedora package (not the flathub version, I use the RPM from repository). I only: - open Blender - press F12 to render the default cube - Official built: crash - Fedora built: rendering OK Both can list my OpenCL device in GPU list in LuxCoreRender tab. The "problem" is that Fedora Package doesn't have ffmpeg options and so on.., and is often not quickly updated. I'd rather use the official build. Yes, I know :) , Blender only officially supports NVidia CUDA/OpenCL and Radeon for Cycles, but here I'm using LuxCoreRender that is able to use any OpenCL device. Here some informations: ``` $ clinfo --list Platform #0: Intel(R) OpenCL HD Graphics `-- Device #0: Intel(R) Gen9 HD Graphics NEO $ dnf info intel-opencl Last metadata expiration check: 0:01:11 ago on Fri Jan 10 15:17:07 2020. Installed Packages Name : intel-opencl Version : 19.52.15209 Release : 1.fc31 Architecture : x86_64 Size : 4.8 M Source : intel-opencl-19.52.15209-1.fc31.src.rpm Repository : @System From repo : copr:copr.fedorainfracloud.org:jdanecki:intel-opencl Summary : Intel(R) Graphics Compute Runtime for OpenCL(TM) URL : https://github.com/intel/compute-runtime License : MIT Description : Intel(R) Graphics Compute Runtime for OpenCL(TM). $ dnf info blender Last metadata expiration check: 0:01:36 ago on Fri Jan 10 15:17:07 2020. Installed Packages Name : blender Epoch : 1 Version : 2.81a Release : 3.fc31 Architecture : x86_64 Size : 149 M Source : blender-2.81a-3.fc31.src.rpm Repository : @System From repo : updates Summary : 3D modeling, animation, rendering and post-production URL : http://www.blender.org License : GPLv2 Description : Blender is the essential software solution you need for 3D, from modeling, : animation, rendering and post-production to interactive creation and playback. : : Professionals and novices can easily and inexpensively publish stand-alone, : secure, multi-platform content to the web, CD-ROMs, and other media. ``` The "official" built of Blender gives that crash log: ``` # Blender 2.81 (sub 16), Commit date: 2019-12-04 11:32, Hash f1aa4d18d49d Connected to node manager # Info Saving copy of blend file. # Info local ready # Info local is synced # Info local is synced # Info Connected to render node server # Info bpy.context.space_data.context = 'RENDER' # Property bpy.context.scene.render.engine = 'LUXCORE' # Property bpy.context.scene.luxcore.config.device = 'OCL' # Property bpy.context.scene.luxcore.opencl.devices[0].enabled = True # Property bpy.context.scene.luxcore.opencl.use_native_cpu = False # Property # backtrace ./blender(BLI_system_backtrace+0x1d) [0x14ee84d] ./blender() [0x12cbb79] /lib64/libpthread.so.0(+0x14b20) [0x7fe592c19b20] /lib64/libpthread.so.0(raise+0x145) [0x7fe592c199a5] /lib64/libpthread.so.0(+0x14b20) [0x7fe592c19b20] ``` Note: Cycles doesn't see my OpenCL device while LuxCoreRender is able to use it, that's a pitty.
Author

Added subscriber: @Metal3d

Added subscriber: @Metal3d
Author

I confirm that compiling myself with fedora openimage opencolor oidn and so on... is OK. The interface doesn't freeze when I go to settings, and LuxCoreRender works.

BTW: my GPU is still not seen in OpenCL tab, while LuxCoreRender see it and can use it. Any way to understand why Blender cannot see my OpenCL device ? (I will open a new issue for that)

I confirm that compiling myself with fedora openimage opencolor oidn and so on... is OK. The interface doesn't freeze when I go to settings, and LuxCoreRender works. BTW: my GPU is still not seen in OpenCL tab, while LuxCoreRender see it and can use it. Any way to understand why Blender cannot see my OpenCL device ? (I will open a new issue for that)

Added subscriber: @mano-wii

Added subscriber: @mano-wii

Changed status from 'Needs Triage' to: 'Archived'

Changed status from 'Needs Triage' to: 'Archived'
Germano Cavalcante self-assigned this 2020-01-13 14:16:45 +01:00

Thanks for the report.

Have you tried to report this issue to the Lux Core bug tracker?
https://github.com/LuxCoreRender/BlendLuxCore/issues

Cycles does not support all versions of OpenCL, nor all GPUs. There is a reason for that.

backtrace shows that the crash occurs in the blender module. But you can't tell from it if it's a bug or a misuse of the API.

BlendLuxCore is not an addon officially maintained by blender, so unless we can reproduce the problem without that addon, there's not much we can do.

Thanks for the report. Have you tried to report this issue to the Lux Core bug tracker? https://github.com/LuxCoreRender/BlendLuxCore/issues Cycles does not support all versions of OpenCL, nor all GPUs. There is a reason for that. backtrace shows that the crash occurs in the blender module. But you can't tell from it if it's a bug or a misuse of the API. BlendLuxCore is not an addon officially maintained by blender, so unless we can reproduce the problem without that addon, there's not much we can do.
Author

Hi,

What I'm reporting is that "your" built is not compatible with LuxCore addon with Intel, while the one I compiled myself on Fedora or the RPM from repository is OK. Actually there is another problem:

  • I removed LuxCore Addons
  • I start "your" blender build
  • I go on settings => Blender Freezes

I tried to compile with your built dependencies and Blender Crashes:

  • when I go to settings, with or without Luxcore enabled
  • when I launch LuxCore render (freeze)

One more time, if I compile with distribution packages (OpenImage, OIDN, ...) there is no problem (excepting Cycles ignoring my card, but yes I know that you do not support it for now)

What I'm pointing is that the official build from blender.org crashes with opencl-intel package. If I remove the driver, your build of Blender works as excpected. So, no, LuxCoreAddon is not the problem :)

Hi, What I'm reporting is that "your" built is not compatible with LuxCore addon with Intel, while the one I compiled myself on Fedora or the RPM from repository is OK. Actually there is another problem: - I removed LuxCore Addons - I start "your" blender build - I go on settings => Blender Freezes I tried to compile with your built dependencies and Blender Crashes: - when I go to settings, with or without Luxcore enabled - when I launch LuxCore render (freeze) One more time, if I compile with distribution packages (OpenImage, OIDN, ...) there is no problem (excepting Cycles ignoring my card, but yes I know that you do not support it for now) What I'm pointing is that the official build from blender.org crashes with opencl-intel package. If I remove the driver, your build of Blender works as excpected. So, no, LuxCoreAddon is not the problem :)
Patrice changed title from Official built of Blender crashes at render with LuxCoreRender (not with RPM version) to Official built of Blender crashes with opencl-intel package intalled - not if I compile Blender myself or using fedora package 2020-01-13 16:28:57 +01:00
Patrice changed title from Official built of Blender crashes with opencl-intel package intalled - not if I compile Blender myself or using fedora package to Official built of Blender crashes with opencl-intel package installed - not if I compile Blender myself or using fedora package 2020-01-13 16:30:17 +01:00

Changed status from 'Archived' to: 'Needs Triage'

Changed status from 'Archived' to: 'Needs Triage'
Author

You can see that comment: https://github.com/intel/compute-runtime/issues/194#issuecomment-517619116 it seems that the official build uses static LLVM

This comment also seems to resolve the "hang" that I have as well: https://github.com/intel/compute-runtime/issues/194#issuecomment-518299895

You can see that comment: https://github.com/intel/compute-runtime/issues/194#issuecomment-517619116 it seems that the official build uses static LLVM This comment also seems to resolve the "hang" that I have as well: https://github.com/intel/compute-runtime/issues/194#issuecomment-518299895
Author

Just one more message to be sure that:

  • you don't think my message is aggressive :) I'm not English and I probably write without the good words
  • I don't ask to be able to use NEO opencl with Cycles, I know that you work hard to make Blender great, I can use crowd-render on external GPU for Cycles

I just realized that the problem is not Lux but the intel-opencl package that breaks the official build while compiling myself and/or using Fedora build is OK. I'm sure that the problem comes from linked libraries or something like that.

Here is my CMakeCache file that I use with Blender 2.82 branch if it can help

Regards,

CMakeCache.txt

Just one more message to be sure that: - you don't think my message is aggressive :) I'm not English and I probably write without the good words - I don't ask to be able to use NEO opencl with Cycles, I know that you work hard to make Blender great, I can use crowd-render on external GPU for Cycles I just realized that the problem is not Lux but the intel-opencl package that breaks the official build while compiling myself and/or using Fedora build is OK. I'm sure that the problem comes from linked libraries or something like that. Here is my CMakeCache file that I use with Blender 2.82 branch if it can help Regards, [CMakeCache.txt](https://archive.blender.org/developer/F8275861/CMakeCache.txt)
Author

Note that the problem is very similar with issue blender/blender#68052 - I needed to remove Clover too.

Note that the problem is very similar with issue blender/blender#68052 - I needed to remove Clover too.
Author

Hello,

The problem remains with 2.82 beta, downloaded from blender.org. Blender freezes at start time, no way to exit. IfI build my own, no problem.

I give an strace output as attachment. blender-2.82-freeze

Regards

Hello, The problem remains with 2.82 beta, downloaded from blender.org. Blender freezes at start time, no way to exit. IfI build my own, no problem. I give an strace output as attachment. [blender-2.82-freeze](https://archive.blender.org/developer/F8282166/blender-2.82-freeze) Regards
Member

Added subscriber: @Jeroen-Bakker

Added subscriber: @Jeroen-Bakker
Member

Changed status from 'Needs Triage' to: 'Needs Developer To Reproduce'

Changed status from 'Needs Triage' to: 'Needs Developer To Reproduce'
Member

@Metal3d could it be that you don't compile with LLVM and that works as there are no conflicts during symbol loading of common shared objects? see https://developer.blender.org/T68052

@Metal3d could it be that you don't compile with LLVM and that works as there are no conflicts during symbol loading of common shared objects? see https://developer.blender.org/T68052

Added subscriber: @jdanecki

Added subscriber: @jdanecki
Author

In #73024#854467, @Jeroen-Bakker wrote:
@Metal3d could it be that you don't compile with LLVM and that works as there are no conflicts during symbol loading of common shared objects? see https://developer.blender.org/T68052

mmmhh... AFAIK I activated LLVM build.

$ grep -i LLVM ../build_linux/CMakeCache.txt 
LLVM_CONFIG:FILEPATH=/usr/bin/llvm-config
//Path to the LLVM library path
LLVM_LIBPATH:PATH=/usr/lib64
LLVM_LIBRARY:FILEPATH=/usr/lib64/libLLVM-9.0.0.so
//Path to the LLVM installation
LLVM_ROOT_DIR:PATH=/usr
//Link with LLVM static libraries
LLVM_STATIC:BOOL=OFF
//Version of LLVM to use
LLVM_VERSION:STRING=9.0.0
WITH_LLVM:BOOL=ON
cycles_kernel_osl_LIB_DEPENDS:STATIC=general;cycles_render;general;/usr/local/lib64/liboslcomp.so;general;/usr/local/lib64/liboslexec.so;general;/usr/local/lib64/liboslquery.so;general;/usr/lib64/libOpenImageIO.so;general;/usr/lib64/libpng.so;general;/usr/lib64/libz.so;general;/usr/lib64/libjpeg.so;general;/usr/lib64/libz.so;general;/usr/lib64/libboost_filesystem.so;general;/usr/lib64/libboost_regex.so;general;/usr/lib64/libboost_thread.so;general;-lpthread;general;/usr/lib64/libboost_date_time.so;general;/usr/lib64/libboost_wave.so;general;/usr/lib64/libboost_locale.so;general;/usr/lib64/libboost_system.so;general;/usr/lib64/libboost_chrono.so;general;/usr/lib64/libboost_atomic.so;general;/usr/lib64/libboost_serialization.so;general;/usr/lib64/libtiff.so;general;/usr/lib64/libHalf.so;general;/usr/lib64/libIex.so;general;/usr/lib64/libIlmImf.so;general;/usr/lib64/libIlmThread.so;general;/usr/lib64/libImath.so;general;/usr/lib64/libLLVM-9.0.0.so;
//Details about finding LLVM
FIND_PACKAGE_MESSAGE_DETAILS_LLVM:INTERNAL=[/usr/lib64/libLLVM-9.0.0.so][v()]
//ADVANCED property for variable: LLVM_CONFIG
LLVM_CONFIG-ADVANCED:INTERNAL=1
//ADVANCED property for variable: LLVM_LIBPATH
LLVM_LIBPATH-ADVANCED:INTERNAL=1
//ADVANCED property for variable: LLVM_LIBRARY
LLVM_LIBRARY-ADVANCED:INTERNAL=1
//ADVANCED property for variable: LLVM_ROOT_DIR
LLVM_ROOT_DIR-ADVANCED:INTERNAL=1
//ADVANCED property for variable: LLVM_STATIC
LLVM_STATIC-ADVANCED:INTERNAL=1
//ADVANCED property for variable: LLVM_VERSION
LLVM_VERSION-ADVANCED:INTERNAL=1
> In #73024#854467, @Jeroen-Bakker wrote: > @Metal3d could it be that you don't compile with LLVM and that works as there are no conflicts during symbol loading of common shared objects? see https://developer.blender.org/T68052 mmmhh... AFAIK I activated LLVM build. ``` $ grep -i LLVM ../build_linux/CMakeCache.txt LLVM_CONFIG:FILEPATH=/usr/bin/llvm-config //Path to the LLVM library path LLVM_LIBPATH:PATH=/usr/lib64 LLVM_LIBRARY:FILEPATH=/usr/lib64/libLLVM-9.0.0.so //Path to the LLVM installation LLVM_ROOT_DIR:PATH=/usr //Link with LLVM static libraries LLVM_STATIC:BOOL=OFF //Version of LLVM to use LLVM_VERSION:STRING=9.0.0 WITH_LLVM:BOOL=ON cycles_kernel_osl_LIB_DEPENDS:STATIC=general;cycles_render;general;/usr/local/lib64/liboslcomp.so;general;/usr/local/lib64/liboslexec.so;general;/usr/local/lib64/liboslquery.so;general;/usr/lib64/libOpenImageIO.so;general;/usr/lib64/libpng.so;general;/usr/lib64/libz.so;general;/usr/lib64/libjpeg.so;general;/usr/lib64/libz.so;general;/usr/lib64/libboost_filesystem.so;general;/usr/lib64/libboost_regex.so;general;/usr/lib64/libboost_thread.so;general;-lpthread;general;/usr/lib64/libboost_date_time.so;general;/usr/lib64/libboost_wave.so;general;/usr/lib64/libboost_locale.so;general;/usr/lib64/libboost_system.so;general;/usr/lib64/libboost_chrono.so;general;/usr/lib64/libboost_atomic.so;general;/usr/lib64/libboost_serialization.so;general;/usr/lib64/libtiff.so;general;/usr/lib64/libHalf.so;general;/usr/lib64/libIex.so;general;/usr/lib64/libIlmImf.so;general;/usr/lib64/libIlmThread.so;general;/usr/lib64/libImath.so;general;/usr/lib64/libLLVM-9.0.0.so; //Details about finding LLVM FIND_PACKAGE_MESSAGE_DETAILS_LLVM:INTERNAL=[/usr/lib64/libLLVM-9.0.0.so][v()] //ADVANCED property for variable: LLVM_CONFIG LLVM_CONFIG-ADVANCED:INTERNAL=1 //ADVANCED property for variable: LLVM_LIBPATH LLVM_LIBPATH-ADVANCED:INTERNAL=1 //ADVANCED property for variable: LLVM_LIBRARY LLVM_LIBRARY-ADVANCED:INTERNAL=1 //ADVANCED property for variable: LLVM_ROOT_DIR LLVM_ROOT_DIR-ADVANCED:INTERNAL=1 //ADVANCED property for variable: LLVM_STATIC LLVM_STATIC-ADVANCED:INTERNAL=1 //ADVANCED property for variable: LLVM_VERSION LLVM_VERSION-ADVANCED:INTERNAL=1 ```
Germano Cavalcante removed their assignment 2021-07-14 18:34:50 +02:00

Added subscriber: @ThomasDinges

Added subscriber: @ThomasDinges

Changed status from 'Needs Developer To Reproduce' to: 'Archived'

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/

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/
Author

This comment was removed by @Metal3d

*This comment was removed by @Metal3d*
Sign in to join this conversation.
No Milestone
No project
No Assignees
5 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: blender/blender-addons#73024
No description provided.