Subject: | Getting read errors if Fast_io is set to 1 |
Date: | Tue, 1 Dec 2009 11:14:40 +0200 (EET) |
To: | bug-Mail-IMAPClient [...] rt.cpan.org |
From: | Jukka Huhta <jukka.huhta [...] helsinki.fi> |
As requested in Fast_io()'s documentation, I'm reporting of a bug(?)
triggered by setting Fast_io to 1.
The problem is a read error with Resource temporarily unavailable
error message. When issued an IMAP search command, the response
arrives too late, after the client has sent the next IMAP command.
This is reproducible with my simple IMAP search client (attached;
uses currently STARTTLS and DIGEST-MD5).
Here is a excerpt from an IMAP conversation with the error messages:
Read: 3 OK [CAPABILITY IMAP4 IMAP4rev1 LITERAL+ ID MUPDATE=mupdate://mupdate-server/ LOGINDISABLED COMPRESS=DEFLATE ACL RIGHTS=kxte QUOTA MAILBOX-REFERRALS NAMESPACE UIDPLUS NO_ATOMIC_RENAME UNSELECT CHILDREN MULTIAPPEND BINARY SORT SORT=MODSEQ THREAD=ORDEREDSUBJECT THREAD=REFERENCES ANNOTATEMORE CATENATE CONDSTORE SCAN IDLE LISTEXT LIST-SUBSCRIBED X-NETSCAPE URLAUTH] Success (tls protection)
Sending: 4 SELECT folder
Sent 19 bytes
Read: * FLAGS (\Answered \Flagged \Draft \Deleted \Seen)
* OK [PERMANENTFLAGS (\Answered \Flagged \Draft \Deleted \Seen \*)]
* 7649 EXISTS
* 0 RECENT
* OK [UNSEEN 1]
* OK [UIDVALIDITY 1181805448]
* OK [UIDNEXT 150908]
* OK [NOMODSEQ] Sorry, modsequences have not been enabled on this mailbox
* OK [URLMECH INTERNAL]
4 OK [READ-WRITE] Completed
Sending: 5 UID SEARCH ALL
Sent 18 bytes
ERROR: error while reading data from server: Resource temporarily unavailable at /usr/lib/perl5/vendor_perl/5.8.5/Mail/IMAPClient.pm line 1542
Mail::IMAPClient::_read_line('Mail::IMAPClient=HASH(0x9b02418)') called at /usr/lib/perl5/vendor_perl/5.8.5/Mail/IMAPClient.pm line 1306
Mail::IMAPClient::_get_response('Mail::IMAPClient=HASH(0x9b02418)', 5, 'undef') called at /usr/lib/perl5/vendor_perl/5.8.5/Mail/IMAPClient.pm line 1277
Mail::IMAPClient::_imap_command_do('Mail::IMAPClient=HASH(0x9b02418)', 'UID SEARCH ALL') called at /usr/lib/perl5/vendor_perl/5.8.5/Mail/IMAPClient.pm line 1183
Mail::IMAPClient::_imap_command('Mail::IMAPClient=HASH(0x9b02418)', 'UID SEARCH ALL') called at /usr/lib/perl5/vendor_perl/5.8.5/Mail/IMAPClient.pm line 1358
Mail::IMAPClient::_imap_uid_command('Mail::IMAPClient=HASH(0x9b02418)', 'SEARCH', 'ALL') called at /usr/lib/perl5/vendor_perl/5.8.5/Mail/IMAPClient.pm line 2449
Mail::IMAPClient::search('Mail::IMAPClient=HASH(0x9b02418)', 'ALL') called at ./simple_imap_search.pl line 74
ERROR: error while reading data from server: Resource temporarily unavailable at /usr/lib/perl5/vendor_perl/5.8.5/Mail/IMAPClient.pm line 1228
Mail::IMAPClient::_imap_command('Mail::IMAPClient=HASH(0x9b02418)', 'UID SEARCH ALL') called at /usr/lib/perl5/vendor_perl/5.8.5/Mail/IMAPClient.pm line 1358
Mail::IMAPClient::_imap_uid_command('Mail::IMAPClient=HASH(0x9b02418)', 'SEARCH', 'ALL') called at /usr/lib/perl5/vendor_perl/5.8.5/Mail/IMAPClient.pm line 2449
Mail::IMAPClient::search('Mail::IMAPClient=HASH(0x9b02418)', 'ALL') called at ./simple_imap_search.pl line 74
Use of uninitialized value in concatenation (.) or string at /usr/lib/perl5/vendor_perl/5.8.5/Mail/IMAPClient.pm line 2242, <GEN0> line 2.
split_sequence: length(1000-70) parts: 0
Use of uninitialized value in hash element at /usr/lib/perl5/vendor_perl/5.8.5/Mail/IMAPClient.pm line 2310, <GEN0> line 2.
Error getting message, skipping...
Sending: 6 LOGOUT
Sent 10 bytes
Using on Mail::IMAPClient 3.20 with perl 5.8.5 on CentOS 4.8. Server
is Cyrus 2.3.15.
Message body is not shown because sender requested not to inline it.