Bug 106556 - Upgrade to 18.0 completely breaks gnome-shell
Summary: Upgrade to 18.0 completely breaks gnome-shell
Alias: None
Product: Mesa
Classification: Unclassified
Component: Drivers/DRI/i965 (show other bugs)
Version: 18.0
Hardware: x86-64 (AMD64) Linux (All)
: medium major
Assignee: Intel 3D Bugs Mailing List
QA Contact: Intel 3D Bugs Mailing List
Depends on:
Reported: 2018-05-17 19:59 UTC by Dustin Phipps
Modified: 2019-09-25 19:11 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Description Dustin Phipps 2018-05-17 19:59:13 UTC
After upgrading to mesa 18.0, gnome-shell crashes immediately upon starting (before the GDM login prompt). I'm running Arch Linux with Gnome 3.28 on a Lenovo P51 with hybrid graphics. Here are the relevant bits from lspci:

01:00.0 3D controller: NVIDIA Corporation GM206GLM [Quadro M2200 Mobile] (rev a1)
00:02.0 VGA compatible controller: Intel Corporation Device 591b (rev 04)

The following is a stack trace captured from journalctl:

May 17 11:34:07 bubo systemd-coredump[882]: Process 778 (gnome-shell) of user 120 dumped core.
                                            Stack trace of thread 778:
                                            #0  0x00007f627934f860 raise (libc.so.6)
                                            #1  0x00007f6279350ec9 abort (libc.so.6)
                                            #2  0x00007f6279392437 __libc_message (libc.so.6)
                                            #3  0x00007f627939878b malloc_printerr (libc.so.6)
                                            #4  0x00007f6279398c3c munmap_chunk (libc.so.6)
                                            #5  0x00007f625267ee84 n/a (i965_dri.so)
                                            #6  0x00007f62524ecad8 n/a (i965_dri.so)
                                            #7  0x00007f6252595530 n/a (i965_dri.so)
                                            #8  0x00007f6253ddce18 n/a (libEGL_mesa.so.0)
                                            #9  0x00007f6253dd405b eglCreateContext (libEGL_mesa.so.0)
                                            #10 0x00007f6275ba799e n/a (libmutter-cogl-2.so)
                                            #11 0x00007f6275b5dcd6 cogl_display_setup (libmutter-cogl-2.so)
                                            #12 0x00007f6275b5d01b cogl_renderer_check_onscreen_template (libmutter-cogl-2.so)
                                            #13 0x00007f62772af0ff n/a (libmutter-clutter-2.so)
                                            #14 0x00007f62772c8765 n/a (libmutter-clutter-2.so)
                                            #15 0x00007f62772dc6cb n/a (libmutter-clutter-2.so)
                                            #16 0x00007f62772dc898 n/a (libmutter-clutter-2.so)
                                            #17 0x00007f6278622aef g_option_context_parse (libglib-2.0.so.0)
                                            #18 0x00007f62772dd6c5 clutter_init (libmutter-clutter-2.so)
                                            #19 0x00007f6276ac9d78 meta_clutter_init (libmutter-2.so.0)
                                            #20 0x00007f6276b12e2e meta_init (libmutter-2.so.0)
                                            #21 0x000056395e8aecda n/a (gnome-shell)
                                            #22 0x00007f627933bf4a __libc_start_main (libc.so.6)
                                            #23 0x000056395e8af14a n/a (gnome-shell)
                                            Stack trace of thread 806:
                                            #0  0x00007f627940697b __poll (libc.so.6)
                                            #1  0x00007f6278616523 n/a (libglib-2.0.so.0)
                                            #2  0x00007f627861663e g_main_context_iteration (libglib-2.0.so.0)
                                            #3  0x00007f6278616692 n/a (libglib-2.0.so.0)
                                            #4  0x00007f627863ea2a n/a (libglib-2.0.so.0)
                                            #5  0x00007f62796d908c start_thread (libpthread.so.0)
                                            #6  0x00007f6279410e7f __clone (libc.so.6)
                                            Stack trace of thread 871:
                                            #0  0x00007f627940697b __poll (libc.so.6)
                                            #1  0x00007f6278616523 n/a (libglib-2.0.so.0)
                                            #2  0x00007f627861663e g_main_context_iteration (libglib-2.0.so.0)
                                            #3  0x00007f6260963f4e n/a (libdconfsettings.so)
                                            #4  0x00007f627863ea2a n/a (libglib-2.0.so.0)
                                            #5  0x00007f62796d908c start_thread (libpthread.so.0)
                                            #6  0x00007f6279410e7f __clone (libc.so.6)
                                            Stack trace of thread 870:
                                            #0  0x00007f627940b879 syscall (libc.so.6)
                                            #1  0x00007f627865d52d g_cond_wait_until (libglib-2.0.so.0)
                                            #2  0x00007f62785e8903 n/a (libglib-2.0.so.0)
                                            #3  0x00007f627863f436 n/a (libglib-2.0.so.0)
                                            #4  0x00007f627863ea2a n/a (libglib-2.0.so.0)
                                            #5  0x00007f62796d908c start_thread (libpthread.so.0)
                                            #6  0x00007f6279410e7f __clone (libc.so.6)
                                            Stack trace of thread 807:
                                            #0  0x00007f627940697b __poll (libc.so.6)
                                            #1  0x00007f6278616523 n/a (libglib-2.0.so.0)
                                            #2  0x00007f62786168e2 g_main_loop_run (libglib-2.0.so.0)
                                            #3  0x00007f6278c05348 n/a (libgio-2.0.so.0)
                                            #4  0x00007f627863ea2a n/a (libglib-2.0.so.0)
                                            #5  0x00007f62796d908c start_thread (libpthread.so.0)
                                            #6  0x00007f6279410e7f __clone (libc.so.6)
