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 138794 - video drag locks mouse
video drag locks mouse
Status: RESOLVED NOTGNOME
Product: totem
Classification: Core
Component: general
unspecified
Other Linux
: Normal critical
: ---
Assigned To: Bastien Nocera
Bastien Nocera
: 143085 145133 149168 162374 164388 (view as bug list)
Depends on:
Blocks: 119903 121275
 
 
Reported: 2004-04-01 21:45 UTC by John McCutchan
Modified: 2005-01-20 14:39 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description John McCutchan 2004-04-01 21:45:07 UTC
1) start playing a movie
2) start dragging video and dropping it on the video screen quickly

mouse pointer turns in to drag cursor with two slightly overlapping O's in as
the drag symbol. I can move the mouse but I can't click or use the keyboard for
anything.
Comment 1 John McCutchan 2004-04-01 21:50:18 UTC
This is http://bugzilla.gnome.org/show_bug.cgi?id=127586 again. But I am now
running gtk+ 2.4. And the mouse cursor is different.
Comment 2 Sergej Kotliar 2004-04-04 21:32:52 UTC
I'm getting this to!
A real pain, since I one of those "like to drag stuff for no apparent
reason"-people.

totem version 0.99.9 with the xine backend.
Comment 3 Bastien Nocera 2004-04-05 15:10:00 UTC
I managed to reproduce the problem. God knows what the problem is. Maybe me soon
as well.
Comment 4 Bastien Nocera 2004-04-09 15:06:56 UTC
It hangs in _XUnregisterFilter for me.
XUnregisterFilter is a XInput function. Another one of those deadlocks in libXi?

Could you check that your gtk+ is compiled against libXi?
$ ldd /usr//lib/libgtk-x11-2.0.so.0 | grep Xi
        libXi.so.6 => /usr/X11R6/lib/libXi.so.6 (0x00e63000)
Comment 5 John McCutchan 2004-04-09 16:03:38 UTC
yes, my gtk+ is compiled against libXi

% ldd /usr/lib/libgtk-x11-2.0.so.0.400.0|grep Xi
libXi.so.6 => /usr/X11R6/lib/libXi.so.6 (0x406af000)
Comment 6 Bastien Nocera 2004-04-12 13:30:16 UTC
Doesn't have anything to do with libXi, as my tests showed. _XUnregisterFilter
is a libX11.so function.
There seems to be a memory corruption somewhere, as DND works properly under
valgrind.
Comment 7 Bastien Nocera 2004-04-12 16:02:59 UTC
The backtrace with the LinuxThreads:
0x006b7e64 in __pthread_sigsuspend () from /lib/i686/libpthread.so.0
  • #0 __pthread_sigsuspend
    from /lib/i686/libpthread.so.0
  • #1 __pthread_wait_for_restart_signal
    from /lib/i686/libpthread.so.0
  • #2 __pthread_alt_lock
    from /lib/i686/libpthread.so.0
  • #3 pthread_mutex_lock
    from /lib/i686/libpthread.so.0
  • #4 _XUnregisterFilter
    from /usr/X11R6/lib/libX11.so.6
  • #5 XGetWindowProperty
    from /usr/X11R6/lib/libX11.so.6
  • #6 gdk_drag_context_unref
    from /usr//lib/libgdk-x11-2.0.so.0
  • #7 gdk_drag_get_protocol_for_display
    from /usr//lib/libgdk-x11-2.0.so.0
  • #8 gdk_drag_find_window_for_screen
    from /usr//lib/libgdk-x11-2.0.so.0
  • #9 gtk_drag_set_default_icon
    from /usr//lib/libgtk-x11-2.0.so.0
  • #10 g_child_watch_add
    from /usr//lib/libglib-2.0.so.0
  • #11 g_main_depth
    from /usr//lib/libglib-2.0.so.0
  • #12 g_main_context_dispatch
    from /usr//lib/libglib-2.0.so.0
  • #13 g_main_context_dispatch
    from /usr//lib/libglib-2.0.so.0
  • #14 g_main_loop_run
    from /usr//lib/libglib-2.0.so.0
  • #15 gtk_main
    from /usr//lib/libgtk-x11-2.0.so.0
  • #16 main
    at totem.c line 3798

