Segfault with amdgpu dri3 and 2d acceleration disabled
Submitted by csa..@..il.com
Assigned to xf86-video-ati maintainers
Description
Running X with option AccelMethod "none" (possibly also option noaccel) causes segfault if dri3 is enabled:
Program received signal SIGSEGV, Segmentation fault.<br>
0x0000000000000000 in ?? ()<br>
(gdb) bt<br>
#0 0x0000000000000000 in ?? ()<br>
#1 0x00007fc9a1c87db8 in amdgpu_dri3_pixmap_from_fd (screen=0x561f9d7c1e40, fd=26, width=16, height=<optimized out>,<br>
stride=128, depth=<optimized out>, bpp=32 ' ') at ../../src/amdgpu_dri3.c:149<br>
#2 0x0000561f9c32d289 in dri3_pixmap_from_fd (ppixmap=ppixmap@entry=0x7ffc1c145628, screen=<optimized out>, fd=fd@entry=26,<br>
width=<optimized out>, height=<optimized out>, stride=128, depth=24 '\030', bpp=32 ' ') at ../../dri3/dri3_screen.c:73<br>
#3 0x0000561f9c32cdfa in proc_dri3_pixmap_from_buffer (client=0x561f9dc17e50) at ../../dri3/dri3_request.c:162<br>
#4 0x0000561f9c1fe12e in Dispatch () at ../../dix/dispatch.c:430<br>
#5 0x0000561f9c201ecb in dix_main (argc=5, argv=0x7ffc1c145808, envp=<optimized out>) at ../../dix/main.c:300<br>
#6 0x00007fc9a50baead in __libc_start_main (main=<optimized out>, argc=<optimized out>, ubp_av=<optimized out>,<br>
init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7ffc1c1457f8) at libc-start.c:244<br>
#7 0x0000561f9c1ec6b1 in _start ()<br>
```<br>
<br>
The offending line seems to be<br>
<br>
if (screen->SetSharedPixmapBacking(pixmap, (void*)(intptr_t)fd))<br>
return pixmap;<br>
<br>
Version info: Xorg 1.18, amdgpu git a3eac85d