Bug 84186 - X 1.16.1 RC 1 segfaults and reports "XXX fail to create fbo" with Radeon HD 7970.
Summary: X 1.16.1 RC 1 segfaults and reports "XXX fail to create fbo" with Radeon HD 7...
Status: RESOLVED NOTOURBUG
Alias: None
Product: Mesa
Classification: Unclassified
Component: Mesa core (show other bugs)
Version: unspecified
Hardware: Other All
: medium normal
Assignee: mesa-dev
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-09-22 14:06 UTC by John Steele Scott
Modified: 2014-12-24 07:53 UTC (History)
2 users (show)

See Also:
i915 platform:
i915 features:


Attachments
Complete Xorg log. (47.38 KB, text/plain)
2014-09-22 14:09 UTC, John Steele Scott
Details
X server output with EGL_LOG_LEVEL=debug and -verbose 20 (27.60 KB, text/plain)
2014-09-25 10:40 UTC, John Steele Scott
Details
X startup with EGL debug info (25.53 KB, text/plain)
2014-10-29 21:44 UTC, Mathias Brodala
Details
Another Xorg log with the failure (53.67 KB, text/plain)
2014-12-04 03:48 UTC, ploh
Details
Backtraces from att_incomplete() (12.56 KB, text/plain)
2014-12-18 07:52 UTC, Wim Lewis
Details

Description John Steele Scott 2014-09-22 14:06:38 UTC
I have installed the following from Debian packages:

Linux 3.16-2
X.Org X Server 1.16.0.901 (1.16.1 RC 1)
xserver-xorg-video-radeon 1:7.4.0-2
Mesa 10.3.0rc3

X fails to come up, and I have a segfault which looks like:

