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 705446 - Old POP3 mails can be removed before getting them
Old POP3 mails can be removed before getting them
Status: RESOLVED FIXED
Product: evolution-data-server
Classification: Platform
Component: Mailer
3.8.x (obsolete)
Other Linux
: Normal critical
: ---
Assigned To: evolution-mail-maintainers
Evolution QA team
Depends on:
Blocks:
 
 
Reported: 2013-08-04 12:03 UTC by Pacho Ramos
Modified: 2013-08-08 06:29 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
eds patch (5.24 KB, patch)
2013-08-08 05:41 UTC, Milan Crha
committed Details | Review
evo patch (2.05 KB, patch)
2013-08-08 05:45 UTC, Milan Crha
committed Details | Review

Description Pacho Ramos 2013-08-04 12:03:33 UTC
This is hard to reproduce, but it's the second time in two months I lose all my new mails (now with 3.8.4, last time with older 3.8.x version) and I think this behavior should be double checked:

Usually, this occurs when network connection is really poor, in my case, the two times it occurred was because I was using my mobile phone as wifi router and 3G connection was lost in favor of (slower) 2G. I just hit this sequence:
- Evolution reports an error trying to retrieve a message (it also shows something like the message containing "[@#~11" (some random chars).
- I click again on the button to get and send mails -> Evolution gets stalled trying to get them. I cannot close evolution and end up running "evolution --force-shutdown" (that looks to finally kill it)
- I open evolution again (now with proper networking) -> it gets three new messages... but old previous messages were lost (probably because I have evolution configured to remove messages once they are retrieved... but they weren't really retrieved successfully and were removed from the server anyway (!). Maybe evolution shouldn't clean mails from server until they are retrieved and shown in Mailer (even after applying the filters). Otherwise, looks like it can cause data lose in some cases :|
Comment 1 Milan Crha 2013-08-07 14:51:42 UTC
Thanks for a bug report. I can reproduce this, if I cancel message fetching in the middle of the list to-be-downloaded, and if I restart fetching, then the old messages are removed, despite they were not downloaded yet at all (but they are old enough to satisfy the removal condition).
Comment 2 Pacho Ramos 2013-08-07 15:07:45 UTC
That is nice, I thought it was hard to reproduce and would be difficult to show you how to see the problem :'(
Comment 3 Milan Crha 2013-08-08 05:41:57 UTC
Created attachment 251117 [details] [review]
eds patch

for evolution-data-server;

The POP3 provider part. It adds more checking on a cancellable and a method to recognize uncached messages. The method is needed to distinguish between already downloaded and to-be-downloaded messages.
Comment 4 Milan Crha 2013-08-08 05:45:18 UTC
Created attachment 251118 [details] [review]
evo patch

for evolution;

Also add a bit more of checking on cancellables, and the most importantly save only already downloaded messages into local uid-cache file, instead of all new, which caused the POP3 to think it is already downloaded, while it really wasn't. The last part about disconnect is necessary for proper connection closing.
Comment 5 Milan Crha 2013-08-08 05:49:39 UTC
Created commit 2e7abcf in eds master (3.9.90+)
Created commit 52a48c1 in evo master (3.9.90+)

Created commit 809b48f in eds gnome-3-8 (3.8.5+)
Created commit 8b8ddbd in evo gnome-3-8 (3.8.5+)
Comment 6 Pacho Ramos 2013-08-08 06:29:44 UTC
Thanks a lot for the really fast fix :D, will try them when I get proper internet connection again ;)