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 658365 - Fetching mail cannot be canceled
Fetching mail cannot be canceled
Status: RESOLVED FIXED
Product: evolution
Classification: Applications
Component: Mailer
3.0.x (obsolete)
Other Linux
: Normal major
: ---
Assigned To: evolution-mail-maintainers
Evolution QA team
Depends on:
Blocks:
 
 
Reported: 2011-09-06 14:56 UTC by Christoph Wickert
Modified: 2012-05-06 17:56 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
backtrace (13.84 KB, text/plain)
2011-09-29 07:38 UTC, Christoph Wickert
Details
new backtrace (13.34 KB, text/plain)
2011-11-09 13:16 UTC, Christoph Wickert
Details

Description Christoph Wickert 2011-09-06 14:56:20 UTC
I have 2 accounts in evolution, one IMAP and one POP3. For none of them I can cancel fetching mail once it was started. If you try, evo will become unresponsive.

Version number of affected component:
evolution-3.0.2-3.fc15.x86_64

How to reproduce:
Always

Steps to reproduce:
1. Set up an account in evolution
2. Fetch mail
3. Press the red icon in the stop fetching mail.

Actual results:
The text in the status bar changes to 'Fetching mail (canceling)', however it is not really canceled but evolution becomes unresponsive instead. The UI is blocked, all controls are greyed out and I can no longer close evolution, so I have to use --force-shutdown.

Expected results:
Fetching mail should be canceled and the UI should remain responsive.
Comment 1 Milan Crha 2011-09-08 11:02:21 UTC
Thanks for a bug report. Could you paste here a backtrace of running evolution in the frozen state, please? You can get one with a command like this:
   $ gdb --batch --ex "t a a bt" -pid=PID &>bt.txt
where PID is a process ID of the running evolution. The resulting bt.txt file contains the information. Before you paste its content here, please make sure it doesn't contain any private information, like user names or passwords. Thanks in advance.
Comment 2 Christoph Wickert 2011-09-13 10:09:05 UTC
All I get is 

/usr/bin/evolution (deleted): File or directory not found.

Thread 1 (process 4351)

  • #0 ??

I can install the debuginfo, but to me this looks like more is wrong here.
Comment 3 Milan Crha 2011-09-13 13:46:40 UTC
(In reply to comment #2)
> All I get is 
> 
> /usr/bin/evolution (deleted): File or directory not found.

I agree, thi sis pretty suspicious. Like some process would delete your /usr/bin/evolution? It sounds pretty unlikely, unless some update being done in the background.
Comment 4 Christoph Wickert 2011-09-29 07:38:39 UTC
Created attachment 197730 [details]
backtrace

OK, I managed to get a backtrace. Please tell me if it is helpful or if I need to install more debugsymbols.

An easy way to reproduce the problem: Have evo configured to use IMAP. Then connect to a VPN and make sure it has the default route and routes all traffic. I then see "Pinging <server>" in the status bar and from that moment on neither pinging nor fetching mail can be canceled.
Comment 5 Milan Crha 2011-09-29 18:54:33 UTC
Thanks for the update. There doesn't seem to be installed debuginfo packages for evolution-data-server and evolution, or their version doesn't match. From this I can only see that you are using IMAP provider (not IMAP+) and that it is trying to update some folder.
Comment 6 Christoph Wickert 2011-11-09 13:16:45 UTC
Created attachment 201056 [details]
new backtrace

The account that is actually causing the lockup is a POP3 account. Hopefully this backtrace is better, at least you can see PO3 in there.
Comment 7 Milan Bouchet-Valat 2011-11-09 13:50:17 UTC
The relevant thread is probably this one:
  • #0 __GI___poll
    at ../sysdeps/unix/sysv/linux/poll.c line 87
  • #1 pt_poll_now
    at ../../../mozilla/nsprpub/pr/src/pthreads/ptio.c line 615
  • #2 pt_Continue
    at ../../../mozilla/nsprpub/pr/src/pthreads/ptio.c line 738
  • #3 pt_Recv
    at ../../../mozilla/nsprpub/pr/src/pthreads/ptio.c line 1896
  • #4 ssl_DefRecv
    at ssldef.c line 94
  • #5 ssl3_GatherData
    at ssl3gthr.c line 90
  • #6 ssl3_GatherCompleteHandshake
    at ssl3gthr.c line 196
  • #7 ssl3_GatherAppDataRecord
    at ssl3gthr.c line 251
  • #8 DoRecv
    at sslsecur.c line 552
  • #9 ssl_SecureRecv
    at sslsecur.c line 1160
  • #10 ssl_Read
    at sslsock.c line 1634
  • #11 read_from_prfd
    at camel-tcp-stream-raw.c line 285
  • #12 camel_stream_read
    at camel-stream.c line 137
  • #13 stream_fill
    at camel-pop3-stream.c line 82
  • #14 camel_pop3_stream_line
    at camel-pop3-stream.c line 336
  • #15 camel_pop3_engine_iterate
    at camel-pop3-engine.c line 288
  • #16 camel_pop3_engine_iterate
    at camel-pop3-engine.c line 273
  • #17 pop3_try_authenticate
    at camel-pop3-store.c line 479
  • #18 pop3_store_connect_sync
    at camel-pop3-store.c line 599
  • #19 camel_service_connect_sync
    at camel-service.c line 492
  • #20 camel_session_get_service_connected
    at camel-session.c line 523
  • #21 e_mail_session_get_inbox_sync
    at e-mail-session.c line 1079
  • #22 fetch_mail_exec
    at mail-ops.c line 264
  • #23 mail_msg_proxy
    at mail-mt.c line 415
  • #24 g_thread_pool_thread_proxy
    at gthreadpool.c line 319
  • #25 g_thread_create_proxy
    at gthread.c line 1955
  • #26 start_thread
    at pthread_create.c line 305
  • #27 clone
    at ../sysdeps/unix/sysv/linux/x86_64/clone.S line 115

Looks like it hangs while receiving/waiting for SSL handshake response from the server.
Comment 8 Christoph Wickert 2011-11-09 13:54:45 UTC
For the record: This trace was generated with evolution-3.0.3-1.fc15.x86_64 and evolution-data-server-3.0.3-1.fc15.x86_64
Comment 9 Milan Crha 2011-12-08 08:15:34 UTC
Cancelling of POP3 had been improved within bug #660615, and later
with commit [1]. I suppose this should behave better in 3.3.3.

http://git.gnome.org/browse/evolution-data-server/commit/?id=d8b557c297
Comment 10 Milan Crha 2012-05-04 06:33:15 UTC
This might be fixed for both IMAP and POP3 in 3.4.0+. Please reopen, if it'll not work for you. Thanks in advance.
Comment 11 Christoph Wickert 2012-05-06 17:56:18 UTC
It has gotten better but is not quite fixed, at least not for IMAP. When I connect to or disconnect from the VPN, evolution hangs while "Pinging IMAP server..." But at least this can be canceled, so the original problem I reported is fixed.