Package: offlineimap
Version: 6.0.3
Severity: normal

I know that his bug has been reported before, but I couldn't locate it.
Under certain still not completely reproducible conditions
(but which generally involve accessing the folders on the IMAP server
with additional clients, but not at the same time!).
See below for an explanation of what I believe is happening.

The exact TypeError:
---
Thread 'Copy message 1302 from .' terminated with exception:
Traceback (most recent call last):
  File "/var/lib/python-support/python2.5/offlineimap/threadutil.py", line 149, 
in run
    Thread.run(self)
  File "/usr/lib/python2.5/threading.py", line 446, in run
    self.__target(*self.__args, **self.__kwargs)
  File "/var/lib/python-support/python2.5/offlineimap/folder/Base.py", line 
277, in copymessageto
    message = self.getmessage(uid)
  File "/var/lib/python-support/python2.5/offlineimap/folder/IMAP.py", line 
167, in getmessage
    return initialresult[1][0][1].replace("\r\n", "\n")
TypeError: 'NoneType' object is unsubscriptable
---

IMAP server is Courier from stable btw.

Here are some excerpts from the debug output:
---
DEBUG[imap]:   39:54.06 > PMOM6 FETCH 1:80 (FLAGS UID INTERNALDATE)
[...]
DEBUG[imap]:   39:54.30 < * 74 FETCH (FLAGS (\Seen \Deleted receipt-handled) 
UID 1302 INTERNALDATE "08-Oct-2008 10:27:28 +0200")
DEBUG[imap]:   39:54.30         matched r'\* (?P<data>\d+) (?P<type>[A-Z-]+)( 
(?P<data2>.*))?' => ('74', 'FETCH', ' (FLAGS (\\Seen \\Deleted receipt-handled) 
UID 1302 INTERNALDATE "08-Oct-2008 10:27:28 +0200")', '(FLAGS (\\Seen \\Deleted 
receipt-handled) UID 1302 INTERNALDATE "08-Oct-2008 10:27:28 +0200")')
[... Note that the flags include "\Delete" ...]
DEBUG[imap]:   39:54.31 < PMOM6 OK FETCH completed.
[...]
DEBUG[imap]: imapsplit() called with input: FLAGS (\Seen \Deleted 
receipt-handled) UID 1302 INTERNALDATE "08-Oct-2008 10:27:28 +0200"
DEBUG[imap]: imapsplit() returning: ['FLAGS', '(\\Seen \\Deleted 
receipt-handled)', 'UID', '1302', 'INTERNALDATE', '"08-Oct-2008 10:27:28 
+0200"']
DEBUG[imap]: options2hash called with input: ['FLAGS', '(\\Seen \\Deleted 
receipt-handled)', 'UID', '1302', 'INTERNALDATE', '"08-Oct-2008 10:27:28 
+0200"']
DEBUG[imap]: options2hash returning: {'INTERNALDATE': '"08-Oct-2008 10:27:28 
+0200"', 'FLAGS': '(\\Seen \\Deleted receipt-handled)', 'UID': '1302'}
[...]
Deleting 23 messages (1280, 1283, 1285, 1286, 1281, 1288, 1289, 1290, 1291, 
1292, 1294, 1295, 1296, 1297, 1298, 1299, 1287, 1293, 1284, 1282, 1279, 1276, 
1277) in IMAP[INBOX], LocalStatus[.]
DEBUG[imap]:   39:54.35 > PMOM7 SELECT INBOX
[...]
DEBUG[imap]:   39:54.43 < PMOM7 OK [READ-WRITE] Ok
[...]
DEBUG[imap]:   39:54.43 > PMOM8 UID STORE 
1280,1283,1285:1286,1281,1288:1292,1294:1299,1287,1293,1284,1282,1279,1276:1277 
+FLAGS (\Deleted)
[... various flag updates ...]
DEBUG[imap]:   39:54.60 < PMOM8 OK STORE completed.
[... flag hashs being updates ...]
DEBUG[imap]:   39:54.61 > PMOM9 EXPUNGE
DEBUG[imap]:   39:55.38 < * 48 EXPUNGE  [2 times]
DEBUG[imap]:   39:55.38 < * 49 EXPUNGE  [25 times]
DEBUG[imap]:   39:55.38 < * 50 EXPUNGE  [3 times]
DEBUG[imap]:   39:55.39 < * 50 EXISTS
DEBUG[imap]:   39:55.39 < * 0 RECENT
DEBUG[imap]:   39:55.39 < PMOM9 OK EXPUNGE completed
[... note that this means 30 messages were expunged. 48/49/50 being offsets in 
the folder? ...]
Copy message 1302 IMAP[INBOX] -> Maildir[.], LocalStatus[.]
DEBUG[imap]:   39:55.71 > PMOM10 EXAMINE INBOX
[... various meta data such as uidvalidity, 50 exists, etc. ...]
DEBUG[imap]:   39:55.78 > PMOM11 UID FETCH 1302 (BODY.PEEK[])
DEBUG[imap]:   39:55.85 < PMOM11 OK FETCH completed.
---

So in order to reproduce the bug, I'd try the following:
- sync with offlineimap
- delete a message on the client (so offlineimap will call expunge later)
- create a new (!) message on the server
- mark the new message for deletion on the server
- sync with offlineimap

Since above log suggests that offlineimap tries to retrieve a message that was 
deleted
during expunge, since it was already marked as "delete".

--- System information. ---
Architecture: i386
Kernel:       Linux 2.6.26-1-686

Debian Release: lenny/sid
  500 unstable        www.debian-multimedia.org 
  500 unstable        ftp.de.debian.org 
    1 experimental    ftp.de.debian.org 

--- Package information. ---
Depends             (Version) | Installed
=============================-+-===========
python               (>= 2.3) | 2.5.2-2
python-support     (>= 0.7.1) | 0.8.6





-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to