Comment 8 Bastien Nocera 2004-04-12 16:42:39 UTC
And an even better one:
0x002cbe64 in __pthread_sigsuspend () from /lib/i686/libpthread.so.0
  • #0 __pthread_sigsuspend
    from /lib/i686/libpthread.so.0
  • #1 __pthread_wait_for_restart_signal
    from /lib/i686/libpthread.so.0
  • #2 __pthread_alt_lock
    from /lib/i686/libpthread.so.0
  • #3 pthread_mutex_lock
    from /lib/i686/libpthread.so.0
  • #4 _XUnregisterFilter
    from /usr/X11R6/lib/libX11.so.6
  • #5 XInternAtoms
    from /usr/X11R6/lib/libX11.so.6
  • #6 _gdk_x11_precache_atoms
    at gdkproperty-x11.c line 231
  • #7 xdnd_precache_atoms
    at gdkdnd-x11.c line 2607
  • #8 gdk_drag_get_protocol_for_display
    at gdkdnd-x11.c line 2989
  • #9 gdk_drag_find_window_for_screen
    at gdkdnd-x11.c line 3145
  • #10 gtk_drag_update_idle
    at gtkdnd.c line 3233
  • #11 g_child_watch_add
    from /usr//lib/libglib-2.0.so.0
  • #12 g_main_depth
    from /usr//lib/libglib-2.0.so.0
  • #13 g_main_context_dispatch
    from /usr//lib/libglib-2.0.so.0
  • #14 g_main_context_dispatch
    from /usr//lib/libglib-2.0.so.0
  • #15 g_main_loop_run
    from /usr//lib/libglib-2.0.so.0
  • #16 gtk_main
    at gtkmain.c line 1172
  • #17 main
    at totem.c line 3798

Comment 9 Bastien Nocera 2004-04-13 01:02:48 UTC
Another better stack, and some debug from the x.org libs:

Using host libthread_db library "/lib/tls/libthread_db.so.1".
0x009b0e64 in __pthread_sigsuspend () from /lib/i686/libpthread.so.0
  • #0 __pthread_sigsuspend
    from /lib/i686/libpthread.so.0
  • #1 __pthread_wait_for_restart_signal
    from /lib/i686/libpthread.so.0
  • #2 __pthread_alt_lock
    from /lib/i686/libpthread.so.0
  • #3 pthread_mutex_lock
    from /lib/i686/libpthread.so.0
  • #4 _XLockDisplayWarn
    at locking.c line 171
  • #5 _XLockDisplay
    at locking.c line 479
  • #6 XInternAtoms
    at IntAtom.c line 255
  • #7 _gdk_x11_precache_atoms
    at gdkproperty-x11.c line 231
  • #8 xdnd_precache_atoms
    at gdkdnd-x11.c line 2607
  • #9 gdk_drag_get_protocol_for_display
    at gdkdnd-x11.c line 2989
  • #10 gdk_drag_find_window_for_screen
    at gdkdnd-x11.c line 3145
  • #11 gtk_drag_update_idle
    at gtkdnd.c line 3233
  • #12 g_child_watch_add
    from /usr//lib/libglib-2.0.so.0
  • #13 g_main_depth
    from /usr//lib/libglib-2.0.so.0
  • #14 g_main_context_dispatch
    from /usr//lib/libglib-2.0.so.0
  • #15 g_main_context_dispatch
    from /usr//lib/libglib-2.0.so.0
  • #16 g_main_loop_run
    from /usr//lib/libglib-2.0.so.0
  • #17 gtk_main
    at gtkmain.c line 1172
  • #18 main
    at totem.c line 3795

