Crash when closing a main window having a transient window open with some apps
I use xfwm4
master, the crash occurs since commit 884a799e
Steps to reproduce:
- open Mousepad (0.4.2 or 0.5.0 or master);
- open the replace dialog (Ctrl-R);
- close the main window from the close button keeping the dialog open.
Error received only if compiled without debug support (as far as I can see):
(xfwm4:89197): Gdk-ERROR **: 23:07:18.394: The program 'xfwm4' received an X Window System error.
This probably reflects a bug in the program.
The error was 'BadWindow (invalid Window parameter)'.
(Details: serial 49769 error_code 3 request_code 20 (core protocol) minor_code 0)
(Note to programmers: normally, X errors are reported asynchronously;
that is, you will receive the error a while after causing it.
To debug your program, run it with the GDK_SYNCHRONIZE environment
variable to change this behavior. You can then get a meaningful
backtrace from your debugger if you break on the gdk_x_error() function.)
Core dump:
Process 66353 (xfwm4) of user 1000 dumped core.
Stack trace of thread 66353:
#0 0x00007f21e3be0104 g_log_writer_default (libglib-2.0.so.0 + 0x5c104)
#1 0x00007f21e3bdd959 g_log_structured_array (libglib-2.0.so.0 + 0x59959)
#2 0x00007f21e3bddeb1 g_log_structured_standard (libglib-2.0.so.0 + 0x59eb1)
#3 0x00007f21e4253577 n/a (libgdk-3.so.0 + 0x91577)
#4 0x00007f21e3a67aa5 _XError (libX11.so.6 + 0x43aa5)
#5 0x00007f21e3a646f8 n/a (libX11.so.6 + 0x406f8)
#6 0x00007f21e3a659e9 _XReply (libX11.so.6 + 0x419e9)
#7 0x00007f21e3a4af16 XGetWindowProperty (libX11.so.6 + 0x26f16)
#8 0x00007f21e3a4a079 XGetTransientForHint (libX11.so.6 + 0x26079)
#9 0x000055b0863770ac getTransientFor (xfwm4 + 0x2d0ac)
#10 0x000055b086370db7 handlePropertyNotify (xfwm4 + 0x26db7)
#11 0x000055b08636d758 eventXfwmFilter (xfwm4 + 0x23758)
#12 0x00007f21e424b80f n/a (libgdk-3.so.0 + 0x8980f)
#13 0x00007f21e424f517 n/a (libgdk-3.so.0 + 0x8d517)
#14 0x00007f21e41f315b gdk_display_get_event (libgdk-3.so.0 + 0x3115b)
#15 0x00007f21e424f104 n/a (libgdk-3.so.0 + 0x8d104)
#16 0x00007f21e3bd68f4 g_main_context_dispatch (libglib-2.0.so.0 + 0x528f4)
#17 0x00007f21e3c2a821 n/a (libglib-2.0.so.0 + 0xa6821)
#18 0x00007f21e3bd5e43 g_main_loop_run (libglib-2.0.so.0 + 0x51e43)
#19 0x00007f21e44a422f gtk_main (libgtk-3.so.0 + 0x1e122f)
#20 0x000055b08635ae7e main (xfwm4 + 0x10e7e)
#21 0x00007f21e3714152 __libc_start_main (libc.so.6 + 0x28152)
#22 0x000055b08635b0fe _start (xfwm4 + 0x110fe)
Stack trace of thread 66358:
#0 0x00007f21e38c46a2 pthread_cond_wait@@GLIBC_2.3.2 (libpthread.so.0 + 0xf6a2)
#1 0x00007f21dad1f72c n/a (r600_dri.so + 0x4ed72c)
#2 0x00007f21dad1def8 n/a (r600_dri.so + 0x4ebef8)
#3 0x00007f21e38be3e9 start_thread (libpthread.so.0 + 0x93e9)
#4 0x00007f21e37ec293 __clone (libc.so.6 + 0x100293)
Stack trace of thread 66355:
#0 0x00007f21e37e146f __poll (libc.so.6 + 0xf546f)
#1 0x00007f21e3c2a7af n/a (libglib-2.0.so.0 + 0xa67af)
#2 0x00007f21e3bd5e43 g_main_loop_run (libglib-2.0.so.0 + 0x51e43)
#3 0x00007f21e3e13fe8 n/a (libgio-2.0.so.0 + 0x101fe8)
#4 0x00007f21e3c03d31 n/a (libglib-2.0.so.0 + 0x7fd31)
#5 0x00007f21e38be3e9 start_thread (libpthread.so.0 + 0x93e9)
#6 0x00007f21e37ec293 __clone (libc.so.6 + 0x100293)
Stack trace of thread 66360:
#0 0x00007f21e38c46a2 pthread_cond_wait@@GLIBC_2.3.2 (libpthread.so.0 + 0xf6a2)
#1 0x00007f21dad1f72c n/a (r600_dri.so + 0x4ed72c)
#2 0x00007f21dad1def8 n/a (r600_dri.so + 0x4ebef8)
#3 0x00007f21e38be3e9 start_thread (libpthread.so.0 + 0x93e9)
#4 0x00007f21e37ec293 __clone (libc.so.6 + 0x100293)
Stack trace of thread 66354:
#0 0x00007f21e37e146f __poll (libc.so.6 + 0xf546f)
#1 0x00007f21e3c2a7af n/a (libglib-2.0.so.0 + 0xa67af)
#2 0x00007f21e3bd5121 g_main_context_iteration (libglib-2.0.so.0 + 0x51121)
#3 0x00007f21e3bd5172 n/a (libglib-2.0.so.0 + 0x51172)
#4 0x00007f21e3c03d31 n/a (libglib-2.0.so.0 + 0x7fd31)
#5 0x00007f21e38be3e9 start_thread (libpthread.so.0 + 0x93e9)
#6 0x00007f21e37ec293 __clone (libc.so.6 + 0x100293)
Stack trace of thread 66362:
#0 0x00007f21e38c46a2 pthread_cond_wait@@GLIBC_2.3.2 (libpthread.so.0 + 0xf6a2)
#1 0x00007f21dad1f72c n/a (r600_dri.so + 0x4ed72c)
#2 0x00007f21dad1def8 n/a (r600_dri.so + 0x4ebef8)
#3 0x00007f21e38be3e9 start_thread (libpthread.so.0 + 0x93e9)
#4 0x00007f21e37ec293 __clone (libc.so.6 + 0x100293)
Stack trace of thread 66359:
#0 0x00007f21e38c46a2 pthread_cond_wait@@GLIBC_2.3.2 (libpthread.so.0 + 0xf6a2)
#1 0x00007f21dad1f72c n/a (r600_dri.so + 0x4ed72c)
#2 0x00007f21dad1def8 n/a (r600_dri.so + 0x4ebef8)
#3 0x00007f21e38be3e9 start_thread (libpthread.so.0 + 0x93e9)
#4 0x00007f21e37ec293 __clone (libc.so.6 + 0x100293)
Stack trace of thread 66361:
#0 0x00007f21e38c46a2 pthread_cond_wait@@GLIBC_2.3.2 (libpthread.so.0 + 0xf6a2)
#1 0x00007f21dad1f72c n/a (r600_dri.so + 0x4ed72c)
#2 0x00007f21dad1def8 n/a (r600_dri.so + 0x4ebef8)
#3 0x00007f21e38be3e9 start_thread (libpthread.so.0 + 0x93e9)
#4 0x00007f21e37ec293 __clone (libc.so.6 + 0x100293)