Running from `gdb` (after installing all the debuginfo-packages gdb asked for) and breaking on `gdk_x11_window_get_desktop` I see that [`XGetWindowProperty`](https://github.com/GNOME/gtk/blob/gtk-3-24/gdk/x11/gdkwindow-x11.c#L2205) returns `0` in all return variables: ``` (gdb) n get_netwm_cardinal_property (name=0x7ffff656e2f8 "_NET_WM_DESKTOP", window=0x7fffb4dea3e0) at gdkwindow-x11.c:2211 2211 if (type == XA_CARDINAL) (gdb) list 2206 GDK_WINDOW_XID (window), 2207 gdk_x11_get_xatom_by_name_for_display (GDK_WINDOW_DISPLAY (window), name), 2208 0, G_MAXLONG, 2209 False, XA_CARDINAL, &type, &format, &nitems, 2210 &bytes_after, &data); 2211 if (type == XA_CARDINAL) 2212 { 2213 prop = *(gulong *)data; 2214 XFree (data); 2215 } (gdb) print type $5 = 0 (gdb) print nitems $6 = 0 (gdb) print format $7 = 0 (gdb) print data $8 = (guchar *) 0x0 (gdb) print bytes_after $9 = 0 ``` Unfortunately I'm far out of my depth here and this looks like maybe an X11/KWin(?) issue? Even though I installed all debuginfo packages I can't step into the `XGetWindowProperty` function... I manually returned different values > 0 from `gdk_x11_window_get_desktop` and was able to see the `workspaceID` being persisted to `sessionstore.jsonlz4`, but restoring from that session also didn't restore to the correct virtual desktops, so the restore path is also broken :( (I also saw a "warning: Corrupted shared library list: 0x7fffa5d8e000 != 0x7fffa0f5b800" by gdb once, but that seems unrelated?)
Bug 1620101 Comment 3 Edit History
Note: The actual edited comment in the bug view page will always show the original commenter’s name and original timestamp.
Running from `gdb` (after installing all the debuginfo-packages gdb asked for) and breaking on `gdk_x11_window_get_desktop` I see that [`XGetWindowProperty`](https://github.com/GNOME/gtk/blob/gtk-3-24/gdk/x11/gdkwindow-x11.c#L2205) returns `0` in all return variables: ``` (gdb) n get_netwm_cardinal_property (name=0x7ffff656e2f8 "_NET_WM_DESKTOP", window=0x7fffb4dea3e0) at gdkwindow-x11.c:2211 2211 if (type == XA_CARDINAL) (gdb) list 2206 GDK_WINDOW_XID (window), 2207 gdk_x11_get_xatom_by_name_for_display (GDK_WINDOW_DISPLAY (window), name), 2208 0, G_MAXLONG, 2209 False, XA_CARDINAL, &type, &format, &nitems, 2210 &bytes_after, &data); 2211 if (type == XA_CARDINAL) 2212 { 2213 prop = *(gulong *)data; 2214 XFree (data); 2215 } (gdb) print type $5 = 0 (gdb) print nitems $6 = 0 (gdb) print format $7 = 0 (gdb) print data $8 = (guchar *) 0x0 (gdb) print bytes_after $9 = 0 ``` Unfortunately I'm far out of my depth here and this looks like maybe an X11/KWin(?) issue? I can step into the `XGetWindowProperty` function, but Firefox and GDB frequently hangs there until I send a SIGINT. I manually returned different values > 0 from `gdk_x11_window_get_desktop` and was able to see the `workspaceID` being persisted to `sessionstore.jsonlz4`, but restoring from that session also didn't restore to the correct virtual desktops, so the restore path is also broken :( (I also saw a "warning: Corrupted shared library list: 0x7fffa5d8e000 != 0x7fffa0f5b800" by gdb once, but that seems unrelated?)
Running from `gdb` (after installing all the debuginfo-packages gdb asked for) and breaking on `gdk_x11_window_get_desktop` I see that [`XGetWindowProperty`](https://github.com/GNOME/gtk/blob/gtk-3-24/gdk/x11/gdkwindow-x11.c#L2205) returns `0` in all return variables: ``` (gdb) n get_netwm_cardinal_property (name=0x7ffff656e2f8 "_NET_WM_DESKTOP", window=0x7fffb4dea3e0) at gdkwindow-x11.c:2211 2211 if (type == XA_CARDINAL) (gdb) list 2206 GDK_WINDOW_XID (window), 2207 gdk_x11_get_xatom_by_name_for_display (GDK_WINDOW_DISPLAY (window), name), 2208 0, G_MAXLONG, 2209 False, XA_CARDINAL, &type, &format, &nitems, 2210 &bytes_after, &data); 2211 if (type == XA_CARDINAL) 2212 { 2213 prop = *(gulong *)data; 2214 XFree (data); 2215 } (gdb) print type $5 = 0 (gdb) print nitems $6 = 0 (gdb) print format $7 = 0 (gdb) print data $8 = (guchar *) 0x0 (gdb) print bytes_after $9 = 0 ``` Unfortunately I'm far out of my depth here and this looks like maybe an X11/KWin(?) issue? I can step into the `XGetWindowProperty` function, but Firefox and GDB frequently hangs there until I send a SIGINT (interrupts `__lll_lock_wait (futex=futex@entry=0x7ffff7900020, private=0) at lowlevellock.c:52`). I manually returned different values > 0 from `gdk_x11_window_get_desktop` and was able to see the `workspaceID` being persisted to `sessionstore.jsonlz4`, but restoring from that session also didn't restore to the correct virtual desktops, so the restore path is also broken :( (I also saw a "warning: Corrupted shared library list: 0x7fffa5d8e000 != 0x7fffa0f5b800" by gdb once, but that seems unrelated?)
Running from `gdb` (after installing all the debuginfo-packages gdb asked for) and breaking on `gdk_x11_window_get_desktop` I see that [`XGetWindowProperty`](https://github.com/GNOME/gtk/blob/gtk-3-24/gdk/x11/gdkwindow-x11.c#L2205) returns `0` in all return variables: ``` (gdb) n get_netwm_cardinal_property (name=0x7ffff656e2f8 "_NET_WM_DESKTOP", window=0x7fffb4dea3e0) at gdkwindow-x11.c:2211 2211 if (type == XA_CARDINAL) (gdb) list 2206 GDK_WINDOW_XID (window), 2207 gdk_x11_get_xatom_by_name_for_display (GDK_WINDOW_DISPLAY (window), name), 2208 0, G_MAXLONG, 2209 False, XA_CARDINAL, &type, &format, &nitems, 2210 &bytes_after, &data); 2211 if (type == XA_CARDINAL) 2212 { 2213 prop = *(gulong *)data; 2214 XFree (data); 2215 } (gdb) print type $5 = 0 (gdb) print nitems $6 = 0 (gdb) print format $7 = 0 (gdb) print data $8 = (guchar *) 0x0 (gdb) print bytes_after $9 = 0 ``` Unfortunately I'm far out of my depth here and this looks like maybe an X11/KWin(?) issue? I can step into the `XGetWindowProperty` function, but Firefox and GDB frequently hangs there until I send a SIGINT (interrupts `__lll_lock_wait (futex=futex@entry=0x7ffff7900020, private=0) at lowlevellock.c:52`; edit: debugging Firefox XWayland from a Wayland session running konsole with gdb natively works around the issue). I manually returned different values > 0 from `gdk_x11_window_get_desktop` and was able to see the `workspaceID` being persisted to `sessionstore.jsonlz4`, but restoring from that session also didn't restore to the correct virtual desktops, so the restore path is also broken :( (I also saw a "warning: Corrupted shared library list: 0x7fffa5d8e000 != 0x7fffa0f5b800" by gdb once, but that seems unrelated?)