Pending.c line 50: thread 4000 got display lock
_XEventsQueued called in thread 4000
_XPushReader called in thread 4000, pushing 8d04ab0
_XPopReader called in thread 4000, popping 8d04ab0
Pending.c line 55: thread 4000 unlocking display
MoveWin.c line 39: thread 4000 got display lock
MoveWin.c line 59: thread 4000 unlocking display
RaiseWin.c line 39: thread 4000 got display lock
RaiseWin.c line 44: thread 4000 unlocking display
GetWAttrs.c line 99: thread 4000 got display lock
_XPushReader called in thread 4000, pushing 8d04ab0
_XReply called in thread 4000, adding 8d04ab0 to cvl
XlibInt.c line 487: thread 4000 unlocking display
XlibInt.c line 495: thread 4000 got display lock
thread 4000 _XWaitForReadable returning
_XPopReader called in thread 4000, popping 8d04ab0
GetWAttrs.c line 141: thread 4000 unlocking display
SelInput.c line 39: thread 4000 got display lock
SelInput.c line 45: thread 4000 unlocking display
_XPushReader called in thread 4000, pushing 8d04ab0
_XReply called in thread 4000, adding 8d04ab0 to cvl
XlibInt.c line 487: thread 4000 unlocking display
Xlib ERROR: XlibInt.c line 487 thread 4000: unlocking display that is not
lockedXlib ERROR: XlibInt.c line 495 thread 4000 locking display it did not unlock
XlibInt.c line 495: thread 4000 got display lock
thread 4000 _XWaitForReadable returning
_XPopReader called in thread 4000, popping 8d04ab0
_XPushReader called in thread 4000, pushing 8d04ab0
_XReply called in thread 4000, adding 8d04ab0 to cvl
XlibInt.c line 487: thread 4000 unlocking display
XlibInt.c line 495: thread 4000 got display lock
thread 4000 _XWaitForReadable returning
_XPopReader called in thread 4000, popping 8d04ab0
_XPushReader called in thread 4000, pushing 8d04ab0
_XReply called in thread 4000, adding 8d04ab0 to cvl
XlibInt.c line 487: thread 4000 unlocking display
XlibInt.c line 495: thread 4000 got display lock
thread 4000 _XWaitForReadable returning
_XPopReader called in thread 4000, popping 8d04ab0
_XPushReader called in thread 4000, pushing 8d04ab0
_XReply called in thread 4000, adding 8d04ab0 to cvl
XlibInt.c line 487: thread 4000 unlocking display
XlibInt.c line 495: thread 4000 got display lock
thread 4000 _XWaitForReadable returning
_XPopReader called in thread 4000, popping 8d04ab0
Xlib ERROR: IntAtom.c line 255 thread 4000: locking display already locked at
SelInput.c line 39
Killed
Comment 10 Bastien Nocera 2004-04-14 16:34:02 UTC
From fd.o, try Xlib with XCB:
<daniels> hadess: /cvs/xcb, check out xcb-proto and xcb, then rebuild libx11
with --with-xcb
<daniels> hadess: you'll need to edit x11.pc.in to have -lXCB in its linking tho
Comment 11 John McCutchan 2004-05-21 02:45:02 UTC
This problem seems to have gone away (kind of). With recent debian I can click
and drag all I want. Occasionally the drag will stay active when I am not
holding down a mouse button (To get this to happen, just click quickly and often
and drag the mouse.. it happens easy enough for me) but if I click the drag
ends. I think the new behaviour is just a less serious version of the same
problem (a drag staying active when mouse button isn't pressed)
Comment 12 Bastien Nocera 2004-05-26 15:02:29 UTC
*** Bug 143085 has been marked as a duplicate of this bug. ***
Comment 13 Bastien Nocera 2004-06-29 12:58:03 UTC
*** Bug 145133 has been marked as a duplicate of this bug. ***
Comment 14 Jens Lautenbacher 2004-07-25 23:38:11 UTC
still always reproducible with Fedora Core 2 and totem 0.99.15 :-(
Comment 15 Bastien Nocera 2004-08-03 16:13:09 UTC
*** Bug 149168 has been marked as a duplicate of this bug. ***
Comment 16 Bastien Nocera 2004-09-17 11:05:15 UTC
The bug is definitely in the underlying libraries, as it now works perfectly for
me (video canvas d'n'd and playlist reorganisation with d'n'd as well) with:
xorg-x11-6.7.99.903-6 (X.org 6.8 prerelease from Fedora's Rawhide) and gtk2-2.4.9-7

I'll consider this bug fixed as a non-Totem bug. Feel free to put comments in if
you can reproduce with a different version of X and same of gtk+, or vice-versa.
Comment 17 Bastien Nocera 2004-12-28 23:04:08 UTC
*** Bug 162374 has been marked as a duplicate of this bug. ***
Comment 18 Bastien Nocera 2005-01-18 10:59:34 UTC
*** Bug 164388 has been marked as a duplicate of this bug. ***
Comment 19 Nickolay V. Shmyrev 2005-01-20 14:15:12 UTC
I've upgraded to 6.8 but still can reproduce it. My Fedora rpms:

xorg-x11-libs-6.8.1-12
totem-0.100-1
libxine1-1.0-0
gtk2-2.4.13

But I agree that it's not a totem problem anyway.
Comment 20 Nickolay V. Shmyrev 2005-01-20 14:39:35 UTC
But after upgrade of gtk to gtk2-2.6.1 everything start work fine.