After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 609952 - destroying a notebook window when the last tab got dragged out causes BadWindow
destroying a notebook window when the last tab got dragged out causes BadWindow
Status: RESOLVED FIXED
Product: gtk+
Classification: Platform
Component: Backend: X11
2.19.x
Other Linux
: Normal normal
: ---
Assigned To: gtk-bugs
gtk-bugs
Depends on:
Blocks:
 
 
Reported: 2010-02-15 00:23 UTC by Sjoerd Simons
Modified: 2010-02-23 17:35 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
testcase (1.15 KB, application/octet-stream)
2010-02-15 00:23 UTC, Sjoerd Simons
Details

Description Sjoerd Simons 2010-02-15 00:23:31 UTC
Created attachment 153805 [details]
testcase

Since 69aa7a6392f2ed5d20483b01c0183a3b0fece0be destroying the window a notebook that just got its last tab dragged out causes BadWindow errors from X. Attached is a testcase for this, when running sync dragging a tab from one of the windows to the other causes an X error

$ gdb --args ./detachtest --sync 
GNU gdb (GDB) 7.0.1-debian
Copyright (C) 2009 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /home/sjoerd/source/hacks/detachtest...(no debugging symbols found)...done.
(gdb) r
Starting program: /home/sjoerd/source/hacks/detachtest --sync
[Thread debugging using libthread_db enabled]

Gdk-ERROR **: The program 'detachtest' received an X Window System error.
This probably reflects a bug in the program.
The error was 'BadWindow (invalid Window parameter)'.
  (Details: serial 8706 error_code 3 request_code 137 minor_code 6)
  (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 --sync command line
   option to change this behavior. You can then get a meaningful
   backtrace from your debugger if you break on the gdk_x_error() function.)
aborting...

Program received signal SIGABRT, Aborted.
0x00007ffff5363f45 in *__GI_raise (sig=<value optimized out>) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
64      ../nptl/sysdeps/unix/sysv/linux/raise.c: No such file or directory.
        in ../nptl/sysdeps/unix/sysv/linux/raise.c
(gdb) bt
  • #0 *__GI_raise
    at ../nptl/sysdeps/unix/sysv/linux/raise.c line 64
  • #1 *__GI_abort
    at abort.c line 88
  • #2 IA__g_logv
    at /tmp/buildd/glib2.0-2.22.4/glib/gmessages.c line 549
  • #3 IA__g_log
    at /tmp/buildd/glib2.0-2.22.4/glib/gmessages.c line 569
  • #4 gdk_x_error
    at /home/sjoerd/Debian/build-area/gtk+2.0-2.19.5/gdk/x11/gdkmain-x11.c line 466
  • #5 _XError
    from /usr/lib/libX11.so.6
  • #6 ??
    from /usr/lib/libX11.so.6
  • #7 _XReply
    from /usr/lib/libX11.so.6
  • #8 XSync
    from /usr/lib/libX11.so.6
  • #9 ??
    from /usr/lib/libX11.so.6
  • #10 free_cache_child
    at /home/sjoerd/Debian/build-area/gtk+2.0-2.19.5/gdk/x11/gdkdnd-x11.c line 327
  • #11 IA__g_list_foreach
    at /tmp/buildd/glib2.0-2.22.4/glib/glist.c line 789
  • #12 gdk_window_cache_destroy
    at /home/sjoerd/Debian/build-area/gtk+2.0-2.19.5/gdk/x11/gdkdnd-x11.c line 583
  • #13 gdk_drag_context_finalize
    at /home/sjoerd/Debian/build-area/gtk+2.0-2.19.5/gdk/x11/gdkdnd-x11.c line 198
  • #14 IA__g_object_unref
    at /tmp/buildd/glib2.0-2.22.4/gobject/gobject.c line 2472
  • #15 IA__gdk_event_free
    at /home/sjoerd/Debian/build-area/gtk+2.0-2.19.5/gdk/gdkevents.c line 543
  • #16 gdk_event_dispatch
    at /home/sjoerd/Debian/build-area/gtk+2.0-2.19.5/gdk/x11/gdkevents-x11.c line 2374
  • #17 g_main_dispatch
    at /tmp/buildd/glib2.0-2.22.4/glib/gmain.c line 1960
  • #18 IA__g_main_context_dispatch
    at /tmp/buildd/glib2.0-2.22.4/glib/gmain.c line 2513
  • #19 g_main_context_iterate
    at /tmp/buildd/glib2.0-2.22.4/glib/gmain.c line 2591
  • #20 IA__g_main_loop_run
    at /tmp/buildd/glib2.0-2.22.4/glib/gmain.c line 2799
  • #21 IA__gtk_main
    at /home/sjoerd/Debian/build-area/gtk+2.0-2.19.5/gtk/gtkmain.c line 1219
  • #22 main