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? 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?)
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?)

Back to Bug 1620101 Comment 3