Created attachment 621305 [details] screenshot showing cancellation hang. It's been a few hours now. Description of problem: It tries to retrieve an email, gets hung, when I click the red box to cancel, it gets stuck on cancelling. Version-Release number of selected component (if applicable): evolution-3.4.4-2.fc17.x86_64 How reproducible: Always (if i notice that a retrieval got stuck, cancelling it also stays stuck) Steps to Reproduce: 1. wait for an email retrieval to get stuck 2. cancel it Actual results: doesn't cancel. cancellation gets stuck Expected results: should cancel Additional info:
Possible same as https://bugzilla.redhat.com/show_bug.cgi?id=812511
Thanks for a bug report. It might help to get backtrace of running evolution in this state (with debuginfo packages installed at least for evolution-data-server, evolution and any other evolution* package you use). You can get the backtrace with command like this: $ gdb --batch --ex "t a a bt" -pid=PID &>bt.txt where PID is a process ID of running evolution (ps ax | grep evolution).
Created attachment 627805 [details] Requested backtrace Hi, Please find the backtrace attached. I installed the evolution and evolution-data-server debuginfos before generating it. Thanks, Warm regards, Ankur
I forgot to mention that the back trace was generated when evolution was stuck on a cancel operation. :) Thanks, Ankur
I tried to shut evolution, while it was stuck on cancel, and it wouldn't close. Attaching a screenshot and another bt for this.
Created attachment 627818 [details] Evolution doesnt exit when a cancel is hung
Created attachment 627819 [details] Back trace generated when evolution is hung on a cancellation and will not close as a result
Thanks for the update. I see the first backtrace is waiting for a completion of the get_message function, but it's missing a parser thread for the imapx account, which may explain why it cannot stop. The second backtrace also waits for a completion of get_message function, but it has two parser threads, both waiting for a response from your server. Thus I see here two issues: a) the server stops talking to evolution for some reason b) cancelling pending operations is not doable when waiting on a lock. I wrote a cancellable lock for evolution-mapi [1], which might be nice to have included and used on various places in eds and evo too. Matthew plans to improve cancellability of IMAP+ operations for 3.8.0, thus I'm keeping this to him. Maybe he has an upstream bug for this too. [1] http://git.gnome.org/browse/evolution-mapi/tree/src/libexchangemapi/e-mapi-utils.h?h=gnome-3-6#n33
Hi folks, Just letting you know that this still persists in 3.6: I tried to generate a backtrace, but it gives me a weird one for some reason: [root@ankur ~]# ps aux | egrep evolution ankur 1854 0.0 0.1 1091656 7676 ? Sl Nov14 0:02 /usr/libexec/evolution/3.6/evolution-alarm-notify ankur 1918 0.0 0.1 1656972 6684 ? SLl Nov14 0:04 /usr/libexec/evolution-source-registry ankur 2078 0.0 1.5 2871112 59872 ? Sl Nov14 0:21 /usr/libexec/evolution-calendar-factory ankur 3224 0.0 0.6 1720900 23736 ? Sl Nov14 0:05 /usr/libexec/evolution-addressbook-factory ankur 16804 1.9 9.2 3927892 363668 ? Sl Nov14 21:51 evolution root 23268 0.0 0.0 106752 872 pts/1 S+ 08:51 0:00 egrep --color=auto evolution [root@ankur ~]# gdb --batch --ex "t a a bt" -pid=16804 &>bt.txt [root@ankur ~]# ps aux | egrep evolution ankur 1854 0.0 0.1 1091656 7676 ? Sl Nov14 0:02 /usr/libexec/evolution/3.6/evolution-alarm-notify ankur 1918 0.0 0.1 1656972 6684 ? SLl Nov14 0:04 /usr/libexec/evolution-source-registry ankur 2078 0.0 1.5 2871112 59872 ? Sl Nov14 0:21 /usr/libexec/evolution-calendar-factory ankur 3224 0.0 0.6 1720900 23940 ? Sl Nov14 0:05 /usr/libexec/evolution-addressbook-factory ankur 16804 1.9 9.3 3929212 365120 ? Sl Nov14 21:59 evolution root 23568 0.0 0.0 106752 872 pts/1 S+ 08:52 0:00 egrep --color=auto evolution [root@ankur ~]# gdb --batch --ex "t a a bt" -pid=16804 &>bt1.txt [root@ankur ~]# cat bt.txt /usr/bin/evolution (deleted): No such file or directory. Thread 1 (process 16804): #0 0x78ce97ed in ?? () #1 0x00000000 in ?? () [root@ankur ~]# [root@ankur ~]# cat bt1.txt /usr/bin/evolution (deleted): No such file or directory. Thread 1 (process 16804): #0 0x78ce97ed in ?? () #1 0x00000000 in ?? () [root@ankur ~]# Thanks :) Ankur
> [root@ankur ~]# cat bt1.txt > /usr/bin/evolution (deleted): No such file or directory. It seems like you updated evolution while it was running. Re-run evolution should fix it. Please make sure your debuginfo packages for evolution-data-server, evolution, and any other evolution-related packages will have the same version like their binary packages (rpm -qa | grep evolution | sort).
This *seldom* happens with 3.8.2. Closing the bug. I'll file another if it comes up frequently again.