Sep 22 23:10:13 kano gdm-Xorg-:2[1846]: XXX fail to create fbo.
Sep 22 23:10:13 kano gdm-Xorg-:2[1846]: (EE)
Sep 22 23:10:13 kano gdm-Xorg-:2[1846]: (EE) Backtrace:
Sep 22 23:10:13 kano gdm-Xorg-:2[1846]: (EE) 0: /usr/bin/Xorg (xorg_backtrace+0x56) [0x7feb7d3f6af6]
Sep 22 23:10:13 kano gdm-Xorg-:2[1846]: (EE) 1: /usr/bin/Xorg (0x7feb7d241000+0x1b9cd9) [0x7feb7d3facd9]
Sep 22 23:10:13 kano gdm-Xorg-:2[1846]: (EE) 2: /lib/x86_64-linux-gnu/libc.so.6 (0x7feb7af34000+0x350f0) [0x7feb7af690f0]
Sep 22 23:10:13 kano gdm-Xorg-:2[1846]: (EE) 3: /usr/lib/xorg/modules/libglamoregl.so (glamor_set_screen_pixmap+0x60) [0x7feb765c53b0]
Sep 22 23:10:13 kano gdm-Xorg-:2[1846]: (EE) 4: /usr/lib/xorg/modules/libglamoregl.so (glamor_egl_create_textured_screen+0xa0) [0x7feb765c206
Sep 22 23:10:13 kano gdm-Xorg-:2[1846]: (EE) 5: /usr/lib/xorg/modules/libglamoregl.so (glamor_egl_create_textured_screen_ext+0x3d) [0x7feb765
Sep 22 23:10:13 kano gdm-Xorg-:2[1846]: (EE) 6: /usr/lib/xorg/modules/drivers/radeon_drv.so (0x7feb77231000+0x4b6ec) [0x7feb7727c6ec]
Sep 22 23:10:13 kano gdm-Xorg-:2[1846]: (EE) 7: /usr/lib/xorg/modules/drivers/radeon_drv.so (0x7feb77231000+0x4443a) [0x7feb7727543a]
Sep 22 23:10:13 kano gdm-Xorg-:2[1846]: (EE) 8: /usr/bin/Xorg (0x7feb7d241000+0xcbc3e) [0x7feb7d30cc3e]
Sep 22 23:10:13 kano gdm-Xorg-:2[1846]: (EE) 9: /usr/bin/Xorg (0x7feb7d241000+0x5af26) [0x7feb7d29bf26]
Sep 22 23:10:13 kano gdm-Xorg-:2[1846]: (EE) 10: /lib/x86_64-linux-gnu/libc.so.6 (__libc_start_main+0xf5) [0x7feb7af55b45]
Sep 22 23:10:13 kano gdm-Xorg-:2[1846]: (EE) 11: /usr/bin/Xorg (0x7feb7d241000+0x4550e) [0x7feb7d28650e]
Sep 22 23:10:13 kano gdm-Xorg-:2[1846]: (EE)
Sep 22 23:10:13 kano gdm-Xorg-:2[1846]: (EE) Segmentation fault at address 0x1c

My video card is
01:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Tahiti LE [Radeon HD 7870 XT]
01:00.1 Audio device: Advanced Micro Devices, Inc. [AMD/ATI] Tahiti XT HDMI Audio [Radeon HD 7970 Series]
Comment 1 John Steele Scott 2014-09-22 14:09:13 UTC
Created attachment 106681 [details]
Complete Xorg log.
Comment 2 John Steele Scott 2014-09-23 10:40:47 UTC
Okay, I've figured out how to get a bit more debug information out of glamor (setting the environment variable GLAMOR_DEBUG=1), and have installed debug symbols.

The following log message is shown twice before the segfault:

         glamor_pixmap_ensure_fb:	glamor: Failed to create fbo, incomplete attachment

The backtrace at the first of these points looks like:

#0  glamor_pixmap_ensure_fb (fbo=fbo@entry=0x555556212e50) at ../../glamor/glamor_fbo.c:218
        str = 0x7ffff13b66ab "incomplete attachment"
        status = 36054
        err = 0
        __PRETTY_FUNCTION__ = "glamor_pixmap_ensure_fb"
        __FUNCTION__ = "glamor_pixmap_ensure_fb"
#1  0x00007ffff13ac2b5 in glamor_create_fbo_from_tex (glamor_priv=0x555555b24740, w=1024, h=1056, format=6408, tex=2, flag=261) at ../../glamor/glamor_fbo.c:250
        fbo = 0x555556212e50
#2  0x00007ffff13837d8 in glamor_create_pixmap (screen=0x5555559d57e0, w=1024, h=1056, depth=32, usage=261) at ../../glamor/glamor.c:201
        type = GLAMOR_MEMORY
        pixmap_priv = 0x555556212dd0
        fbo = 0x8cd6
#3  0x00007ffff203ab01 in radeon_glamor_create_pixmap (screen=0x5555559d57e0, w=1024, h=1056, depth=32, usage=261) at ../../src/radeon_glamor.c:197
        priv = 0x555555af5290
        new_pixmap = 0x105
#4  0x00007ffff138bfc1 in glamor_realize_glyph_caches (pScreen=0x5555559d57e0) at ../../glamor/glamor_glyphs.c:332
        depth = 32
        pPictFormat = 0x555555a2b9c8
        pixmap = 0x20
        picture = 0x555555a2b9c8
        component_alpha = 0
        error = 0
        formats = {134316032, 537036936}
#5  0x00007ffff138277d in glamor_create_screen_resources (screen=0x5555559d57e0) at ../../glamor/glamor.c:305
        ret = 1
#6  0x00007ffff20332d3 in RADEONCreateScreenResources_KMS (pScreen=0x5555559d57e0) at ../../src/radeon_kms.c:229
        pScrn = 0x5555559d64b0
        info = 0x5555559d7300
        pixmap = <optimized out>
#7  0x000055555561fc3e in xf86CrtcCreateScreenResources (screen=0x5555559d57e0) at ../../../../hw/xfree86/modes/xf86Crtc.c:709
        scrn = <optimized out>
        config = <optimized out>
#8  0x00005555555aef26 in dix_main (argc=3, argv=0x7fffffffe6a8, envp=<optimized out>) at ../../dix/main.c:223
        pScreen = 0x5555559d57e0
        i = 0
        alwaysCheckForInput = {0, 1}
#9  0x00007ffff5d13b45 in __libc_start_main (main=0x5555555994e0 <main>, argc=3, argv=0x7fffffffe6a8, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fffffffe698) at libc-start.c:287
        result = <optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {0, -8785920377037677806, 93824992515301, 140737488348832, 0, 0, 8785920376303360786, 8785898719497657106}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x55555571a810 <__libc_csu_init>, 0x7fffffffe6a8}, data = {prev = 0x0, cleanup = 0x0, canceltype = 1433511952}}}
        not_first_call = <optimized out>
#10 0x000055555559950e in _start ()
No symbol table info available.


The backtrace at the second looks like:

