[Pkg-opencl-devel] Bug#974702: intel-opencl-icd causes all OpenCL programs to abort

Giuseppe Bilotta giuseppe.bilotta at gmail.com
Sat Nov 14 00:05:56 GMT 2020


Package: intel-opencl-icd
Version: 20.37.17906-1
Severity: critical

When this package is installed, any OpenCL program will abort with the
message

Abort was called at 42 line in file:
/build/intel-compute-runtime-WsWnhf/intel-compute-runtime-20.37.17906/shared/source/built_ins/built_ins.cpp
Application Error

This is reproducible with a simple `clinfo -l`, but even something like
LibreOffice with OpenCL support enabled will fail to start (making it
impossible to actually even the LibreOffice configuration to disable
OpenCL), which is the reason for the critical severity.

Running `clinfo -l` under gdb shows the following backtrace:

#0  __GI_raise (sig=sig at entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
#1  0x00007ffff7da6537 in __GI_abort () at abort.c:79
#2  0x00007ffff6baab53 in NEO::abortExecution () at ./shared/source/helpers/abort.cpp:14
#3  0x00007ffff6bc0b71 in NEO::abortUnrecoverable (line=line at entry=42, file=file at entry=0x7ffff6f1b868 "/build/intel-compute-runtime-WsWnhf/intel-compute-runtime-20.37.17906/shared/source/built_ins/built_ins.cpp")
    at ./shared/source/helpers/debug_helpers.cpp:24
#4  0x00007ffff6ed07b4 in operator() (__closure=0x7fffffffdd60) at ./shared/source/built_ins/built_ins.cpp:42
#5  std::__invoke_impl<void, NEO::BuiltIns::getSipKernel(NEO::SipKernelType, NEO::Device&)::<lambda()>&> (__f=...) at /usr/include/c++/10/bits/invoke.h:60
#6  std::__invoke<NEO::BuiltIns::getSipKernel(NEO::SipKernelType, NEO::Device&)::<lambda()>&> (__fn=...) at /usr/include/c++/10/bits/invoke.h:95
#7  operator() (this=<optimized out>) at /usr/include/c++/10/mutex:717
#8  operator() (this=0x0) at /usr/include/c++/10/mutex:722
#9  _FUN () at /usr/include/c++/10/mutex:722
#10 0x00007ffff710b34f in __pthread_once_slow (once_control=0x555555786400, init_routine=0x7ffff7495fc0 <__once_proxy>) at pthread_once.c:116
#11 0x00007ffff6ed0ae2 in __gthread_once (__func=<optimized out>, __once=0x555555786400) at /usr/include/x86_64-linux-gnu/c++/10/bits/gthr-default.h:700
#12 std::call_once<NEO::BuiltIns::getSipKernel(NEO::SipKernelType, NEO::Device&)::<lambda()>&> (__f=..., __once=...) at /usr/include/c++/10/mutex:729
#13 NEO::BuiltIns::getSipKernel (this=0x555555785ff0, type=<optimized out>, device=...) at ./shared/source/built_ins/built_ins.cpp:64
#14 0x00007ffff6be2516 in NEO::initSipKernel (type=<optimized out>, device=...) at ./opencl/source/helpers/built_ins_helper.cpp:16
#15 0x00007ffff6c29878 in NEO::Platform::initialize (this=0x5555557841b0, devices=std::vector of length 1, capacity 1 = {...}) at ./opencl/source/platform/platform.cpp:145
#16 0x00007ffff6bdc85d in clGetPlatformIDs (numEntries=<optimized out>, platforms=<optimized out>, numPlatforms=<optimized out>) at ./opencl/source/api/api.cpp:100
#17 0x00007ffff6bdce54 in clIcdGetPlatformIDsKHR (numEntries=0, platforms=0x0, numPlatforms=0x7fffffffe04c) at ./opencl/source/api/api.cpp:136
#18 0x00007ffff7f51ae3 in _find_and_check_platforms (num_icds=5) at ocl_icd_loader.c:445
#19 __initClIcd () at ocl_icd_loader.c:652
#20 _initClIcd_real () at ocl_icd_loader.c:702
#21 0x00007ffff7f524e3 in _initClIcd () at ocl_icd_loader.c:724
#22 clGetPlatformIDs (num_entries=0, platforms=0x0, num_platforms=0x7fffffffe170) at ocl_icd_loader.c:846
#23 0x0000555555564d42 in main (argc=2, argv=0x7fffffffe2d8) at src/clinfo.c:3351

Note that no OpenCL ICD should _ever_ invoke abort: OpenCL has specific
ways to pass failure information up to the caller, those shold be used
instead.

(That aside, it's unclear why the failure even happens in the first
place.)


-- System Information:
Debian Release: bullseye/sid
  APT prefers unstable-debug
  APT policy: (500, 'unstable-debug'), (500, 'testing-debug'), (500, 'oldoldstable'), (500, 'unstable'), (500, 'testing'), (500, 'stable'), (1, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 5.8.0-2-amd64 (SMP w/12 CPU threads)
Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages intel-opencl-icd depends on:
ii  libc6               2.31-4
ii  libgcc-s1           10.2.0-17
ii  libigc1             1.0.5353.1-2
ii  libigdfcl1          1.0.5353.1-2
ii  libigdgmm11         20.3.2+ds1-1
ii  libstdc++6          10.2.0-17
ii  ocl-icd-libopencl1  2.2.12-4

intel-opencl-icd recommends no packages.

intel-opencl-icd suggests no packages.

-- no debconf information



More information about the Pkg-opencl-devel mailing list