FS#70391 - [gnome-shell] Crashes after suspend

Attached to Project: Arch Linux
Opened by sven (commonuser) - Friday, 09 April 2021, 20:11 GMT
Last edited by Toolybird (Toolybird) - Friday, 02 June 2023, 07:06 GMT
Task Type Bug Report
Category Packages: Extra
Status Closed
Assigned To Jan Alexander Steffens (heftig)
Architecture x86_64
Severity Low
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 1
Private No



Messages shortly before suspending:
> gnome-shell: Failed to query buffer age, got error 300d
> gnome-shell: _cogl_buffer_gl_map_range: assertion 'data != NULL' failed
> gnome-shell: g_error_free: assertion 'error != NULL' failed
> gnome-shell: _cogl_buffer_bind_no_create: assertion 'ctx->current_buffer[buffer->last_target] != buffer' failed
> gnome-shell: meta_drm_buffer_gbm_new_lock_front failed: gbm_surface_lock_front_buffer failed

Messages after suspending:
> gnome-shell: **
> gnome-shell: mutter:ERROR:../mutter/src/backends/native/meta-onscreen-native.c:204:meta_onscreen_native_notify_frame_complete: assertion failed: (!cogl_onscreen_peek_head_frame_info (onscreen))
> gnome-shell: Bail out! mutter:ERROR:../mutter/src/backends/native/meta-onscreen-native.c:204:meta_onscreen_native_notify_frame_complete: assertion failed: (!cogl_onscreen_peek_head_frame_info (onscreen))
> gnome-shell: == Stack trace for context 0x55ccfb2411d0 ==
> gnome-shell: (EE) failed to read Wayland events: Broken pipe

Stacktrace (symbols seem missing)
> #0 0x00007fe2a3cf6ef5 in raise () at /usr/lib/libc.so.6
> #1 0x000055ccf8feba39 in ()
> #2 0x00007fe2a3cf6f80 in <signal handler called> () at /usr/lib/libc.so.6
> #3 0x00007fe2a3cf6ef5 in raise () at /usr/lib/libc.so.6
> #4 0x00007fe2a3ce0862 in abort () at /usr/lib/libc.so.6
> #5 0x00007fe2a4b30084 in () at /usr/lib/libglib-2.0.so.0
> #6 0x00007fe2a4b8b85d in g_assertion_message_expr () at /usr/lib/libglib-2.0.so.0
> #7 0x00007fe2a3ffa97d in () at /usr/lib/libmutter-8.so.0
> #8 0x00007fe2a4b61698 in g_list_foreach () at /usr/lib/libglib-2.0.so.0
> #9 0x00007fe2a4000477 in () at /usr/lib/libmutter-8.so.0
> #10 0x00007fe2a4b67614 in () at /usr/lib/libglib-2.0.so.0
> #11 0x00007fe2a4b66f30 in g_main_context_dispatch () at /usr/lib/libglib-2.0.so.0
> #12 0x00007fe2a4bbab59 in () at /usr/lib/libglib-2.0.so.0
> #13 0x00007fe2a4b66593 in g_main_loop_run () at /usr/lib/libglib-2.0.so.0
> #14 0x00007fe2a3f4de4f in meta_run () at /usr/lib/libmutter-8.so.0
> #15 0x000055ccf8feb42a in ()
> #16 0x00007fe2a3ce1b25 in __libc_start_main () at /usr/lib/libc.so.6
> #17 0x000055ccf8feb65e in ()

Additional info:
* package version: 1:40.0-1
* config: Thinkpad T420 with GPUs set to Optimus (OpenGL by Intel and output handled by Nvidia). Using Linux 5.11.12-arch1-1 and nouveau.

Steps to reproduce:
1. Start a new Gnome session.
2. Suspend.
3. Resume.
4. Being dropped back to GDM.
This task depends upon

Closed by  Toolybird (Toolybird)
Friday, 02 June 2023, 07:06 GMT
Reason for closing:  No response
Additional comments about closing:  Plus it's old and stale. If still an issue, please report upstream.
Comment by sven (commonuser) - Sunday, 11 April 2021, 21:16 GMT
It seems it is sufficient to lock the session (SUPER+l) to trigger bug. Also, it seems this only happens for Wayland sessions. Couldn't reproduce this using a X session.

