Control: reassign -1 clinfo

On 03/08/2022 08.54, Anton Qiu wrote:
Package: ocl-icd-libopencl1
Version: 2.2.14-2

When running clinfo in Raspberry Pi 3 with VC4CL manually installed the clinfo 
program reported Segmentation fault.

According to the backtrace, the segfault happened in VC4CL, so either the bug is there (e.g. it should return an error when queried for something unknown) or in clinfo (e.g. because it tries to call something it shouldn't).

Using gdb, I notice the the exception happened when calling clGetExtensionFunctionAddress 
("clIcdGetPlatformIDsKHR")

here are the detail
$ sudo gdb clinfo
(gdb) r
Program received signal SIGSEGV, Segmentation fault.
0x0008dc40 in ?? ()
(gdb) bt full
#0  0x0008dc40 in ?? ()
No symbol table info available.
#1  0x76d47564 in clGetExtensionFunctionAddress (name=0x76f97440 
"clIcdGetPlatformIDsKHR")
     at /home/anton/rpi3opencl/VC4CL/src/extensions.cpp:53
No locals.
#2  0x76f918e4 in ?? () from /lib/arm-linux-gnueabihf/libOpenCL.so.1
No symbol table info available.

(gdb) info register
r0             0x8d8e4             579812
r1             0x76f97440          1996059712
r2             0x53                83
r3             0x8dc40             580672
r4             0x76d47534          1993635124
r5             0x76d48c10          1993640976
r6             0x0                 0
r7             0x0                 0
r8             0x76f97440          1996059712
r9             0x41350             267088
r10            0x411b8             266680
r11            0x7efff4b4          2130703540
r12            0x76fa8f6c          1996132204
sp             0x7efff4a8          0x7efff4a8
lr             0x76d47564          1993635172
pc             0x8dc40             0x8dc40
cpsr           0x20000010          536870928
fpscr          0x80000000          -2147483648

(gdb) disassemble 0x76d47564
Dump of assembler code for function clGetExtensionFunctionAddress(char const*):
    0x76d47534 <+0>:     push    {r11, lr}
    0x76d47538 <+4>:     add     r11, sp, #4
    0x76d4753c <+8>:     sub     sp, sp, #8
    0x76d47540 <+12>:    str     r0, [r11, #-8]
    0x76d47544 <+16>:    bl      0x76cf9bd4 
<_ZN5vc4cl8Platform16getVC4CLPlatformEv@plt>
    0x76d47548 <+20>:    mov     r3, r0
    0x76d4754c <+24>:    mov     r0, r3
    0x76d47550 <+28>:    bl      0x76cf0874 
<_ZN5vc4cl6ObjectI15_cl_platform_idLin32EE6toBaseEv@plt>
    0x76d47554 <+32>:    mov     r3, r0
    0x76d47558 <+36>:    ldr     r1, [r11, #-8]
    0x76d4755c <+40>:    mov     r0, r3
    0x76d47560 <+44>:    bl      0x76cf4cfc 
<clGetExtensionFunctionAddressForPlatform@plt>
    0x76d47564 <+48>:    mov     r3, r0
    0x76d47568 <+52>:    mov     r0, r3
    0x76d4756c <+56>:    sub     sp, r11, #4
    0x76d47570 <+60>:    pop     {r11, pc}
End of assembler dump.

Looking at the information above, it seems that the exception happens when 
calling clGetExtensionFunctionAddressForPlatform()
for "clIcdGetPlatformIDsKHR".

The clinfo program was compiled from source based on repository 
"https://github.com/Oblomov/clinfo"; on 02 Aug 2022.


-- System Information:
Distributor ID: Raspbian
Description:    Raspbian GNU/Linux 11 (bullseye)
Release:        11
Codename:       bullseye
Architecture: armv7l

Kernel: Linux 5.15.56-v7+ (SMP w/4 CPU threads)
Kernel taint flags: TAINT_CRAP
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)

Versions of packages ocl-icd-libopencl1 depends on:
ii  libc6  2.31-13+rpt2+rpi1+deb11u3

ocl-icd-libopencl1 recommends no packages.

Versions of packages ocl-icd-libopencl1 suggests:
pn  opencl-icd  <none>


Andreas

Reply via email to