Skip to content

Gnome-shell crash on X11 after restarting the session and moving a window to a different monitor #1080

@smichel17

Description

@smichel17

This is a crazy one. I'm planning to try and fix it myself but I'm hoping someone with more gnome knowledge may be able to point me in the right direction. I'm also curious if others can reproduce it.

To Reproduce
Steps to reproduce the behavior:

  1. Log in to Gnome on X
  2. Use Alt-F2 and r to restart the session
  3. Open a window in the left monitor
  4. Press <Super><Ctrl><Shift>Right to move the selected window to the right monitor

Expected behavior
Window moves to the right monitor

Actual behavior
Gnome-shell crashes.

You can log out and log in again, but any further attempt to move windows between monitors will crash it again. Even restarting the computer does not change this.

However, after starting a new wayland session, then logging out and switching back to an X session, you can once again move windows between monitors without crashing gnome-shell.

Screenshots
I'll take a cell phone video if there's interest.

System information:

Distribution: Fedora Linux
GNOME Shell 48.4
Display server: Xorg
PaperWM branch/tag: gnome-48 (also tested develop)
PaperWM commit: 483e78256e59da6421a8ba79d361dbbec29e5f73
Enabled extensions:
- [email protected]
- [email protected]
- [email protected]

Additional context

journalctl _COMM=gnome-shell

Sep 25 18:58:15 earth gnome-shell[16114]: meta_workspace_index: assertion 'ret >= 0' failed
Sep 25 18:58:15 earth gnome-shell[16114]: JS ERROR: TypeError: space is undefined
                                          isFloating@file:///home/smichel/.local/share/gnome-shell/extensions/[email protected]/tiling.js:3410:5
                                          isTiled@file:///home/smichel/.local/share/gnome-shell/extensions/[email protected]/tiling.js:3354:9
                                          registerWindow/<@file:///home/smichel/.local/share/gnome-shell/extensions/[email protected]/tiling.js:3538:14
                                          switchMonitor@file:///home/smichel/.local/share/gnome-shell/extensions/[email protected]/tiling.js:2567:28
                                          setupActions/<@file:///home/smichel/.local/share/gnome-shell/extensions/[email protected]/keybindings.js:102:23
                                          asKeyHandler/<@file:///home/smichel/.local/share/gnome-shell/extensions/[email protected]/keybindings.js:369:60
                                          @resource:///org/gnome/shell/ui/init.js:21:20
Sep 25 18:58:15 earth gnome-shell[16114]: meta_workspace_index: assertion 'ret >= 0' failed
Sep 25 18:58:15 earth gnome-shell[16114]: meta_workspace_activate_with_focus: assertion 'meta_workspace_index (workspace) != -1' failed
Sep 25 18:58:15 earth audit[16114]: ANOM_ABEND auid=1000 uid=1000 gid=1000 ses=3 subj=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 pid=16114 comm="gnome-shell" exe="/usr/bin/gnome-shell" sig=11 res=1

But the typeerror is a false flag! You can change isFloating to just return false unconditionally, and the crash still happens! And then you just get this log:

Sep 25 19:03:10 earth gnome-shell[19438]: meta_workspace_index: assertion 'ret >= 0' failed
Sep 25 19:03:10 earth gnome-shell[19438]: meta_workspace_index: assertion 'ret >= 0' failed
Sep 25 19:03:10 earth gnome-shell[19438]: meta_workspace_activate_with_focus: assertion 'meta_workspace_index (workspace) != -1' failed
Sep 25 19:03:10 earth audit[19438]: ANOM_ABEND auid=1000 uid=1000 gid=1000 ses=3 subj=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 pid=19438 comm="gnome-shell" exe="/usr/bin/gnome-shell" sig=11 res=1

I kinda wonder if something is borked in my system specifically. I was working on a "global move windows" to complement #1076, so I was restarting X a lot, and there were schema change involved. It doesn't make sense why that would trigger the bug, but nothing about this bug makes sense. It was working fine for me, then all the sudden it wasn't, and I was pulling my hair out trying to figure out which code I changed that caused a crash. Turns out it wasn't me; when reverting to the release branch the bug persists. (Which invites the question: how come it was working before? No clue).

Metadata

Metadata

Assignees

Labels

bugUndesirable behaviorcan't reproduceIssue doesn't happen on our end

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions