GNOME Bugzilla – Bug 735953
GtkPlacesSidebar blocks on g_file_query_info()
Last modified: 2014-09-14 23:07:23 UTC
Created attachment 285224 [details] stack trace Hi, Sometimes evolution becomes unresponsive. Ultimately, the "window not responding" dialog comes up and I have to force kill it. This seems to happen when a new dialog box is to open, for example when I click "reply", or "forward", or even "edit > plugins". Unfortunately I cannot reproduce this every time. I don't really know how to debug this. I ran it in gdb and when it hung, I hit ctrl C in gdb to generate a trace. Please find it attached. While in this state, this is what ps aux gives me: [asinha@localhost ~]$ ps aux | egrep evolution asinha 1946 0.0 0.1 1752436 14472 ? SLl 12:35 0:02 /usr/libexec/evolution-source-registry asinha 2041 0.0 0.1 894424 15200 ? Sl 12:35 0:00 /usr/libexec/evolution/3.12/evolution-alarm-notify asinha 2237 0.0 0.3 2470372 29896 ? Sl 12:36 0:03 /usr/libexec/evolution-calendar-factory asinha 5405 0.4 2.6 434384 214932 pts/7 S 13:59 0:45 gdb evolution asinha 5431 1.9 3.0 4204780 240012 pts/7 Sl+ 13:59 3:07 /usr/bin/evolution This looks the same as when evolution is running properly. I don't know if this information is enough to debug the issue but I'll be happy to provide more if you can tell me how to get it. If evolution hangs once, it appears to keep hanging on successive attempts, even if I manually kill all the evolution* processes listed above. I manually also killed goa and then evolution stopped hanging. Maybe it's something there. I'll see if it's always the case. I also got this message while watching the process in gdb once: (evolution:487): evolution-mail-WARNING **: handle_contact_photo_request: Cannot get contact list: Wait till syncing is done Thanks, Warm regards, Ankur
Created attachment 285239 [details] Another trace
Abrt filed this during one of the hangs. May be worth looking at: https://bugzilla.redhat.com/show_bug.cgi?id=1136778
This is the GtkPlacesSidebar (the file chooser's sidebar) making synchronous GIO calls and apparently getting stuck on a mount operation. This is known already to GTK+ devs -- there's even a FIXME comment about it [1] -- but couldn't find a duplicate bug report so I'm just reassigning. [1] https://git.gnome.org/browse/gtk+/tree/gtk/gtkplacessidebar.c#n1152
Created attachment 285251 [details] [review] places-sidebar: Use asynchronous API for querying bookmarks Removes two FIXMEs, and ensures that the places sidebar does not block while enumerating bookmarks or application shortcuts to remote volumes.
bug 711548 briefly mentioned the issue, but it was fixed by skipping unmounted volumes.
Review of attachment 285251 [details] [review]: We probably need a cancellable and cancel outstanding async ops in dispose, no ?
Attachment 285251 [details] pushed as c68fc27 - places-sidebar: Use asynchronous API for querying bookmarks
I want it to be cherry-picked for GTK+ 3.12 as well. Thanks.
*** Bug 727362 has been marked as a duplicate of this bug. ***
*** Bug 734250 has been marked as a duplicate of this bug. ***
*** Bug 731798 has been marked as a duplicate of this bug. ***