Maybe related to https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/4081?
Comment by sven (commonuser) - Sunday, 11 April 2021, 21:24 GMT
I also observed different behavior based on screen configuration.

For two screens, the internal laptop and an external one via display port. If the external one is the primary screen, it crashes once the external screen turns off after locking. If the internal one is set primary, it seems I cannot trigger the bug.
Comment by Jan Alexander Steffens (heftig) - Monday, 12 April 2021, 00:24 GMT Comment by Neal (meltdown) - Sunday, 18 April 2021, 15:15 GMT
I'm having the same issue when the screen dims after the `org.gnome.desktop.session idle-delay` timer is reached. I attached the stack trace. I don't have the system set to suspend or lock, but it does end up suspending because I get logged out 9 out of 10 times when the screen dims. (Lenovo Thinkpad T440)
   crash.txt (18.5 KiB)
Comment by sven (commonuser) - Sunday, 18 April 2021, 21:24 GMT
Latest version 1:40.0+39+gd9e953e93-1 seems to have solved the issue, at least I cannot reproduce it any more.
Comment by Neal (meltdown) - Sunday, 18 April 2021, 21:30 GMT
I still have the issue of gnome-shell crashing when locking or dimming after updating to 1:40.0+39+gd9e953e93-1. Attached the log. I updated, restarted, logged in, locked desktop (Windows+L). I was then logged out.
   crash.txt (360.7 KiB)
Comment by Neal (meltdown) - Sunday, 18 April 2021, 22:01 GMT
I rebuilt gnome-session, gnome-settings-daemon, gnome-shell, mutter, and gnome-desktop from source. Along with the update to libglvnd (not sure if this is related), now seems to be working. The display is also sleeping now when the screen blanks.
Comment by sven (commonuser) - Sunday, 18 April 2021, 22:30 GMT
Current upstream master or a specific tag?
Comment by Neal (meltdown) - Sunday, 18 April 2021, 22:34 GMT
Current upstream
Comment by Neal (meltdown) - Monday, 19 April 2021, 03:16 GMT
Update: Still crashing. It was working most of the day but after a restart, the crashes on lock and dim are back.

Attached the crash log. The shorter, more recent (closer to the top of the file) stack trace is when locking, the first was when the screen blanked. I was logged out on both instances.
   crash.txt (518.2 KiB)
Comment by Neal (meltdown) - Monday, 19 April 2021, 22:46 GMT
OK, i rebuilt gnome-shell, mutter and gnome-desktop from the official Arch PKGBUILDs late last night. I removed the specific commit from the source line so it builds the master branch. Since last night, no issues with dimming of locking now. I rebuild again today and still working. so it must have just been an upstream issue.
Comment by Jan Alexander Steffens (heftig) - Monday, 19 April 2021, 23:04 GMT
The reason the shell crashes is:

gtk_icon_theme_get_for_screen: assertion 'GDK_IS_SCREEN (screen)' failed
Comment by Jan Alexander Steffens (heftig) - Monday, 19 April 2021, 23:06 GMT
The assertion failure seems to always appear with a backtrace involving the dash-to-dock extension. It looks like this extension is broken.
Comment by Jan Alexander Steffens (heftig) - Monday, 19 April 2021, 23:10 GMT
Actually, I might have misidentified the critical error message. This looks closer to the crashes:

toggling down object GSettings that's already queued to toggle up
== Stack trace for context 0x555881180180 ==
#0 5558813e4608 i /home/neal/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/docking.js:1786 (1300a968d9c0 @ 285)
#1 5558813e4580 i /home/neal/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/extension.js:20 (1300a968d560 @ 12)
#2 5558813e44a8 i resource:///org/gnome/shell/ui/extensionSystem.js:108 (3c5e0394a6f0 @ 395)

In any case, it's again dash-to-dock code.
Comment by Neal (meltdown) - Tuesday, 20 April 2021, 00:22 GMT
Ok thanks, the dash extension is still a WIP for gnome 40. Everything is working now, but I'll keep that in mind if I have more issues.
Comment by mattia (nTia89) - Sunday, 20 March 2022, 15:31 GMT
@sven, can we close the issue since it is not related to gnome-shell itself?