[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#1117930: mesa-opencl-icd: Rusticl ICD dispatch table not initialized - NULL clGetPlatformInfo causes segfault



Package: mesa-opencl-icd
Version: 25.2.4-1
Severity: grave
Justification: renders package unusable
X-Debbugs-Cc: michel@lebihan.pl

The Rusticl OpenCL ICD causes segfaults in all OpenCL applications when 
attempting to query platform information. The crash occurs at address 
0x0000000000000000 when calling clGetPlatformInfo on the Rusticl platform.

Reproduction Case 1 - clinfo:
$ clinfo
Found 2 platforms
Platform 0: Portable Computing Language (POCL)
Segmentation fault

GDB session:
(gdb) run
Thread 1 "clinfo" received signal SIGSEGV, Segmentation fault.
0x0000000000000000 in ?? ()

(gdb) bt
#0  0x0000000000000000 in ?? ()
#1  0x000055555555e90b in platform_info_str at src/clinfo.c:948
#2  0x0000555555564fa0 in gatherPlatformInfo at src/clinfo.c:1216
#3  0x000055555555d79d in main at src/clinfo.c:4835

(gdb) frame 1
(gdb) print loc->plat
$1 = (cl_platform_id) 0x7ffff79e2950 <rusticl::core::platform::PLATFORM>


Reproduction Case 2 - Minimal test program:
$ cat test_rusticl.c
#include <CL/cl.h>
#include <stdio.h>

int main() {
    cl_platform_id platforms[10];
    cl_uint num_platforms;
    
    clGetPlatformIDs(10, platforms, &num_platforms);
    printf("Found %d platforms\n", num_platforms);
    
    for (int i = 0; i < num_platforms; i++) {
        char name[256];
        cl_int err = clGetPlatformInfo(platforms[i], CL_PLATFORM_NAME, 
                                       sizeof(name), name, NULL);
        printf("Platform %d: err=%d, name=%s\n", i, err, 
               err == CL_SUCCESS ? name : "FAILED");
    }
    return 0;
}

$ gcc test_rusticl.c -lOpenCL -o test_rusticl
$ ./test_rusticl
Found 2 platforms
Platform 0: err=0, name=Portable Computing Language
Segmentation fault

GDB session:
(gdb) run
Thread 1 "test_rusticl" received signal SIGSEGV, Segmentation fault.
0x0000000000000000 in ?? ()

(gdb) bt
#0  0x0000000000000000 in ?? ()
#1  0x00005555555551c7 in main ()


Additional debugging information:

Platform object memory at 0x7ffff79e2950:
(gdb) x/20xg 0x7ffff79e2950
0x7ffff79e2950: 0x00007ffff79bbe40  0x00005555556a2840
0x7ffff79e2960: 0x0000000000000000  0x0000000000000008
0x7ffff79e2970: 0x0000000000000000  0x000000000000000a
0x7ffff79e2980: 0x0000555555693090  0x000000000000000a
0x7ffff79e2990: 0x0000000000000004  0x00005555556a0d60
0x7ffff79e29a0: 0x0000000000000001  0x8000000000000000

Library symbol check:
$ nm -D /usr/lib/x86_64-linux-gnu/libRusticlOpenCL.so.1.0.0 | grep clGetPlatformInfo
00000000002077c0 T clGetPlatformInfo

$ readelf -s /usr/lib/x86_64-linux-gnu/libRusticlOpenCL.so.1.0.0 | grep clGetPlatformInfo
   961: 00000000002077c0     8 FUNC    GLOBAL DEFAULT   12 clGetPlatformInfo

-- System Information:
Debian Release: forky/sid
  APT prefers testing
  APT policy: (700, 'testing'), (650, 'unstable'), (600, 'experimental'), (500, 'stable-security'), (500, 'stable')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 6.16.9+deb14-amd64 (SMP w/8 CPU threads; PREEMPT)
Locale: LANG=fr_FR.UTF-8, LC_CTYPE=fr_FR.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages mesa-opencl-icd depends on:
ii  libc6                            2.41-12
ii  libclang-cpp19                   1:19.1.7-7
ii  libclc-19                        1:19.1.7-7
ii  libdrm-amdgpu1                   2.4.125-2
ii  libdrm2                          2.4.125-2
ii  libelf1t64                       0.193-3
ii  libexpat1                        2.7.3-1
ii  libgcc-s1                        15.2.0-4
ii  libllvm19                        1:19.1.7-7
ii  libllvmspirvlib19.1              19.1.11-1
ii  libstdc++6                       15.2.0-4
ii  libzstd1                         1.5.7+dfsg-2
ii  ocl-icd-libopencl1 [libopencl1]  2.3.3-1
ii  zlib1g                           1:1.3.dfsg+really1.3.1-1+b1

mesa-opencl-icd recommends no packages.

mesa-opencl-icd suggests no packages.

Versions of packages xserver-xorg depends on:
ii  x11-xkb-utils                                      7.7+9
ii  xkb-data                                           2.42-1
ii  xserver-xorg-core                                  2:21.1.18-2
ii  xserver-xorg-input-all                             1:7.7+25
ii  xserver-xorg-input-evdev [xorg-driver-input]       1:2.11.0-1
ii  xserver-xorg-input-libinput [xorg-driver-input]    1.5.0-1
ii  xserver-xorg-input-mouse [xorg-driver-input]       1:1.9.3-1+b1
ii  xserver-xorg-input-synaptics [xorg-driver-input]   1.9.2-1+b2
ii  xserver-xorg-input-wacom [xorg-driver-input]       1.2.3-1
ii  xserver-xorg-video-all                             1:7.7+25
ii  xserver-xorg-video-amdgpu [xorg-driver-video]      23.0.0-1
ii  xserver-xorg-video-ati [xorg-driver-video]         1:22.0.0-1
ii  xserver-xorg-video-cirrus [xorg-driver-video]      1:1.6.0-1
ii  xserver-xorg-video-fbdev [xorg-driver-video]       1:0.5.0-2
ii  xserver-xorg-video-mga [xorg-driver-video]         1:2.0.0-1+b1
ii  xserver-xorg-video-nouveau [xorg-driver-video]     1:1.0.18-1
ii  xserver-xorg-video-openchrome [xorg-driver-video]  1:0.6.0-5
ii  xserver-xorg-video-qxl [xorg-driver-video]         0.1.6-1.1
ii  xserver-xorg-video-radeon [xorg-driver-video]      1:22.0.0-1
ii  xserver-xorg-video-vesa [xorg-driver-video]        1:2.6.0-2
ii  xserver-xorg-video-vmware [xorg-driver-video]      1:13.4.0-1

Versions of packages xserver-xorg recommends:
ii  libgl1-mesa-dri      25.2.4-1
ii  xserver-xorg-legacy  2:21.1.18-2

Versions of packages xserver-xorg-core depends on:
ii  keyboard-configuration  1.242
ii  libaudit1               1:4.1.2-1
ii  libc6                   2.41-12
ii  libdbus-1-3             1.16.2-2
ii  libdrm2                 2.4.125-2
ii  libegl1                 1.7.0-1+b2
ii  libepoxy0               1.5.10-2
ii  libgbm1                 25.2.4-1
ii  libgl1                  1.7.0-1+b2
ii  libnettle8t64           3.10.2-1
ii  libpciaccess0           0.17-3+b3
ii  libpixman-1-0           0.46.4-1
ii  libselinux1             3.8.1-1
ii  libsystemd0             258-1
ii  libudev1                258-1
ii  libunwind8              1.8.1-0.1
ii  libxau6                 1:1.0.11-1
ii  libxcvt0                0.1.3-1
ii  libxdmcp6               1:1.1.5-1
ii  libxfont2               1:2.0.6-1+b3
ii  libxshmfence1           1.3.3-1
ii  udev                    258-1
ii  xserver-common          2:21.1.18-2

Versions of packages xserver-xorg-core recommends:
ii  libgl1-mesa-dri          25.2.4-1
ii  libpam-systemd [logind]  258-1
ii  xcvt                     0.1.3-1

Versions of packages xserver-xorg-core suggests:
ii  xfonts-100dpi    1:1.0.5
ii  xfonts-75dpi     1:1.0.5
ii  xfonts-scalable  1:1.0.3-1.3

-- no debconf information


Reply to: