socket error: <type 'exceptions.IOError'> - Too many read 0
Nicolas Sebrecht
nicolas.s-dev at laposte.net
Wed Apr 20 21:59:26 BST 2011
On Sat, Mar 26, 2011 at 01:01:13PM -0400, Ethan Glasser-Camp wrote:
> On 03/26/2011 02:26 AM, h2oz7v wrote:
>
> >https://gist.github.com/c8d4429596f55a1eadeb
Which is:
Copy message 423 from inbox:
WARNING: ERROR attempting to copy message 423 for account outlook:Traceback (most recent call last):
File "/usr/lib/python2.7/site-packages/offlineimap/folder/Base.py", line 332, in copymessageto
message = self.getmessage(uid)
File "/usr/lib/python2.7/site-packages/offlineimap/folder/IMAP.py", line 215, in getmessage
initialresult = imapobj.uid('fetch', '%d' % uid, '(BODY.PEEK[])')
File "/usr/lib/python2.7/site-packages/offlineimap/imaplib2.py", line 1067, in uid
return self._simple_command('UID', command, *args, **kw)
File "/usr/lib/python2.7/site-packages/offlineimap/imaplib2.py", line 1485, in _simple_command
return self._command_complete(self._command(name, *args), kw)
File "/usr/lib/python2.7/site-packages/offlineimap/imaplib2.py", line 1261, in _command_complete
typ, dat = rqb.get_response('command: %s => %%s' % rqb.name)
File "/usr/lib/python2.7/site-packages/offlineimap/imaplib2.py", line 161, in get_response
raise typ(exc_fmt % str(val))
abort: command: UID => socket error: <type 'exceptions.IOError'> - Too many read 0
Thread 'Copy message 423 from inbox' terminated with exception:
Traceback (most recent call last):
File "/usr/lib/python2.7/site-packages/offlineimap/threadutil.py", line 159, in run
Thread.run(self)
File "/usr/lib/python2.7/threading.py", line 483, in run
self.__target(*self.__args, **self.__kwargs)
File "/usr/lib/python2.7/site-packages/offlineimap/folder/Base.py", line 332, in copymessageto
message = self.getmessage(uid)
File "/usr/lib/python2.7/site-packages/offlineimap/folder/IMAP.py", line 215, in getmessage
initialresult = imapobj.uid('fetch', '%d' % uid, '(BODY.PEEK[])')
File "/usr/lib/python2.7/site-packages/offlineimap/imaplib2.py", line 1067, in uid
return self._simple_command('UID', command, *args, **kw)
File "/usr/lib/python2.7/site-packages/offlineimap/imaplib2.py", line 1485, in _simple_command
return self._command_complete(self._command(name, *args), kw)
File "/usr/lib/python2.7/site-packages/offlineimap/imaplib2.py", line 1261, in _command_complete
typ, dat = rqb.get_response('command: %s => %%s' % rqb.name)
File "/usr/lib/python2.7/site-packages/offlineimap/imaplib2.py", line 161, in get_response
raise typ(exc_fmt % str(val))
abort: command: UID => socket error: <type 'exceptions.IOError'> - Too many read 0
> Sorry, I still have no idea what's going on here. It's definitely
> not a problem with the decompression code. I don't know enough
> about SSL to figure out why a socket would seem to be ready but not
> have any information on it.
For the record, I just had this bug too (v6.3.3-rc3)
WARNING: Error occured attempting to sync account nis: Traceback (most recent call last):
File "/usr/lib64/python2.5/site-packages/offlineimap/accounts.py", line 191, in syncrunner
self.sync(siglistener)
File "/usr/lib64/python2.5/site-packages/offlineimap/accounts.py", line 246, in sync
remoterepos.syncfoldersto(localrepos, [statusrepos])
File "/usr/lib64/python2.5/site-packages/offlineimap/repository/Base.py", line 121, in syncfoldersto
srcfolders = src.getfolders()
File "/usr/lib64/python2.5/site-packages/offlineimap/repository/IMAP.py", line 242, in getfolders
imapobj = self.imapserver.acquireconnection()
File "/usr/lib64/python2.5/site-packages/offlineimap/imapserver.py", line 211, in acquireconnection
timeout=socket.getdefaulttimeout())
File "/usr/lib64/python2.5/site-packages/offlineimap/imaplib2.py", line 344, in __init__
self.welcome = self._request_push(tag='continuation').get_response('IMAP4 protocol error: %s')[1]
File "/usr/lib64/python2.5/site-packages/offlineimap/imaplib2.py", line 162, in get_response
raise typ(exc_fmt % str(val))
abort: IMAP4 protocol error: socket error: <type 'exceptions.IOError'> - Too many read 0
but it looks like it didn't appeared at the exact same time than h2oz7v
in the sync process.
Re-running OfflineIMAP didn't hit it again.
The worst issue in this story (and in other's too) is that, as a user,
I'm totally blind. I can't say when it happend in the sync process, if a
message was beeing fetch, tried to be fetched or not, which message/UID
could be problematic nor any other interesting information which could
help me.
Notice the "I" here is for any user having issues. I'm not talking for
me. I'm not talking of this particular case, neither.
I think that raising errors is not enough. The last work done to get
plain exception (instead of nothing) is in the good way but we should
provide more information on top. Quite frankly, we should provide _all_
the information which _could_ help a USER.
I'd say it would be nice to enhance our error handling while going on
v6.4.0 which should include most of the last and current best news for
OfflineIMAP (nice error handling, SQLite support, read iddle, introduced
test suites, etc).
Oh, we've got work!
--
Nicolas Sebrecht
More information about the OfflineIMAP-project
mailing list