GNOME Screenshot crashes when taking a "window" screenshot of empty desktop
When trying to take a screenshot of empty GNOME desktop while having "Window" selected as capture area, GNOME Screenshot crashes. It is true that there is no point in making a window screenshot of a desktop without any windows opened, however I think that GNOME Screenshot should not crash even at this point. :-)
Fedora 33, gnome-screenshot-3.37.90-1.fc33.x86_64
Here is a coredump of the crash:
zář 03 15:38:58 localhost.localdomain systemd-coredump[3351]: Process 3313 (gnome-screensho) of user 1000 dumped core.
Stack trace of thread 3313:
#0 0x00007fe6d09b313b _XSend (libX11.so.6 + 0x4613b)
#1 0x00007fe6d09b6130 _XFlush (libX11.so.6 + 0x49130)
#2 0x00007fe6d09b6395 _XGetRequest (libX11.so.6 + 0x49395)
#3 0x00007fe6d09ab28e XQueryTree (libX11.so.6 + 0x3e28e)
#4 0x0000563f89afee05 screenshot_backend_x11_get_pixbuf (gnome-screenshot + 0xae05)
#5 0x0000563f89b01b1b take_screenshot_timeout (gnome-screenshot + 0xdb1b)
#6 0x00007fe6d087b63d g_timeout_dispatch (libglib-2.0.so.0 + 0x5263d)
#7 0x00007fe6d087afc7 g_main_context_dispatch (libglib-2.0.so.0 + 0x51fc7)
#8 0x00007fe6d08cba48 g_main_context_iterate.constprop.0 (libglib-2.0.so.0 + 0xa2a48)
#9 0x00007fe6d08783ef g_main_context_iteration (libglib-2.0.so.0 + 0x4f3ef)
#10 0x00007fe6cfd563d5 g_application_run (libgio-2.0.so.0 + 0xd53d5)
#11 0x0000563f89afca10 main (gnome-screenshot + 0x8a10)
#12 0x00007fe6cf9d21a2 __libc_start_main (libc.so.6 + 0x281a2)
#13 0x0000563f89afca8e _start (gnome-screenshot + 0x8a8e)
Stack trace of thread 3319:
#0 0x00007fe6cfaa0a0f __poll (libc.so.6 + 0xf6a0f)
#1 0x00007fe6d08cb9de g_main_context_iterate.constprop.0 (libglib-2.0.so.0 + 0xa29de)
#2 0x00007fe6d08783ef g_main_context_iteration (libglib-2.0.so.0 + 0x4f3ef)
#3 0x00007fe6d087a021 glib_worker_main (libglib-2.0.so.0 + 0x51021)
#4 0x00007fe6d08a7ede g_thread_proxy (libglib-2.0.so.0 + 0x7eede)
#5 0x00007fe6cf8e73f9 start_thread (libpthread.so.0 + 0x93f9)
#6 0x00007fe6cfaabb03 __clone (libc.so.6 + 0x101b03)
Stack trace of thread 3321:
#0 0x00007fe6cfaa650d syscall (libc.so.6 + 0xfc50d)
#1 0x00007fe6d08c7a98 g_cond_wait_until (libglib-2.0.so.0 + 0x9ea98)
#2 0x00007fe6d084c341 g_async_queue_pop_intern_unlocked (libglib-2.0.so.0 + 0x23341)
#3 0x00007fe6d084c4c2 g_async_queue_timeout_pop (libglib-2.0.so.0 + 0x234c2)
#4 0x00007fe6d08aaab9 g_thread_pool_thread_proxy.lto_priv.0 (libglib-2.0.so.0 + 0x81ab9)
#5 0x00007fe6d08a7ede g_thread_proxy (libglib-2.0.so.0 + 0x7eede)
#6 0x00007fe6cf8e73f9 start_thread (libpthread.so.0 + 0x93f9)
#7 0x00007fe6cfaabb03 __clone (libc.so.6 + 0x101b03)
Stack trace of thread 3320:
#0 0x00007fe6cfaa0a0f __poll (libc.so.6 + 0xf6a0f)
#1 0x00007fe6d08cb9de g_main_context_iterate.constprop.0 (libglib-2.0.so.0 + 0xa29de)
#2 0x00007fe6d087a69b g_main_loop_run (libglib-2.0.so.0 + 0x5169b)
#3 0x00007fe6cfd896a6 gdbus_shared_thread_func.lto_priv.0 (libgio-2.0.so.0 + 0x1086a6)
#4 0x00007fe6d08a7ede g_thread_proxy (libglib-2.0.so.0 + 0x7eede)
#5 0x00007fe6cf8e73f9 start_thread (libpthread.so.0 + 0x93f9)
#6 0x00007fe6cfaabb03 __clone (libc.so.6 + 0x101b03)
Stack trace of thread 3323:
#0 0x00007fe6cfaa0a0f __poll (libc.so.6 + 0xf6a0f)
#1 0x00007fe6d08cb9de g_main_context_iterate.constprop.0 (libglib-2.0.so.0 + 0xa29de)
#2 0x00007fe6d08783ef g_main_context_iteration (libglib-2.0.so.0 + 0x4f3ef)
#3 0x00007fe6c046403d dconf_gdbus_worker_thread (libdconfsettings.so + 0x703d)
#4 0x00007fe6d08a7ede g_thread_proxy (libglib-2.0.so.0 + 0x7eede)
#5 0x00007fe6cf8e73f9 start_thread (libpthread.so.0 + 0x93f9)
#6 0x00007fe6cfaabb03 __clone (libc.so.6 + 0x101b03)
Edited by Daniel Rusek