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 353842 - Lockup while doing a drag and drop
Lockup while doing a drag and drop
Status: RESOLVED INCOMPLETE
Product: gtk+
Classification: Platform
Component: Backend: X11
2.10.x
Other Linux
: Normal normal
: ---
Assigned To: gtk-bugs
gtk-bugs
Depends on:
Blocks:
 
 
Reported: 2006-09-01 14:11 UTC by Benjamin Berg
Modified: 2008-08-22 20:18 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
adds an xsync (466 bytes, patch)
2006-09-01 14:27 UTC, Benjamin Berg
reviewed Details | Review

Description Benjamin Berg 2006-09-01 14:11:42 UTC
I sometimes get a lockup when doing a drag and drop operation. This happens when dragging a window from the window list. So something like the following:

 1. press the button
 2. drag away fast

This way I can reproduce it every once in a while ... haven't found an easier way. One thing I noticed is that when it happens, there is a region on the window list that needs to be redrawn.

After that, the wnck-applet locks up and the drag icon doesn't move anymore. The X cursor moves around fine, but I can't do anything because it is dragging. So I need to kill wnck-applet remotely.
Comment 1 Benjamin Berg 2006-09-01 14:15:00 UTC
A backtrace of wnck-applet.


GNU gdb 6.4.90-debian
Copyright (C) 2006 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "powerpc-linux-gnu"...(no debugging symbols found)
Using host libthread_db library "/lib/tls/libthread_db.so.1".

[...]
0x0f5e1658 in poll () from /lib/tls/libc.so.6
(gdb) bt full
  • #0 poll
    from /lib/tls/libc.so.6
  • #1 XProcessInternalConnection
    from /usr/lib/libX11.so.6
  • #2 _XRead
    from /usr/lib/libX11.so.6
  • #3 _gdk_x11_get_window_child_info
    at gdkasync.c line 455
  • #4 get_client_window_at_coords_recurse
    at gdkdnd-x11.c line 535
  • #5 gdk_drag_find_window_for_screen
    at gdkdnd-x11.c line 597
  • #6 gtk_drag_update_idle
    at gtkdnd.c line 3818
  • #7 g_idle_dispatch
    at gmain.c line 3926
  • #8 g_main_context_dispatch
    at gmain.c line 2045
  • #9 g_main_context_iterate
    at gmain.c line 2677
  • #10 g_main_loop_run
    at gmain.c line 2881
  • #11 bonobo_main
    at bonobo-main.c line 311
  • #12 bonobo_generic_factory_main_timeout
    at bonobo-generic-factory.c line 412
  • #13 bonobo_generic_factory_main
    at bonobo-generic-factory.c line 369
  • #14 panel_applet_factory_main_closure
    from /usr/lib/libpanel-applet-2.so.0
  • #15 panel_applet_factory_main
    from /usr/lib/libpanel-applet-2.so.0
  • #16 ??
  • #17 generic_start_main
    from /lib/tls/libc.so.6
  • #18 __libc_start_main
    from /lib/tls/libc.so.6
  • #19 __libc_start_main
    from /lib/tls/libc.so.6
(gdb) quit
The program is running.  Quit anyway (and detach it)? (y or n) Detaching from program: /usr/lib/gnome-panel/wnck-applet, process 21924
Comment 2 Benjamin Berg 2006-09-01 14:27:33 UTC
Created attachment 72019 [details] [review]
adds an xsync

This patch adds a "XSync(dpy, False);" to list_children_and_wm_state right after the LockDisplay. I can't reproduce a lockup then, but no idea if this makes any sense :-).

The first time I tried to reproduce the bug with this patch I got something printed to the console, no idea if this is related or something completly different (haven't seen it again after trying quite a lot):
Xlib: sequence lost (0x481bd > 0x381be) in reply type 0x0!
Xlib: sequence lost (0x89782 > 0x79783) in reply type 0x0!
Comment 3 Christophe Saout 2006-12-12 01:24:32 UTC
Seing this too. Once a week with evolution, at least once a day with wnck-applet, kind of annyoing. I'm using a trackpoint and the latter is happening mostly when I accidentally get into drag mode when just klicking through the window list in the panel.
Comment 4 Matthias Clasen 2006-12-21 05:06:50 UTC
The patch doesn't make much sense to me. For starters, it is probably 
a bad idea to call public xlib api inside the display lock, since it'll
lock again. Is the X11 display lock recursive ?
Comment 5 Benjamin Berg 2008-08-22 20:18:06 UTC
I just tried to reproduce it, but can't anymore. So closing as incomplete.