Bug#974702: intel-opencl-icd causes all OpenCL programs to abort

2020-11-14 Thread Giuseppe Bilotta
On Sat, Nov 14, 2020 at 9:46 AM Timo Aaltonen  wrote:

> Hi, please try with the current version, I think this was due to the old
> driver being built with llvm10. 20.44 was uploaded yesterday.

> And 972620 should be fixed as well.

Hello, I just tested intel-opencl-icd 20.44.18297-1 with libigc1 and
libigdfcl1 at version 1.0.5353.1-2 and indeed both bugs seem to be
fixed.

(I'd be wary of the code still calling abort in case of issues,
though, since an ICD should just fail “properly” when things go wrong
during init.)

Thanks a lot,

Giuseppe Bilotta

-- 
Giuseppe "Oblomov" Bilotta



Bug#974702: intel-opencl-icd causes all OpenCL programs to abort

2020-11-14 Thread Timo Aaltonen
On Sat, 14 Nov 2020 01:05:56 +0100 Giuseppe Bilotta 
 wrote:

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

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


Hi, please try with the current version, I think this was due to the old 
driver being built with llvm10. 20.44 was uploaded yesterday.



And 972620 should be fixed as well.


--
t



Bug#974702: intel-opencl-icd causes all OpenCL programs to abort

2020-11-13 Thread Giuseppe Bilotta
Package: intel-opencl-icd
Followup-For: Bug #974702

Some additional information: I have tried downgrading to previous
versions of the package, and I found out that:

intel-opencl-icd 20.13.16352-1 has the issue
intel-opencl-icd 20.02.15268-1 has not

In fact, with 20.02 clinfo at least works, even though kernels fail to
compile for this ICD giving a CL_OUT_OF_HOST_MEMORY (-6) error.

If I downgrate libigc1 and libigdfcl1 to 1.0.3627-2, both 20.02 and
20.13 work correctly, but 20.37.17906-1 still aborts.


-- 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  libc62.31-4
ii  libgcc-s1 [libgcc1]  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



Bug#974702: intel-opencl-icd causes all OpenCL programs to abort

2020-11-13 Thread Giuseppe Bilotta
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@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
#1  0x77da6537 in __GI_abort () at abort.c:79
#2  0x76baab53 in NEO::abortExecution () at 
./shared/source/helpers/abort.cpp:14
#3  0x76bc0b71 in NEO::abortUnrecoverable (line=line@entry=42, 
file=file@entry=0x76f1b868 
"/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  0x76ed07b4 in operator() (__closure=0x7fffdd60) at 
./shared/source/built_ins/built_ins.cpp:42
#5  std::__invoke_impl&> (__f=...) at /usr/include/c++/10/bits/invoke.h:60
#6  std::__invoke&> (__fn=...) at /usr/include/c++/10/bits/invoke.h:95
#7  operator() (this=) 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 0x7710b34f in __pthread_once_slow (once_control=0x55786400, 
init_routine=0x77495fc0 <__once_proxy>) at pthread_once.c:116
#11 0x76ed0ae2 in __gthread_once (__func=, 
__once=0x55786400) at 
/usr/include/x86_64-linux-gnu/c++/10/bits/gthr-default.h:700
#12 std::call_once&> (__f=..., __once=...) at 
/usr/include/c++/10/mutex:729
#13 NEO::BuiltIns::getSipKernel (this=0x55785ff0, type=, 
device=...) at ./shared/source/built_ins/built_ins.cpp:64
#14 0x76be2516 in NEO::initSipKernel (type=, device=...) 
at ./opencl/source/helpers/built_ins_helper.cpp:16
#15 0x76c29878 in NEO::Platform::initialize (this=0x557841b0, 
devices=std::vector of length 1, capacity 1 = {...}) at 
./opencl/source/platform/platform.cpp:145
#16 0x76bdc85d in clGetPlatformIDs (numEntries=, 
platforms=, numPlatforms=) at 
./opencl/source/api/api.cpp:100
#17 0x76bdce54 in clIcdGetPlatformIDsKHR (numEntries=0, platforms=0x0, 
numPlatforms=0x7fffe04c) at ./opencl/source/api/api.cpp:136
#18 0x77f51ae3 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 0x77f524e3 in _initClIcd () at ocl_icd_loader.c:724
#22 clGetPlatformIDs (num_entries=0, platforms=0x0, 
num_platforms=0x7fffe170) at ocl_icd_loader.c:846
#23 0x55564d42 in main (argc=2, argv=0x7fffe2d8) 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