Package: xserver-xorg-core
Version: 2:1.16.2.901-1
Followup-For: Bug #767356
Dear Maintainer,
Xorg segfaults with a backtrace at startup on my AMD desktop with
integrated (Radeon KAVERI) graphics. This looks like the same problem
as Yaroslav Halchenko's report in bug #767356. I've attached a more
detailed backtrace. I had this problem in 1.16.1.901 in testing,
upgraded to 1.16.2.901 from unstable, no apparent change.
There is discussion of what looks like the same bug at:
https://www.libreoffice.org/bugzilla/show_bug.cgi?id=84186
The crash happens in glamor_set_screen_pixmap() because pixmap_priv-base.fbo is
NULL, but (as the comments in the libreoffice bug mention) the real problem
is presumably earlier when it can't create the FBO. Here's a gdb session with
some extra debugging env vars turned on:
Reading symbols from /usr/bin/Xorg...Reading symbols from
/usr/lib/debug//usr/bin/Xorg...done.
done.
(gdb) set env GLAMOR_DEBUG=1
(gdb) set env EGL_LOG_LEVEL=debug
(gdb) run -keeptty
Starting program: /usr/bin/Xorg -keeptty
[Thread debugging using libthread_db enabled]
Using host libthread_db library /lib/x86_64-linux-gnu/libthread_db.so.1.
X.Org X Server 1.16.1.901 (1.16.2 RC 1)
Release Date: 2014-11-02
X Protocol Version 11, Revision 0
Build Operating System: Linux 3.2.0-4-amd64 x86_64 Debian
Current Operating System: Linux underwood 3.16.0-4-amd64 #1 SMP Debian 3.16.7-2
(2014-11-06) x86_64
Kernel command line: BOOT_IMAGE=/boot/vmlinuz-3.16.0-4-amd64
root=UUID=5fdbbdbd-c492-4d83-9452-7b8441374d18 ro quiet
Build Date: 03 November 2014 09:44:08PM
xorg-server 2:1.16.1.901-1 (http://www.debian.org/support)
Current version of pixman: 0.32.6
Before reporting problems, check http://wiki.x.org
to make sure that you have the latest version.
Markers: (--) probed, (**) from config file, (==) default setting,
(++) from command line, (!!) notice, (II) informational,
(WW) warning, (EE) error, (NI) not implemented, (??) unknown.
(==) Log file: /var/log/Xorg.0.log, Time: Thu Dec 11 15:44:53 2014
(==) Using system config directory /usr/share/X11/xorg.conf.d
(II) [KMS] Kernel modesetting enabled.
[New Thread 0x7fffed1ef700 (LWP 4694)]
libEGL debug: Native platform type: drm (autodetected)
libEGL debug: EGL search path is /usr/lib/x86_64-linux-gnu/egl
libEGL debug: added /usr/lib/x86_64-linux-gnu/egl/egl_gallium.so to module array
libEGL debug: added egl_dri2 to module array
libEGL debug: dlopen(/usr/lib/x86_64-linux-gnu/egl/egl_gallium.so)
libEGL info: use DRM for display 0x559dd4a0
libEGL debug: EGL user error 0x3001 (EGL_NOT_INITIALIZED) in eglInitialize(no
usable display)
libEGL debug: the best driver is DRI2
glamor_pixmap_ensure_fb: glamor: Failed to create fbo,
incomplete attachment
glamor_pixmap_ensure_fb: glamor: Failed to create fbo,
incomplete attachment
XXX fail to create fbo.
Program received signal SIGSEGV, Segmentation fault.
0x713883b0 in glamor_set_screen_pixmap
(screen_pixmap=screen_pixmap@entry=0x561f88d0, back_pixmap=0x0) at
../../glamor/glamor.c:122
122../../glamor/glamor.c: No such file or directory.
(gdb) bt
#0 0x713883b0 in glamor_set_screen_pixmap
(screen_pixmap=screen_pixmap@entry=0x561f88d0, back_pixmap=0x0) at
../../glamor/glamor.c:122
#1 0x71385060 in glamor_egl_create_textured_screen
(screen=screen@entry=0x559d77f0, handle=handle@entry=49,
stride=stride@entry=10240)
at ../../../../glamor/glamor_egl.c:239
#2 0x7138513d in glamor_egl_create_textured_screen_ext
(screen=screen@entry=0x559d77f0, handle=49, stride=10240,
back_pixmap=back_pixmap@entry=0x0)
at ../../../../glamor/glamor_egl.c:254
#3 0x7204048c in radeon_glamor_create_screen_resources
(screen=screen@entry=0x559d77f0) at ../../src/radeon_glamor.c:67
#4 0x72038e0a in RADEONCreateScreenResources_KMS
(pScreen=0x559d77f0) at ../../src/radeon_kms.c:258
#5 0x5561fc4e in xf86CrtcCreateScreenResources (screen=0x559d77f0)
at ../../../../hw/xfree86/modes/xf86Crtc.c:709
#6 0x555aef36 in dix_main (argc=2, argv=0x7fffe658,
envp=optimized out) at ../../dix/main.c:223
#7 0x75d16b45 in __libc_start_main (main=0x555994e0 main,
argc=2, argv=0x7fffe658, init=optimized out, fini=optimized out,
rtld_fini=optimized out, stack_end=0x7fffe648) at libc-start.c:287
#8 0x5559950e in _start ()
(gdb) inf loc
pixmap_priv = 0x5622f6f0
(gdb) p *pixmap_priv
$1 = {{type = GLAMOR_TEXTURE_DRM, base = {type = GLAMOR_TEXTURE_DRM, gl_fbo =
GLAMOR_FBO_UNATTACHED, map_access = GLAMOR_ACCESS_RO, is_picture = 0 '\000',
gl_tex = 0 '\000', fbo = 0x0, pixmap = 0x561f88d0, box = {x1 = 0, y1
= 0, x2 = 2560, y2 = 1440}, drm_stride = 0, glamor_priv = 0x55a1cc40,
picture = 0x0, image = 0x5622de30}, large = {{type =
GLAMOR_TEXTURE_DRM, base = {type = GLAMOR_TEXTURE_DRM, gl_fbo =
GLAMOR_FBO_UNATTACHED,