#0  glamor_pixmap_ensure_fb (fbo=fbo@entry=0x555556219e50) at ../../glamor/glamor_fbo.c:218
        str = 0x7ffff13b66ab "incomplete attachment"
        status = 36054
        err = 0
        __PRETTY_FUNCTION__ = "glamor_pixmap_ensure_fb"
        __FUNCTION__ = "glamor_pixmap_ensure_fb"
#1  0x00007ffff13ac2b5 in glamor_create_fbo_from_tex (glamor_priv=glamor_priv@entry=0x555555b24740, w=2560, h=1440, format=6408, tex=tex@entry=3, flag=flag@entry=0) at ../../glamor/glamor_fbo.c:250
        fbo = 0x555556219e50
#2  0x00007ffff1383192 in glamor_set_pixmap_texture (pixmap=pixmap@entry=0x5555561edb60, tex=3) at ../../glamor/glamor.c:103
        screen = <optimized out>
        pixmap_priv = 0x555555ac7160
        fbo = <optimized out>
#3  0x00007ffff137fe49 in glamor_egl_create_textured_pixmap (pixmap=pixmap@entry=0x5555561edb60, handle=handle@entry=49, stride=stride@entry=10240) at ../../../../glamor/glamor_egl.c:314
        screen = 0x5555559d57e0
        scrn = <optimized out>
        pixmap_priv = 0x55555622d0d0
        texture = 3
        name = <optimized out>
        ret = 0
        __PRETTY_FUNCTION__ = "glamor_egl_create_textured_pixmap"
#4  0x00007ffff138003d in glamor_egl_create_textured_screen (screen=screen@entry=0x5555559d57e0, handle=handle@entry=49, stride=stride@entry=10240) at ../../../../glamor/glamor_egl.c:232
        scrn = 0x5555559d64b0
        pixmap_priv = 0x55555622d0d0
        screen_pixmap = 0x5555561edb60
#5  0x00007ffff138013d in glamor_egl_create_textured_screen_ext (screen=screen@entry=0x5555559d57e0, handle=49, stride=10240, back_pixmap=back_pixmap@entry=0x0) at ../../../../glamor/glamor_egl.c:254
        scrn = <optimized out>
#6  0x00007ffff203a6ec in radeon_glamor_create_screen_resources (screen=screen@entry=0x5555559d57e0) at ../../src/radeon_glamor.c:67
        scrn = 0x5555559d64b0
        info = 0x5555559d7300
#7  0x00007ffff203343a in RADEONCreateScreenResources_KMS (pScreen=0x5555559d57e0) at ../../src/radeon_kms.c:258
        pScrn = <optimized out>
        info = 0x5555559d7300
        pixmap = <optimized out>
#8  0x000055555561fc3e in xf86CrtcCreateScreenResources (screen=0x5555559d57e0) at ../../../../hw/xfree86/modes/xf86Crtc.c:709
        scrn = <optimized out>
        config = <optimized out>
#9  0x00005555555aef26 in dix_main (argc=3, argv=0x7fffffffe6a8, envp=<optimized out>) at ../../dix/main.c:223
        pScreen = 0x5555559d57e0
        i = 0
        alwaysCheckForInput = {0, 1}
#10 0x00007ffff5d13b45 in __libc_start_main (main=0x5555555994e0 <main>, argc=3, argv=0x7fffffffe6a8, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fffffffe698) at libc-start.c:287
        result = <optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {0, -8785920377037677806, 93824992515301, 140737488348832, 0, 0, 8785920376303360786, 8785898719497657106}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x55555571a810 <__libc_csu_init>, 0x7fffffffe6a8}, data = {prev = 0x0, cleanup = 0x0, canceltype = 1433511952}}}
        not_first_call = <optimized out>
#11 0x000055555559950e in _start ()
No symbol table info available.


Then I guess the segfault itself is pretty boring since we already know the fbo is NULL.

