More stack traces

Nicolas Sebrecht nicolas.s-dev at laposte.net
Thu Sep 8 21:28:21 BST 2011


On Thu, Sep 08, 2011 at 10:34:03AM +0200, Sebastian Spaeth wrote:
> On Wed, 07 Sep 2011 13:20:13 -0500, John Wiegley <jwiegley at gmail.com> wrote:
> 
> >     self._mb.deletemessages(self._uidlist(self.r2l, uidlist))
> >   File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/offlineimap/folder/UIDMaps.py", line 87, in _uidlist
> >     return [mapping[x] for x in items]
> > KeyError: 94L
> 
> Hi John, such a KeyError points to an inconsistency in the UIDMapping
> file. YOu have a mail with UID 94 somewhere that it attempts to delete,
> and it fails to look up the local UID in the UIDMapping file.
> 
> In
> .offlineimap/Account-WHATEVER/LocalStatus/Lists.WG21.Reflector
> 
> You should find the UID 94 and simply delete the line, it will lead a
> one duplicated message at worst. If you are using the sqlite backend,
> the sqlite3 database is in:
> 
> .offlineimap/Account-WHATEVER/LocalStatus-sqlite/Lists.WG21.Reflector

What about implementing such work ourself?

> Sorry for that, the UIDmapping part certainly needs more love in the
> future. ALthough the code seems to have been written in a way that it is
> quite error proof, aborting OfflineImap still seem to be able to corrupt
> the mapping. :-(

Agreed. I think we will need to rewrite the cache logic. :-/

-- 
Nicolas Sebrecht




More information about the OfflineIMAP-project mailing list