When I enable SNA and boot the system, the X server segfaults with the following backtrace: # gdb /usr/bin/Xorg /tmp/X-2195 Core was generated by `X :0 vt8'. Program terminated with signal 11, Segmentation fault. #0 0x08128839 in dixGetPrivate (key=0x8225c38, privates=0x9dbdaf8) at /home/thierry.reding/src/pbs.git/build/medatom-rootfs/build/packages/xorg/xorg-server/xorg-server-1.12.0/include/privates.h:131 131 /home/thierry.reding/src/pbs.git/build/medatom-rootfs/build/packages/xorg/xorg-server/xorg-server-1.12.0/include/privates.h: No such file or directory. (gdb) bt #0 0x08128839 in dixGetPrivate (key=0x8225c38, privates=0x9dbdaf8) at /home/thierry.reding/src/pbs.git/build/medatom-rootfs/build/packages/xorg/xorg-server/xorg-server-1.12.0/include/privates.h:131 #1 dixLookupPrivate (key=0x8225c38, privates=0x9dbdaf8) at /home/thierry.reding/src/pbs.git/build/medatom-rootfs/build/packages/xorg/xorg-server/xorg-server-1.12.0/include/privates.h:161 #2 CreatePicture (pid=0, pDrawable=0x9dd98b8, pFormat=0x9e18148, vmask=4096, vlist=0xbfde77b8, client=0x9d991f0, error=0xbfde77bc) at /home/thierry.reding/src/pbs.git/build/medatom-rootfs/build/packages/xorg/xorg-server/xorg-server-1.12.0/render/picture.c:757 #3 0xb721c01c in realize_glyph_caches (sna=0x9daba08) at /home/thierry.reding/src/pbs.git/build/medatom-rootfs/build/packages/xorg/driver/xf86-video-intel/xf86-video-intel-2.18.0/src/sna/sna_glyphs.c:187 #4 sna_glyphs_create (sna=0x9daba08) at /home/thierry.reding/src/pbs.git/build/medatom-rootfs/build/packages/xorg/driver/xf86-video-intel/xf86-video-intel-2.18.0/src/sna/sna_glyphs.c:935 #5 0xb71f7dc8 in sna_accel_create (sna=0x9daba08) at /home/thierry.reding/src/pbs.git/build/medatom-rootfs/build/packages/xorg/driver/xf86-video-intel/xf86-video-intel-2.18.0/src/sna/sna_accel.c:12032 #6 0xb721957a in sna_create_screen_resources (screen=0x9efa920) at /home/thierry.reding/src/pbs.git/build/medatom-rootfs/build/packages/xorg/driver/xf86-video-intel/xf86-video-intel-2.18.0/src/sna/sna_driver.c:212 #7 0x080ecc30 in xf86CrtcCreateScreenResources (screen=0x9efa920) at /home/thierry.reding/src/pbs.git/build/medatom-rootfs/build/packages/xorg/xorg-server/xorg-server-1.12.0/hw/xfree86/modes/xf86Crtc.c:725 #8 0x080643f3 in main (argc=3, argv=0xbfde7934, envp=0xbfde7944) at /home/thierry.reding/src/pbs.git/build/medatom-rootfs/build/packages/xorg/xorg-server/xorg-server-1.12.0/dix/main.c:216 I use the vanilla X server (1.12) with xf86-video-intel from latest git. X is started via xinit, but curiously the behaviour differs when I run X manually like so: # X :0 vt8 This is probably due to the fact that the latter doesn't initialize the whole session (awesome window manager). I can manually start and use an xterm in that case. However, when I close the xterm I get a segfault very similar to that mentioned above: # gdb /usr/bin/Xorg /tmp/X-864 Core was generated by `X :0 vt8'. Program terminated with signal 11, Segmentation fault. #0 0x0812817b in ChangePicture (pPicture=0x8d70cf8, vmask=0, vlist=0xbff9671c, ulist=0x0, client=0x8cf91f0) at /home/thierry.reding/src/pbs.git/build/medatom-rootfs/build/packages/xorg/xorg-server/xorg-server-1.12.0/render/picture.c:1228 1228 /home/thierry.reding/src/pbs.git/build/medatom-rootfs/build/packages/xorg/xorg-server/xorg-server-1.12.0/render/picture.c: No such file or directory. (gdb) bt #0 0x0812817b in ChangePicture (pPicture=0x8d70cf8, vmask=0, vlist=0xbff9671c, ulist=0x0, client=0x8cf91f0) at /home/thierry.reding/src/pbs.git/build/medatom-rootfs/build/packages/xorg/xorg-server/xorg-server-1.12.0/render/picture.c:1228 #1 0x08128906 in CreatePicture (pid=0, pDrawable=0x8d398b8, pFormat=0x8d78148, vmask=4096, vlist=0xbff96718, client=0x8cf91f0, error=0xbff9671c) at /home/thierry.reding/src/pbs.git/build/medatom-rootfs/build/packages/xorg/xorg-server/xorg-server-1.12.0/render/picture.c:791 #2 0xb717c01c in realize_glyph_caches (sna=0x8d0ba08) at /home/thierry.reding/src/pbs.git/build/medatom-rootfs/build/packages/xorg/driver/xf86-video-intel/xf86-video-intel-2.18.0/src/sna/sna_glyphs.c:187 #3 sna_glyphs_create (sna=0x8d0ba08) at /home/thierry.reding/src/pbs.git/build/medatom-rootfs/build/packages/xorg/driver/xf86-video-intel/xf86-video-intel-2.18.0/src/sna/sna_glyphs.c:935 #4 0xb7157dc8 in sna_accel_create (sna=0x8d0ba08) at /home/thierry.reding/src/pbs.git/build/medatom-rootfs/build/packages/xorg/driver/xf86-video-intel/xf86-video-intel-2.18.0/src/sna/sna_accel.c:12032 #5 0xb717957a in sna_create_screen_resources (screen=0x8e5a920) at /home/thierry.reding/src/pbs.git/build/medatom-rootfs/build/packages/xorg/driver/xf86-video-intel/xf86-video-intel-2.18.0/src/sna/sna_driver.c:212 #6 0x080ecc30 in xf86CrtcCreateScreenResources (screen=0x8e5a920) at /home/thierry.reding/src/pbs.git/build/medatom-rootfs/build/packages/xorg/xorg-server/xorg-server-1.12.0/hw/xfree86/modes/xf86Crtc.c:725 #7 0x080643f3 in main (argc=3, argv=0xbff96894, envp=0xbff968a4) at /home/thierry.reding/src/pbs.git/build/medatom-rootfs/build/packages/xorg/xorg-server/xorg-server-1.12.0/dix/main.c:216 I'm happy to provide more information if necessary? Thierry
Can you please recompile with --enable-debug=full and attach the xorg.log? The last time I've seen such a backtrace was when the DDX and the Xserver disagreed on the sizes of various structures. In gdb, can you print the sizeof(PixmapRec) for each frame?
Created attachment 58511 [details] backtraces for both segfaults
(In reply to comment #1) > Can you please recompile with --enable-debug=full and attach the xorg.log? The > last time I've seen such a backtrace was when the DDX and the Xserver disagreed > on the sizes of various structures. In gdb, can you print the sizeof(PixmapRec) > for each frame? gdb says PixmapRec is 48 bytes for each of the frames. Do I perhaps need to configure the server in a special way to support SNA? Currently I'm using the same build as for UXA.
(In reply to comment #3) > gdb says PixmapRec is 48 bytes for each of the frames. Do I perhaps need to > configure the server in a special way to support SNA? Currently I'm using > the same build as for UXA. No, it should behave exactly like UXA (given it has the same build infrastructure!). The structure mismatch is just something I have to seen to cause very similar segfaults.
Created attachment 58518 [details] Xorg log with --enable-debug=full
commit fe4ad66aadcfa0c907ba6460a88c49e65225602c Author: Chris Wilson <chris@chris-wilson.co.uk> Date: Thu Mar 15 21:33:00 2012 +0000 sna: Correct the order of screen private teardown So that we do not keep a stale references of the last cached pixmap across server regeneration (or shutdown). Reported-by: Thierry Reding <thierry.reding@avionic-design.de> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=47357 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Just for completeness, I've tested the latest master and can confirm that the segfault no longer occurs. Thanks for fixing this!
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.