Program received signal SIGSEGV, Segmentation fault.
0x00007ffff13833b0 in glamor_set_screen_pixmap (screen_pixmap=screen_pixmap@entry=0x5555561edb60, back_pixmap=0x0) at ../../glamor/glamor.c:122
122	    glamor_priv->screen_fbo = pixmap_priv->base.fbo->fb;
(gdb) bt
#0  0x00007ffff13833b0 in glamor_set_screen_pixmap (screen_pixmap=screen_pixmap@entry=0x5555561edb60, back_pixmap=0x0) at ../../glamor/glamor.c:122
#1  0x00007ffff1380060 in glamor_egl_create_textured_screen (screen=screen@entry=0x5555559d57e0, handle=handle@entry=49, stride=stride@entry=10240) at ../../../../glamor/glamor_egl.c:239
#2  0x00007ffff138013d in glamor_egl_create_textured_screen_ext (screen=screen@entry=0x5555559d57e0, handle=49, stride=10240, back_pixmap=back_pixmap@entry=0x0) at ../../../../glamor/glamor_egl.c:254
#3  0x00007ffff203a6ec in radeon_glamor_create_screen_resources (screen=screen@entry=0x5555559d57e0) at ../../src/radeon_glamor.c:67
#4  0x00007ffff203343a in RADEONCreateScreenResources_KMS (pScreen=0x5555559d57e0) at ../../src/radeon_kms.c:258
#5  0x000055555561fc3e in xf86CrtcCreateScreenResources (screen=0x5555559d57e0) at ../../../../hw/xfree86/modes/xf86Crtc.c:709
#6  0x00005555555aef26 in dix_main (argc=3, argv=0x7fffffffe6a8, envp=<optimized out>) at ../../dix/main.c:223
#7  0x00007ffff5d13b45 in __libc_start_main (main=0x5555555994e0 <main>, argc=3, argv=0x7fffffffe6a8, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fffffffe698) at libc-start.c:287
#8  0x000055555559950e in _start ()
(gdb) p pixmap_priv->base.fbo
$22 = (glamor_pixmap_fbo *) 0x0
Comment 3 Michel Dänzer 2014-09-24 10:11:33 UTC
The question is why the FBO creation fails. Reassigning to Mesa core for now.

