GNOME Bugzilla – Bug 732502
Ignore get_quota errors in folder properties
Last modified: 2014-08-27 08:16:33 UTC
Using evo 3.13.3, when I right-click on my main imapx account, I get a red banner saying: ==== Failed to open folder. The reported error was "Error retrieving quota information: quota_response: expecting '('". ===== and it doesn't open the properties dialog. In the console, I see: (evolution:3435): evolution-mail-WARNING **: (em-folder-properties.c:485):emfp_dialog_got_quota_info: runtime check failed: (context->folder == NULL) yet, I can see this account properties using the main Evolution Properties dialog.
Thanks for a bug report. I tried to reproduce this with git master and the folder Properties dialog opens without nay issue here. Do you know what server you connect to? Could you grab a debug log for the Properties dialog, please? You can do it with a following command: $ CAMEL_DEBUG=imapx:io evolution then let evolution do all its updates and work in all IMAPx accounts and then invoke the folder Properties dialog. I'm interested in the log only for the folder Properties dialog invocation, nothing before it, neither interleaved with other actions on the wire. Thanks in advance.
It happens on my imap-courier server. That's when I try to fetch the properties of the Inbox, not of the Account itself. Here is (what-I-think-is) the interesting part of the imapx:io logs: [imapx:C] I/O: 'C00216 IDLE' [imapx:C] I/O: '+ entering idle mode' ---- here i perform the action ---- [imapx:C] I/O: 'DONE' [imapx:C] I/O: 'C00217 GETQUOTAROOT INBOX' [imapx:C] I/O: 'C00216 OK IDLE completed' [imapx:C] I/O: '* QUOTAROOT "INBOX" "ROOT" * QUOTA "ROOT" C00217 OK GETQUOTAROOT Ok.' [imapx:C] Data read failed with error 'quota_response: expecting '('' [imapx:D] I/O: '* OK [CAPABILITY IMAP4rev1 UIDPLUS CHILDREN NAMESPACE THREAD=ORDEREDSUBJECT THREAD=REFERENCES SORT QUOTA IDLE AUTH=PLAIN ACL ACL2=UNION] Courier-IMAP ready. Copyright 1998-2011 Double Precision, Inc. See COPYING for distribution information.' [imapx:D] I/O: 'D00218 LOGIN ...' [imapx:D] I/O: 'D00218 OK LOGIN Ok.'
I see. The usual response of the GETQUOTAROOT should look like: [imapx:B] I/O: 'B00041 GETQUOTAROOT INBOX' [imapx:B] I/O: '* QUOTAROOT "INBOX" "" * QUOTA "" (STORAGE 123 456) B00041 OK GETQUOTAROOT completed' but the courier server (mine too) returns something unexpected. Maybe due to no quota set. I will make the dialog ignore errors from GetQuota, it'll be better.
Created commit a1527b0 in evo master (3.13.4+) [1] Created commit e21ea08 in evo evolution-3-12 (3.12.4+) [1] https://git.gnome.org/browse/evolution/commit/?id=a1527b0
Shouldn't be there a follow-up bug report for camel-imapx, so the reply parser itself can be fixed properly? By the way, I had the same problem with GMail IMAP server.
Do you have installed 3.12.4 or later? I also do not know what you mean by "fixed properly". If the server doesn't return expected information (as defined by RFC), then the parser is failing properly. The comment #2 shows the missing "(STORAGE X Y)" part in the response. My GMail folders work properly, I do not see any error here, I tried on the Inbox and one subfolder.
According to https://www.ietf.org/rfc/rfc2087.txt The name is followed by a S-expression format list of the resource usage and limits of the quota root. The list contains *zero or more* triplets. Each triplet conatins a resource name, the current usage of the resource, and the resource limit. quotaroot_response ::= "QUOTAROOT" SP astring *(SP astring) (notice the asterisk before the left paren) So the Camel's parser is broken, IMHO. Even if some of the upper layers expects returned quota, it should never fail at the parsing stage.
Please disregard the above. There really should be at least empty parentheses according to spec.