GNOME Bugzilla – Bug 308354
hang on drag and drop mail
Last modified: 2008-01-20 20:17:12 UTC
Distribution/Version: Ubuntu 5.4 At least once per day, when dragging and dropping mail in Evolution Mail, the entire desktop will hang (unresponsive to mouse events, Alt-Tab, etc.) with the drag and drop cursor (a right-angled shape with two sides like an arrow with a dot in the middle) remaining displayed after I have released the primary mouse button. I think it happens most frequently when I try to drag two messages in quick succession, such clicking and dragging one message from my Inbox to my Computing folder then repeating the same action on a different message. I have my mail stored on another IMAP mail server on my LAN running Dovecot. I always connect using SSL. When messages are deleted, they appear to be deleted from their current folder and also appear in the Trash folder. I have Junk Mail checking enabled, but no other mail filters that should be relevant (the only filter is for outgoing mail). I suspect this is a bug in Evolution's IMAP handling of moving and deletion, but it is also possible there is an interaction problem with GTK+ or something else.
Looks similar to bug 273420. Other drag and drop related bugs are 273050, 273200, 273858, 274240, 303937
Michael: If possible can you get a stack trace when hang ?
I have observed the crash, it only happens when you move the mails *very* quickly, and it being a server operation takes time, and while message list is getting regenerated you make another drag and drop operation which sometimes blocks everything, Not a very normal scenario, reducing the priority.
please read it *hang* not *crash* (sorry!)
*** Bug 316438 has been marked as a duplicate of this bug. ***
*** Bug 319107 has been marked as a duplicate of this bug. ***
Taces generally don't help..I am pasting the traces from #319107 and reopeneing the bug. (gdb) run Starting program: /opt/gnome/bin/evolution-2.4 (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) ---Type <return> to continue, or q <return> to quit--- (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) ---Type <return> to continue, or q <return> to quit--- (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) [Thread debugging using libthread_db enabled] [New Thread 1096957664 (LWP 17822)] (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) ---Type <return> to continue, or q <return> to quit--- (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) adding hook target 'source' (evolution-2.4:17822): camel-WARNING **: camel_exception_get_id called with NULL parameter. [New Thread 1144064944 (LWP 17836)] [New Thread 1146559408 (LWP 17837)] [New Thread 1148660656 (LWP 17838)] [New Thread 1151044528 (LWP 17839)] [Thread 1151044528 (LWP 17839) exited] (evolution-2.4:17822): Gdk-CRITICAL **: gdk_gc_set_foreground: assertion `GDK_IS_GC (gc)' failed [New Thread 1151044528 (LWP 17840)] [New Thread 1191451568 (LWP 17841)] [New Thread 1193552816 (LWP 17843)] [New Thread 1195654064 (LWP 17844)] [Thread 1191451568 (LWP 17841) exited] (evolution-2.4:17822): camel-WARNING **: camel_exception_get_id called with NULL parameter. [New Thread 1191451568 (LWP 17845)] [Thread 1191451568 (LWP 17845) exited] (evolution-2.4:17822): camel-WARNING **: camel_exception_get_id called with NULL parameter. (evolution-2.4:17822): camel-WARNING **: camel_exception_get_id called with NULL parameter. Program received signal SIGTERM, Terminated. [Switching to Thread 1096957664 (LWP 17822)]
(traces for this bug I meant ;-) )
Vivek, as to your comment about moving mails *very* quickly, that's not what I've experienced -- I hit this bug fairly frequently, and I wouldn't say that I move messages particularly quickly. Any bug that hangs X, IMO, should be considered severe.
raising severity.
*** Bug 321121 has been marked as a duplicate of this bug. ***
bug #328765 is a possible duplicate. I really think this is a gtk+ issue. Any thoughts anyone??
I have observed this for several years now ... when the email-list (the summary window, top right) is updated by one thread while you are dragging and dropping to the folder list (i.e. moving a message to a folder), you will get this freeze. The "very quickly" bit is because you are dragging the second mail to its folder while the first message is being removed from the email list. Similar problems exist if a new mail arrives while you are dragging a mail to a different folder. It is *very* annoying ... all you can do is go to a different terminal and killev. (you cannot switch to another window on this X display ... you have to wither go and ssh in from another machine, or use ctrl-alt-F2 or similar to go to another virtual terminal).
As another user pointed out, this appears to be a duplicate of my bug 426822. Since I have (some) tracing information there, I'll add it here, to wit: GDB Backtrace (only one thread, trying to get a bt for all threads didn't work for some reason) ------------
+ Trace 126912
Tracing/Error information (separate occurrence, you can see I killed it at the bottom) --------------------------- Starting program: /usr/bin/evolution [Thread debugging using libthread_db enabled] [New Thread -1233160528 (LWP 21472)] CalDAV Eplugin starting up ... (evolution-2.8:21472): evolution-mail-WARNING **: ignored this junk plugin: not enabled or we have already loaded one (evolution-2.8:21472): e-utils-WARNING **: Plugin 'Bogofilter junk plugin' failed to load hook 'org.gnome.evolution.mail.junk:1.0' ** (evolution-2.8:21472): DEBUG: mailto URL command: evolution %s ** (evolution-2.8:21472): DEBUG: mailto URL program: evolution [New Thread -1270965344 (LWP 21513)] [New Thread -1279358048 (LWP 21514)] [New Thread -1287750752 (LWP 21515)] [Thread -1287750752 (LWP 21515) exited] [New Thread -1287750752 (LWP 21522)] [New Thread -1296577632 (LWP 21523)] [Thread -1296577632 (LWP 21523) exited] [New Thread -1296577632 (LWP 21531)] (evolution-2.8:21472): camel-WARNING **: Trying to check junk data is OBJECT 'CamelObject' (evolution-2.8:21472): camel-CRITICAL **: camel_object_is: assertion `check_magic(o, ctype, CAMEL_OBJECT_MAGIC)' failed (evolution-2.8:21472): camel-CRITICAL **: camel_object_unhook_event: assertion `CAMEL_IS_OBJECT (obj)' failed (evolution-2.8:21472): camel-WARNING **: Trying to check junk data is OBJECT 'CamelObject' (evolution-2.8:21472): camel-CRITICAL **: camel_object_is: assertion `check_magic(o, ctype, CAMEL_OBJECT_MAGIC)' failed (evolution-2.8:21472): camel-CRITICAL **: camel_object_unref: assertion `CAMEL_IS_OBJECT(o)' failed (evolution-2.8:21472): camel-WARNING **: Trying to check junk data is OBJECT 'CamelObject' (evolution-2.8:21472): camel-CRITICAL **: camel_object_is: assertion `check_magic(o, ctype, CAMEL_OBJECT_MAGIC)' failed (evolution-2.8:21472): camel-CRITICAL **: camel_object_unhook_event: assertion `CAMEL_IS_OBJECT (obj)' failed (evolution-2.8:21472): camel-WARNING **: Trying to check junk data is OBJECT 'CamelObject' (evolution-2.8:21472): camel-CRITICAL **: camel_object_is: assertion `check_magic(o, ctype, CAMEL_OBJECT_MAGIC)' failed (evolution-2.8:21472): camel-CRITICAL **: camel_object_unref: assertion `CAMEL_IS_OBJECT(o)' failed (evolution-2.8:21472): camel-WARNING **: Trying to check junk data is OBJECT 'CamelObject' (evolution-2.8:21472): camel-CRITICAL **: camel_object_is: assertion `check_magic(o, ctype, CAMEL_OBJECT_MAGIC)' failed (evolution-2.8:21472): camel-CRITICAL **: camel_object_unhook_event: assertion `CAMEL_IS_OBJECT (obj)' failed (evolution-2.8:21472): camel-WARNING **: Trying to check junk data is OBJECT 'CamelObject' (evolution-2.8:21472): camel-CRITICAL **: camel_object_is: assertion `check_magic(o, ctype, CAMEL_OBJECT_MAGIC)' failed (evolution-2.8:21472): camel-CRITICAL **: camel_object_unref: assertion `CAMEL_IS_OBJECT(o)' failed [New Thread -1341129824 (LWP 21534)] (evolution-2.8:21472): camel-WARNING **: Trying to check junk data is OBJECT 'CamelObject' (evolution-2.8:21472): camel-CRITICAL **: camel_object_is: assertion `check_magic(o, ctype, CAMEL_OBJECT_MAGIC)' failed (evolution-2.8:21472): camel-CRITICAL **: camel_object_unhook_event: assertion `CAMEL_IS_OBJECT (obj)' failed (evolution-2.8:21472): camel-WARNING **: Trying to check junk data is OBJECT 'CamelObject' (evolution-2.8:21472): camel-CRITICAL **: camel_object_is: assertion `check_magic(o, ctype, CAMEL_OBJECT_MAGIC)' failed (evolution-2.8:21472): camel-CRITICAL **: camel_object_unref: assertion `CAMEL_IS_OBJECT(o)' failed (evolution-2.8:21472): camel-WARNING **: Trying to check junk data is OBJECT 'CamelObject' (evolution-2.8:21472): camel-CRITICAL **: camel_object_is: assertion `check_magic(o, ctype, CAMEL_OBJECT_MAGIC)' failed (evolution-2.8:21472): camel-CRITICAL **: camel_object_unhook_event: assertion `CAMEL_IS_OBJECT (obj)' failed (evolution-2.8:21472): camel-WARNING **: Trying to check junk data is OBJECT 'CamelObject' (evolution-2.8:21472): camel-CRITICAL **: camel_object_is: assertion `check_magic(o, ctype, CAMEL_OBJECT_MAGIC)' failed (evolution-2.8:21472): camel-CRITICAL **: camel_object_unref: assertion `CAMEL_IS_OBJECT(o)' failed [New Thread -1349522528 (LWP 21535)] [Thread -1349522528 (LWP 21535) exited] [New Thread -1349522528 (LWP 21540)] [New Thread -1357915232 (LWP 21541)] (evolution-2.8:21472): camel-WARNING **: camel_exception_get_id called with NULL parameter. (evolution-2.8:21472): camel-WARNING **: camel_exception_get_id called with NULL parameter. [New Thread -1339802720 (LWP 21554)] DEBUG: INBOX/Subfolder (imap://xxxx@xxxxxx.xxxxxx.ca/INBOX/Subfolder) report junk?? How is everything Program received signal SIGPIPE, Broken pipe. [Switching to Thread -1287750752 (LWP 21522)] 0xffffe410 in __kernel_vsyscall () Hope this helps.
*** Bug 426822 has been marked as a duplicate of this bug. ***
The original bug should be fixed by 2.12 (see bug #351672). Can you just confirm?
I'm still able to experience this problem with evolution-2.12.2-2.fc8 for Fedora 8. I did selected multiple messages at the same time to make sure that the system was slowed down enough for me to DnD another message before it finished with the first batch.
*** This bug has been marked as a duplicate of 351672 ***