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 630149 - imapx doesn't return errors
imapx doesn't return errors
Status: RESOLVED OBSOLETE
Product: evolution-data-server
Classification: Platform
Component: Mailer
3.6.x (obsolete)
Other Linux
: Normal normal
: ---
Assigned To: evolution-mail-maintainers
Evolution QA team
Depends on:
Blocks:
 
 
Reported: 2010-09-20 12:29 UTC by David Woodhouse
Modified: 2013-08-28 13:42 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
patch (1.50 KB, patch)
2010-09-20 12:33 UTC, David Woodhouse
committed Details | Review

Description David Woodhouse 2010-09-20 12:29:46 UTC
store_sync() will attempt to sync every folder, but it'll abort its loop if it gets an error -- for example, if the operation has been cancelled.

But imapx_sync() doesn't return error; it always returns TRUE. So we actually get as far as reconnecting to the server for *every* folder, before camel_read() notices the cancelled status and aborts the connection.
Comment 1 David Woodhouse 2010-09-20 12:33:27 UTC
Created attachment 170653 [details] [review]
patch

This addresses part of the problem -- if we fail even to get a valid connection to the server, we can return error. I don't really understand the 'Sync twice' comment, or the logic behind not returning an error there -- we should probably fix that too.
Comment 2 David Woodhouse 2010-09-20 12:33:41 UTC
Review of attachment 170653 [details] [review]:

for 2.32 too
Comment 3 David Woodhouse 2010-09-21 22:32:54 UTC
Reopening (for master at least) due to comment 1. There are still cases in which we should probably return errors, but don't.
Comment 4 Milan Crha 2010-09-29 09:53:35 UTC
It's committed to 2.32 already, and it fails for master branch. I'm setting patch status to 'committed'.
Comment 5 Milan Crha 2012-12-04 13:52:19 UTC
This is true for other operations too, for example when moving/copying a message into a read-only folder the imapx doesn't claim anything, but the old imap does show an error about permission. A quick debugging shows that the imapx_parser_thread() receives the error into its local_error variable, and stops itself when it's set, but hides the error for the current job, thus the user doesn't know about it. I do not know how to fix this, I'm just confirming the bug.
Comment 6 Matthew Barnes 2013-08-28 13:42:13 UTC
I rewrote error propagation in IMAPX for 3.10, which should address this issue.

Closing as OBSOLETE.