-- Subject: Process 778 (gnome-shell) dumped core
-- Defined-By: systemd
-- Support: https://lists.freedesktop.org/mailman/listinfo/systemd-devel
-- Documentation: man:core(5)
-- Process 778 (gnome-shell) crashed and dumped core.
-- This usually indicates a programming error in the crashing program and
-- should be reported to its vendor as a bug.
Comment 1 Eero Tamminen 2018-05-18 08:24:23 UTC
Did you update anything else than Mesa, e.g. something X related? And what is your X server version?

Looks like there's either:
* invalid pointer being freed by Mesa, or
* memory corruption detected by libc (which could be elsewhere than Mesa)

When application tries to create the GLES context with the Intel driver.

It's possible that the issue comes because context creation fails, and this error happens (in rarely used?) context creation failure path.  In that case, this crash wouldn't be your actual problem, but something before it.

Do other desktops / compositors than Gnome crash?

If not, what "glxinfo | grep OpenGL" reports under them?

I'm not able to reproduce Gnome shell issue with Mesa and X server git versions (on top of ClearLinux).  It would be good to hear from other Arch users, whether they see the same issue with same SW versions, or is the issue specific to your setup.

To determine which issue this actually is, please install Mesa debug symbols and get a backtrace with Mesa function names, and provide gnome-shell output [1] from the error. -> NEEDINFO

[1] If some other desktop environment works, you can try running gnome-shell directly under it, and see whether Mesa reports any problems from gnome-shell to the terminal.
Comment 2 Clayton Craft 2018-05-18 15:37:23 UTC
Arch Linux saw xorg-server updated from 1.19 to 1.20 in the official 'extra' repo yesterday (5/17), so it would be good to rule that out as a possible cause. 

Dustin, did you move from Mesa 17.x to 18.x yesterday and also update xorg-server?
Comment 3 Dustin Phipps 2018-05-18 20:26:29 UTC
This has been an ongoing problem. My machine has been pegged to the Arch Linux Archive repository from 03/23/18 for almost two months. It was only a couple of days ago that I finally had the time to figure out the exact problem. It's definitely the upgrade of the Arch mesa package that breaks it, because I was able to get an up-to-date working setup by holding only mesa at 17.3.

I don't know about any other DEs because I only use Gnome. I could possibly set up a virtual machine or something, but I don't know how useful that would be. I wouldn't be surprised if it has something to do with the hybrid graphics setup on this laptop, which has been the bane of my existence ever since my company gave it to me.

I hope this helps. I'll install the debug symbols and force another crash when I have time.
Comment 4 Dustin Phipps 2018-05-18 20:38:49 UTC
Sorry, I forgot to add that xorg-server is at 1.19.6.
Comment 5 GitLab Migration User 2019-09-25 19:11:21 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/mesa/mesa/issues/1727.

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.