Can you attach the stderr output from running Xorg with the environment variable EGL_LOG_LEVEL=debug?
Comment 4 John Steele Scott 2014-09-25 09:33:17 UTC
(In reply to comment #3)
> The question is why the FBO creation fails. Reassigning to Mesa core for now.
> 
> Can you attach the stderr output from running Xorg with the environment
> variable EGL_LOG_LEVEL=debug?

Thanks for responding. It looks like this:

root@kano:/home/toojays# GLAMOR_DEBUG=1 EGL_LOG_LEVEL=debug X

X.Org X Server 1.16.0.901 (1.16.1 RC 1)
Release Date: 2014-09-15
X Protocol Version 11, Revision 0
Build Operating System: Linux 3.14-2-amd64 x86_64 Debian
Current Operating System: Linux kano 3.16-2-amd64 #1 SMP Debian 3.16.3-2 (2014-09-20) x86_64
Kernel command line: BOOT_IMAGE=/boot/vmlinuz-3.16-2-amd64 root=UUID=cb52059d-d262-4051-8a0d-69cba808afb9 ro quiet
Build Date: 16 September 2014  02:45:53PM
xorg-server 2:1.16.0.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 Sep 25 18:59:05 2014
(==) Using system config directory "/usr/share/X11/xorg.conf.d"
(II) [KMS] Kernel modesetting enabled.
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 0x7f80bda34720
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.
(EE) 
(EE) Backtrace:
(EE) 0: X (xorg_backtrace+0x56) [0x7f80bb978af6]
(EE) 1: X (0x7f80bb7c3000+0x1b9cd9) [0x7f80bb97ccd9]
(EE) 2: /lib/x86_64-linux-gnu/libc.so.6 (0x7f80b94b6000+0x350f0) [0x7f80b94eb0f0]
(EE) 3: /usr/lib/xorg/modules/libglamoregl.so (glamor_set_screen_pixmap+0x60) [0x7f80b4f513b0]
(EE) 4: /usr/lib/xorg/modules/libglamoregl.so (glamor_egl_create_textured_screen+0xa0) [0x7f80b4f4e060]
(EE) 5: /usr/lib/xorg/modules/libglamoregl.so (glamor_egl_create_textured_screen_ext+0x3d) [0x7f80b4f4e13d]
(EE) 6: /usr/lib/xorg/modules/drivers/radeon_drv.so (0x7f80b57b3000+0x4b6ec) [0x7f80b57fe6ec]
(EE) 7: /usr/lib/xorg/modules/drivers/radeon_drv.so (0x7f80b57b3000+0x4443a) [0x7f80b57f743a]
(EE) 8: X (0x7f80bb7c3000+0xcbc3e) [0x7f80bb88ec3e]
(EE) 9: X (0x7f80bb7c3000+0x5af26) [0x7f80bb81df26]
(EE) 10: /lib/x86_64-linux-gnu/libc.so.6 (__libc_start_main+0xf5) [0x7f80b94d7b45]
(EE) 11: X (0x7f80bb7c3000+0x4550e) [0x7f80bb80850e]
(EE) 
(EE) Segmentation fault at address 0x1c
(EE) 
Fatal server error:
(EE) Caught signal 11 (Segmentation fault). Server aborting
(EE) 
(EE) 
Please consult the The X.Org Foundation support 
	 at http://wiki.x.org
 for help. 
(EE) Please also check the log file at "/var/log/Xorg.0.log" for additional information.
(EE) 
(II) AIGLX: Suspending AIGLX clients for VT switch
(EE) Server terminated with error (1). Closing log file.
Aborted (core dumped)
Comment 5 John Steele Scott 2014-09-25 10:40:50 UTC
Created attachment 106844 [details]
X server output with EGL_LOG_LEVEL=debug and -verbose 20

I'm attaching the output of

root@kano:/home/toojays# GLAMOR_DEBUG=1 EGL_LOG_LEVEL=debug startx -- -verbose 20 > startx-elg-debug.txt 2>&1

which is more complete than what I put in comment 4.
Comment 6 Mathias Brodala 2014-10-29 21:44:07 UTC
Created attachment 108659 [details]
X startup with EGL debug info

I am experiencing basically the same issue with my HD4670 when trying to enable Glamor acceleration. I'll attach a log produced by the command line mentioned in comment 5.

A noticeable difference is the "AIGLX error: r600 does not export required DRI extension" line and related.
Comment 7 ploh 2014-12-04 03:48:35 UTC
Created attachment 110440 [details]
Another Xorg log with the failure
Comment 8 ploh 2014-12-04 03:54:01 UTC
Hi there,

I just experienced this bug myself on a Radeon 7750, and I've just uploaded my Xorg.0.log.  The strange thing was that it surfaced after a reboot.  I traced my apt logs, and I hadn't installed/upgraded any X packages since the last reboot.  I tried upgrading/downgrading X to version 1.16.1, to no avail.  I'm using the latest versions of Mesa in Debian Testing.  I also compiled the latest kernel.

I also had a Radeon 6450 lying around, and I swapped the cards without changing the system software/config from the state which had caused the error in the Xorg.0.log which I attached.  The exact same system then ran perfectly fine.

Is there any sense of where this bug traces to?
Comment 9 Michel Dänzer 2014-12-16 09:12:56 UTC
Do you get more information with the environment variable MESA_DEBUG=incomplete_fbo ? If not, make sure Mesa is built with --enable-debug.
Comment 10 Wim Lewis 2014-12-18 07:44:44 UTC
(Continuing this bug report from https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=767356)

I rebuilt with --enable-debug and got this output. I'm not sure what info is useful, so I'm also attaching a file with stack traces from the places where att_incomplete() was called.

(gdb) set env MESA_DEBUG=incomplete_fbo
(gdb) set env GLAMOR_DEBUG=1
(gdb) set env EGL_LOG_LEVEL=debug
(gdb) run -keeptty
X.Org X Server 1.16.2.901 (1.16.3 RC 1)
Release Date: 2014-12-09
[...snip...]
(==) Log file: "/var/log/Xorg.0.log", Time: Wed Dec 17 23:25:32 2014
(==) Using system config directory "/usr/share/X11/xorg.conf.d"
(II) [KMS] Kernel modesetting enabled.
[New Thread 0x7fffed0f6700 (LWP 5888)]
libEGL debug: Native platform type: drm (autodetected)
libEGL debug: EGL search path is /usr/lib/x86_64-linux-gnu/egl
libEGL debug: added egl_dri2 to module array
libEGL debug: the best driver is DRI2
Mesa: attachment incomplete: teximage width/height=0
Mesa: FBO Incomplete: color attachment incomplete [0]
         glamor_pixmap_ensure_fb:	glamor: Failed to create fbo, incomplete attachment
Mesa: attachment incomplete: teximage width/height=0
Mesa: FBO Incomplete: color attachment incomplete [0]
         glamor_pixmap_ensure_fb:	glamor: Failed to create fbo, incomplete attachment
XXX fail to create fbo.

Program received signal SIGSEGV, Segmentation fault.
0x00007ffff13733a0 in glamor_set_screen_pixmap (screen_pixmap=screen_pixmap@entry=0x55555623db10, back_pixmap=0x0) at ../../glamor/glamor.c:122
122	../../glamor/glamor.c: No such file or directory.
Comment 11 Wim Lewis 2014-12-18 07:52:30 UTC
Created attachment 110973 [details]
Backtraces from att_incomplete()
Comment 12 Michel Dänzer 2014-12-18 08:45:44 UTC
(In reply to Wim Lewis from comment #10)
> Mesa: attachment incomplete: teximage width/height=0

Looks like something goes wrong when creating the texture, so at least one of its dimensions is 0 when creating the FBO.

The most likely candidate seems glEGLImageTargetTexture2DOES() failing in glamor_create_texture_from_image(). Can you trace execution around that to see if you find anything odd? It might also be useful to set a breakpoint on _mesa_error, which should be hit if glamor triggers any GL API errors.
Comment 13 Axel Davy 2014-12-18 21:50:17 UTC
Looking at:

"
libEGL debug: dlopen(/usr/lib/x86_64-linux-gnu/egl/egl_gallium.so)
libEGL info: use DRM for display 0x7f80bda34720
libEGL debug: EGL user error 0x3001 (EGL_NOT_INITIALIZED) in eglInitialize(no usable display)
"

It seems that the problem is the drm egl platform initialization.

egl_gallium is known to have some bugs the normal egl_dri2 implementation doesn't have.

Try build mesa without egl_gallium.
Comment 14 Wim Lewis 2014-12-18 22:27:14 UTC
(In reply to Michel Dänzer from comment #12)

Well, the place it seemed to be going off the rails was in dri2_lookup_egl_image() in dri2.c; the call to loader->lookupEGLImage() was returning NULL. That pointed into libgbm1, so I installed the debug-symbols package for libgbm1 ... which involved upgrading libgbm1 from 10.2.5-1 to 10.3.2-1 ... which fixed the problem; X11 works again for me.

So I'd say this is a Debian packaging bug: perhaps the other parts of Mesa need to indicate a dependency on a newer version of libgbm1 (currently libgbm is only pulled in by libegl1-mesa which requires libgbm1 >= 7.11~1), or whatever kernel facility gbm talks to needs to indicate it breaks old libgbm1 (if this has something to do with the 3.14.x->3.16.0 kernel; it looks like everyone hitting this problem is also running 3.16.x)... I'm completely unfamiliar with the dependencies in this area.

Sorry for taking up your time with what turned out to be PEBKAC (in my case at least)! I notice that the report from Yaroslav Halchenko on the Debian BTS also indicates he is running an older libgbm1 (10.2.8-1 in his case) so perhaps this is the cause of his problem as well.


(gdb) bt
#0  dri2_lookup_egl_image (screen=0x5555559ec7a0, handle=0x5555560daff0)
    at ../../../../../../src/gallium/state_trackers/dri/dri2.c:671
#1  0x00007fffefe7d1b5 in dri_get_egl_image (smapi=<optimized out>, 
    egl_image=<optimized out>, stimg=0x7fffffffe170)
    at ../../../../../../src/gallium/state_trackers/dri/dri_screen.c:308
#2  0x00007fffefdb9b0a in st_manager_get_egl_image_surface (st=0x555555b012a0, 
    eglimg=<optimized out>) at ../../../../src/mesa/state_tracker/st_manager.c:839
#3  0x00007fffefd92536 in st_egl_image_target_texture_2d (ctx=0x555555ad2670, 
    target=1443737584, texObj=0x55555627d3c0, texImage=0x55555627b1b0, 
    image_handle=0x5555560daff0)
    at ../../../../src/mesa/state_tracker/st_cb_eglimage.c:148
#4  0x00007fffefd2e013 in _mesa_EGLImageTargetTexture2DOES (target=3553, 
    image=0x5555560daff0) at ../../../../src/mesa/main/teximage.c:3451
#5  0x00007ffff136f99d in glamor_create_texture_from_image (
    screen=screen@entry=0x5555559d8800, image=image@entry=0x5555560daff0, 
    texture=texture@entry=0x7fffffffe284) at ../../../../glamor/glamor_egl.c:174
Comment 15 Michel Dänzer 2014-12-24 07:53:57 UTC
Looks like this needs to be resolved downstream after all.


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.