[PATCH 00/13] Re: imaplib2/IDLE again

Ethan Glasser-Camp glasse at cs.rpi.edu
Sat Mar 12 14:25:08 GMT 2011

On 03/12/2011 09:03 AM, Sebastian Spaeth wrote:
> Hi there, I applied 1-5,11,12 on top of current next, resolving any
> conflicts.
> You can pull it from git://github.com/spaetz/offlineimap.git
> branch feature/IDLEsupport. Should I send those patches to the list too?


You're quick on the draw! I had just started to look at the relevant 

> That having said, when I tried it out, I get this traceback:
>   Establishing connection to sub3.mail.dreamhost.com:993.
>   WARNING: Error occured attempting to sync account sspaeth.de: Traceback (most recent call last):
>    File "/home/spaetz/src/offlineimap/offlineimap/accounts.py", line 191, in syncrunner
>      self.sync(siglistener)
>    File "/home/spaetz/src/offlineimap/offlineimap/accounts.py", line 246, in sync
>      remoterepos.syncfoldersto(localrepos, [statusrepos])
>    File "/home/spaetz/src/offlineimap/offlineimap/repository/Base.py", line 121, in syncfoldersto
>      srcfolders = src.getfolders()
>    File "/home/spaetz/src/offlineimap/offlineimap/repository/IMAP.py", line 232, in getfolders
>      imapobj = self.imapserver.acquireconnection()
>    File "/home/spaetz/src/offlineimap/offlineimap/imapserver.py", line 253, in acquireconnection
>      cacertfile = self.sslcacertfile)
>    File "/home/spaetz/src/offlineimap/offlineimap/imaplibutil.py", line 91, in __init__
>      IMAP4_SSL.__init__(self, *args, **kwargs)
>    File "/home/spaetz/src/offlineimap/offlineimap/imaplib2.py", line 1862, in __init__
>      IMAP4.__init__(self, host, port, debug, debug_file, identifier, timeout)
>    File "/home/spaetz/src/offlineimap/offlineimap/imaplib2.py", line 353, in __init__
>      typ, dat = self.capability()
>    File "/home/spaetz/src/offlineimap/offlineimap/imaplib2.py", line 596, in capability
>      return self._simple_command(name, **kw)
>    File "/home/spaetz/src/offlineimap/offlineimap/imaplib2.py", line 1483, in _simple_command
>      return self._command_complete(self._command(name, *args), kw)
>    File "/home/spaetz/src/offlineimap/offlineimap/imaplib2.py", line 1259, in _command_complete
>      typ, dat = rqb.get_response('command: %s =>  %%s' % rqb.name)
>    File "/home/spaetz/src/offlineimap/offlineimap/imaplib2.py", line 161, in get_response
>      raise typ(exc_fmt % str(val))
> abort: command: CAPABILITY =>  socket error:<type 'exceptions.IOError'>  - Too many read 0

This is not an error I have ever seen or expect to see. Does this happen 
if you apply the patches to current master?

This happens when the socket seems ready to read, but self.read() 
returns no data. This could be a problem with one of our method 
overrides on self.read, with how we provide the socket (self.read_fd), 
or the patch conflict resolution. I'm going to look at your branch 
(downloading it now) and get back to you very soon.


More information about the OfflineIMAP-project mailing list