Bug #68
OSError: [Errno 21] Is a directory using 5.99.13
| Status : | Closed | Start : | 05/09/2008 | |
| Priority : | Normal | Due date : | ||
| Assigned to : | - | % Done : | 0% |
|
| Category : | - | |||
| Target version : | - | |||
| Resolution : | Fixed |
Description
When syncing a new Maildir directory with a Microsoft Exchange 2007 IMAP service, the following error is thrown:
===startOfflineIMAP 5.99.13
Copyright (C) 2002 - 2008 John Goerzen <jgoerzen@complete.org>
This software comes with ABSOLUTELY NO WARRANTY; see the file
COPYING for details. This is free software, and you are welcome
to distribute it under the conditions laid out in COPYING.
WARNING: Invalid debug type: IMAP
- Processing account Test
Copying folder structure from IMAP to Maildir
Establishing connection to imap.thismonkey.com:993.
2: [active] *Control: .
Thread 'Account sync Test' terminated with exception:
Traceback (most recent call last):
File "/tmp/offlineimap/offlineimap/threadutil.py", line 153, in run
File "/usr/local/lib/python2.5/threading.py", line 446, in run
self.__target(*self.__args, **self.__kwargs)
File "/tmp/offlineimap/offlineimap/accounts.py", line 114, in syncrunner
File "/tmp/offlineimap/offlineimap/accounts.py", line 148, in sync
File "/tmp/offlineimap/offlineimap/repository/Base.py", line 157, in syncfoldersto
File "/tmp/offlineimap/offlineimap/repository/LocalStatus.py", line 53, in makefolder
OSError: [Errno 21] Is a directory
Last 50 debug messages logged for Account sync Test prior to exception:
<snip>
maildir: makefolder called with arg 'INBOX.finance'
maildir: makefolder: calling makedirs INBOX.finance
maildir: makefolder: creating cur, new, tmp
===end
The last directory ('INBOX.finance') is indeed created, as are cur,new,tmp.
When I next run the command, I get a slightly different error:
===start
Thread 'Account sync Test' terminated with exception:
Traceback (most recent call last):
File "/tmp/offlineimap/offlineimap/threadutil.py", line 153, in run
File "/usr/local/lib/python2.5/threading.py", line 446, in run
self.__target(*self.__args, **self.__kwargs)
File "/tmp/offlineimap/offlineimap/accounts.py", line 114, in syncrunner
File "/tmp/offlineimap/offlineimap/accounts.py", line 148, in sync
File "/tmp/offlineimap/offlineimap/repository/Base.py", line 157, in syncfoldersto
File "/tmp/offlineimap/offlineimap/repository/LocalStatus.py", line 45, in makefolder
File "/usr/local/lib/python2.5/os.py", line 171, in makedirs
mkdir(name, mode)
Last 50 debug messages logged for Account sync Test prior to exception:
<snip>
maildir: makefolder called with arg 'RSS Feeds.The Age News Headlines'
maildir: makefolder: calling makedirs RSS Feeds.The Age News Headlines
maildir: makefolder: creating cur, new, tmp
==end
Many thanks,
Scott
History
05/09/2008 09:24 AM - John Goerzen
Please try the patch in fe1d92f0 and let me know if it fixes this for you.
Download the diff from http://git.complete.org/offlineimap?a=commitdiff_plain;h=fe1d92f00e041eb66d1f573149ea9127bc2c15c1
05/09/2008 08:49 PM - John Goerzen
- Resolution set to Fixed
- Status changed from New to Closed
5.99.14 is out, with that patch.
05/09/2008 09:40 PM - Scott Aitken
Hi John,
I started from scratch with the modified LocalStatus.py and now get a different error:
$ rm -fr ~/.offlineimap ~/Maildir/ && mkdir ~/Maildir
$ PYTHONPATH=. ./bin/offlineimap
Copyright (C) 2002 - 2008 John Goerzen <jgoerzen@complete.org>
This software comes with ABSOLUTELY NO WARRANTY; see the file
COPYING for details. This is free software, and you are welcome
to distribute it under the conditions laid out in COPYING.
- Processing account Test
Copying folder structure from IMAP to Maildir
Establishing connection to imap.thismonkey.com:993.
2: [active] *Control: .
Thread 'Account sync Test' terminated with exception:
Traceback (most recent call last):
File "/tmp/offlineimap/offlineimap/threadutil.py", line 153, in run
File "/usr/local/lib/python2.5/threading.py", line 446, in run
self.__target(*self.__args, **self.__kwargs)
File "/tmp/offlineimap/offlineimap/accounts.py", line 114, in syncrunner
File "/tmp/offlineimap/offlineimap/accounts.py", line 148, in sync
File "/tmp/offlineimap/offlineimap/repository/Base.py", line 157, in syncfoldersto
File "/tmp/offlineimap-5.99.13/offlineimap/repository/LocalStatus.py", line 43, in makefolder
file = open(filename + ".tmp", "wt")
IOError: [Errno 2] No such file or directory: '/home/scotia/.offlineimap/Account-Test/LocalStatus/INBOX/inet/scott/sh.tmp'
Last 50 debug messages logged for Account sync Test prior to exception:
imap: imapsplit() called with input: (\Marked \HasNoChildren) "/" "Sent Items"
imap: imapsplit() returning: ['(\\Marked \\HasNoChildren)', '"/"', '"Sent Items"']
imap: imapsplit() called with input: \Marked \HasNoChildren
imap: imapsplit() returning: ['\\Marked', '\\HasNoChildren']
imap: dequote() called with input: "Sent Items"
imap: dequote() returning: Sent Items
imap: dequote() called with input: Sent Items
imap: imapsplit() called with input: (\HasChildren) "/" "Sync Issues"
imap: imapsplit() returning: ['(\\HasChildren)', '"/"', '"Sync Issues"']
imap: imapsplit() called with input: \HasChildren
imap: imapsplit() returning: ['\\HasChildren']
imap: dequote() called with input: "Sync Issues"
imap: dequote() returning: Sync Issues
imap: dequote() called with input: Sync Issues
imap: imapsplit() called with input: (\HasNoChildren) "/" "Sync Issues/Conflicts"
imap: imapsplit() returning: ['(\\HasNoChildren)', '"/"', '"Sync Issues/Conflicts"']
imap: imapsplit() called with input: \HasNoChildren
imap: imapsplit() returning: ['\\HasNoChildren']
imap: dequote() called with input: "Sync Issues/Conflicts"
imap: dequote() returning: Sync Issues/Conflicts
imap: dequote() called with input: Sync Issues/Conflicts
imap: imapsplit() called with input: (\HasNoChildren) "/" "Sync Issues/Local Failures"
imap: imapsplit() returning: ['(\\HasNoChildren)', '"/"', '"Sync Issues/Local Failures"']
imap: imapsplit() called with input: \HasNoChildren
imap: imapsplit() returning: ['\\HasNoChildren']
imap: dequote() called with input: "Sync Issues/Local Failures"
imap: dequote() returning: Sync Issues/Local Failures
imap: dequote() called with input: Sync Issues/Local Failures
imap: imapsplit() called with input: (\HasNoChildren) "/" "Sync Issues/Server Failures"
imap: imapsplit() returning: ['(\\HasNoChildren)', '"/"', '"Sync Issues/Server Failures"']
imap: imapsplit() called with input: \HasNoChildren
imap: imapsplit() returning: ['\\HasNoChildren']
imap: dequote() called with input: "Sync Issues/Server Failures"
imap: dequote() returning: Sync Issues/Server Failures
imap: dequote() called with input: Sync Issues/Server Failures
imap: imapsplit() called with input: (\HasNoChildren) "/" Tasks
imap: imapsplit() returning: ['(\\HasNoChildren)', '"/"', 'Tasks']
imap: imapsplit() called with input: \HasNoChildren
imap: imapsplit() returning: ['\\HasNoChildren']
imap: dequote() called with input: Tasks
imap: dequote() called with input: Tasks
maildir: _GETFOLDERS_SCANDIR STARTING. root = /home/scotia/Maildir, extension = None
maildir: toppath = /home/scotia/Maildir
maildir: *** top of loop
maildir: dirname = .
maildir: fullname = /home/scotia/Maildir/.
maildir: _GETFOLDERS_SCANDIR RETURNING []
maildir: makefolder called with arg 'INBOX.inet.scott.sh'
maildir: makefolder: calling makedirs INBOX.inet.scott.sh
maildir: makefolder: creating cur, new, tmp
Many thanks for your help and quick response.
05/10/2008 09:09 PM - John Goerzen
- Resolution deleted (
Fixed) - Status changed from Closed to Assigned
Allright, I think I finally traced it down. Try this patch:
http://git.complete.org/offlineimap?a=commitdiff_plain;h=3ff37143b5f067dd6aded34a39b5562f29a8b4fe
05/10/2008 10:24 PM - Scott Aitken
Hi John, thanks again for all your help.
That patch allowed the sync to go a lot further - but now I get the "TypeError: 'NoneType' object is unsubscriptable" error again.
I patched Base.py, then tried with both the 5.99.13 version of LocalStatus.py and the fe1d92f0 revision. No joy either way - but interestingly very different debug output.
Not sure if this goes back to being an issue with Microsofts Exchange 2007 IMAP service or not. If you still want to pursue it, I can give you ssh access to the device where I'm running offlineimap.
Regards
Scott
here are the debug outputs...
!!! with patched LocalStatus.py fe1d92f0
OfflineIMAP 5.99.13
Copyright (C) 2002 - 2008 John Goerzen <jgoerzen@complete.org>
This software comes with ABSOLUTELY NO WARRANTY; see the file
COPYING for details. This is free software, and you are welcome
to distribute it under the conditions laid out in COPYING.
Now debugging for imap: IMAP protocol debugging
1: [active] *Control: .
OfflineIMAP 5.99.13 Copyright (C) 2002 - 2008 John Goerzen
bigpond.com (Netscape Messaging Server 4.15) with\r\n ESMTP id GDWATD02.TQJ for\r\n <saitken1#bigpond.net.au@domain10.bigpond.com>; Sat, 26 May 2001\r\n 00:27:13 +1000 \r\nReceived: from nmcst152.netaddress.usa
.net ([144.135.24.69]) by\r\n mailin3.email.bigpond.com (Netscape Messaging Server 4.15) with\r\n SMTP id GDWATC00.A0Q for\r\n <saitken1#bigpond.net.au@domain10.bigpond.com>; Sat, 26 May 2001\r\n 00:27
:12 +1000 \r\nReceived: from nmcst152.netaddress.usa.net ([204.68.24.152]) by bwmam01.mailsvc.email.bigpond.com(MailRouter V2.9d 8311/8017383); 26 May 2001 00:27:12\r\nReceived: (qmail 29623 invoked by uid 0); 25 May 2001 14:21:42 -0000\
r\nReceived: from spf5.us4.outblaze.com <205.158.62.27> [204.68.23.24] by nmcst152 via mtad (34FM.0700.17B.03) \r\n\twith ESMTP id 844FeyoVp0287M24; Fri, 25 May 2001 14:21:41 GMT\r\nReceived: from spf5.us4.outblaze.com [205.158.62.27] by
nwcst279 via mtad (34FM.0700.17B.03); \r\n\tFri, 25 May 2001 14:21:41 GMT\r\nReceived: from mta1-1.us4.outblaze.com (205-158-62-45.outblaze.com [205.158.62.45] (may be forged))\r\n\tby spf5.us4.outblaze.com (8.11.0/8.11.0) with SMTP id
f4PELdi25687\r\n\tfor <scotta@usa.net>; Fri, 25 May 2001 14:21:39 GMT\r\nReceived: (qmail 2745 invoked by uid 1001); 25 May 2001 14:19:00 -0000\r\nReceived: (qmail 10909 invoked from network); 24 May 2001 07:08:13 -0000\r\nReceived: from
unknown (HELO spf4.us4.outblaze.com) (205.158.62.26)\r\n by 205-158-62-45.outblaze.com with SMTP; 24 May 2001 07:08:13 -0000\r\nReceived: from mailsweeper.norwich-union.com.au (mx.norwich-union.com.au [203.8.33.131])\r\n\tby spf4.us4.o
utblaze.com (8.11.0/8.11.0) with ESMTP id f4O786908180\r\n\tfor <scotta@whoever.com>; Thu, 24 May 2001 07:08:07 GMT\r\nReceived: from norwich-union.com.au (unverified) by mailsweeper.norwich-union.com.au\r\n (Content Technologies SMTPRS
4.1.5) with SMTP id <Tcb08264153b80f1cad@mailsweeper.norwich-union.com.au> for <scotta@whoever.com>;\r\n Thu, 24 May 2001 16:38:03 +1000\r\nReceived: from NFSG_DOM-Message_Server by norwich-union.com.au\r\n\twith Novell_GroupWise; Thu, 2
4 May 2001 16:38:00 +1000\r\nFrom: Jason Mansfield <Jason.Mansfield@navigator.com.au>\r\nTo: "\'scotta@whoever.com\'" <scotta@whoever.com>\r\nDate: Thu, 24 May 2001 16:35:30 +1000\r\nSubject: Re: Do\r\nThread-Topic: Do\r\nMessage-ID: <sb
0d38e8.048@norwich-union.com.au>\r\nAccept-Language: en-AU, en-US\r\nContent-Language: en-US\r\nX-MS-Has-Attach:\r\nX-MS-TNEF-Correlator:\r\nContent-Type: text/plain; charset="us-ascii"\r\nContent-Transfer-Encoding: quoted-printable\r\nM
IME-Version: 1.0\r\n\r\nHi Scott,\r\n\r\nSorry I haven\'t gotten back to you sooner than now. Things have been a bit =\r\nhectic at work of late.\r\n\r\nIs Saturday night going ahead. If so, Leanne and myself will love to attend=\r\n.\r\
n\r\n\r\nThanks, Jason.\r\n\r\n>>> "Scott Aitken" <scotta@whoever.com> 05/01/01 05:30pm >>>\r\nEvenin\' all,\r\nDinner has been set for Saturday May 26. Time TBA, Location TBA.\r\nAny suggestions for location/restaurant would be appreci
ated.\r\nPartners most welcome. Please let me know numbers so I can book.\r\n\r\nLater,\r\nScott (Aitken)\r\nscotta@whoever.com\r\n0414 855 641\r\n\r\n\r\n\r\n**********************************************************************\r\nThi
s email and any files transmitted with it are confidential and\r\nintended solely for the use of the individual or entity to whom they\r\nare addressed. If you have received this email in error please let\r\nus know by reply email or pho
ne and delete all copies from your\r\ncomputer system.\r\n**********************************************************************\r\n\r\n\r\n\r\n'
DEBUG[imap]: savemessage: new content length is 3722
DEBUG[imap]: 14:22.08 > PCBH59 APPEND "INBOX/friends" (\Seen) "26-May-2001 00:27:13 +1000" {3722}
DEBUG[imap]: 14:22.12 < + Ready for additional command text.
DEBUG[imap]: 14:22.12 matched r'\+( (?P<data>.*))?' => (' Ready for additional command text.', 'Ready for additional command text.')
DEBUG[imap]: 14:22.12 write literal size 3722
DEBUG[imap]: 14:22.65 < * 1 RECENT
DEBUG[imap]: 14:22.65 matched r'\* (?P<data>\d+) (?P<type>[A-Z-]+)( (?P<data2>.*))?' => ('1', 'RECENT', None, None)
DEBUG[imap]: 14:22.65 untagged_responses[RECENT] 1 += ["1"]
DEBUG[imap]: 14:22.66 < * 252 EXISTS
DEBUG[imap]: 14:22.66 matched r'\* (?P<data>\d+) (?P<type>[A-Z-]+)( (?P<data2>.*))?' => ('252', 'EXISTS', None, None)
DEBUG[imap]: 14:22.66 untagged_responses[EXISTS] 1 += ["252"]
DEBUG[imap]: 14:22.66 < PCBH59 OK APPEND completed.
DEBUG[imap]: 14:22.66 matched r'(?P<tag>PCBH\d+) (?P<type>[A-Z]+) (?P<data>.*)' => ('PCBH59', 'OK', 'APPEND completed.')
DEBUG[imap]: 14:22.66 > PCBH60 CHECK
DEBUG[imap]: 14:22.67 < PCBH60 OK CHECK completed.
DEBUG[imap]: 14:22.67 matched r'(?P<tag>PCBH\d+) (?P<type>[A-Z]+) (?P<data>.*)' => ('PCBH60', 'OK', 'CHECK completed.')
DEBUG[imap]: savemessage: first attempt to get new UID
DEBUG[imap]: savemessage_searchforheader called for X-OfflineIMAP-x682425568-52656d6f7465-494e424f582f667269656e6473: 1210475662-0177216059411-v5.99.13
DEBUG[imap]: 14:22.67 > PCBH61 UID SEARCH HEADER X-OfflineIMAP-x682425568-52656d6f7465-494e424f582f667269656e6473 "1210475662-0177216059411-v5.99.13"
DEBUG[imap]: 14:23.38 < * SEARCH 275
DEBUG[imap]: 14:23.38 matched r'\* (?P<type>[A-Z-]+)( (?P<data>.*))?' => ('SEARCH', ' 275', '275')
DEBUG[imap]: 14:23.38 untagged_responses[SEARCH] 0 += ["275"]
DEBUG[imap]: 14:23.38 < PCBH61 OK SEARCH completed.
DEBUG[imap]: 14:23.38 matched r'(?P<tag>PCBH\d+) (?P<type>[A-Z]+) (?P<data>.*)' => ('PCBH61', 'OK', 'SEARCH completed.')
DEBUG[imap]: 14:23.38 untagged_responses[SEARCH] => ['275']
DEBUG[imap]: savemessage_searchforheader got initial matchinguids: '275'
DEBUG[imap]: savemessage_searchforheader: matchinguids now ['275']
DEBUG[imap]: savemessage: returning 275
Copy message 177 IMAP[INBOX/friends] -> Maildir[INBOX.friends], LocalStatus[INBOX.friends]
DEBUG[imap]: 14:23.40 > PCBH62 EXAMINE "INBOX/friends"
DEBUG[imap]: 14:23.43 < * 252 EXISTS
DEBUG[imap]: 14:23.43 matched r'\* (?P<data>\d+) (?P<type>[A-Z-]+)( (?P<data2>.*))?' => ('252', 'EXISTS', None, None)
DEBUG[imap]: 14:23.43 untagged_responses[EXISTS] 0 += ["252"]
DEBUG[imap]: 14:23.43 < * 0 RECENT
DEBUG[imap]: 14:23.43 matched r'\* (?P<data>\d+) (?P<type>[A-Z-]+)( (?P<data2>.*))?' => ('0', 'RECENT', None, None)
DEBUG[imap]: 14:23.44 untagged_responses[RECENT] 0 += ["0"]
DEBUG[imap]: 14:23.44 < * FLAGS (\Seen \Answered \Flagged \Deleted \Draft $MDNSent)
DEBUG[imap]: 14:23.44 matched r'\* (?P<type>[A-Z-]+)( (?P<data>.*))?' => ('FLAGS', ' (\\Seen \\Answered \\Flagged \\Deleted \\Draft $MDNSent)', '(\\Seen \\Answered \\Flagged \\Deleted \\Draft $MDNSent)')
DEBUG[imap]: 14:23.44 untagged_responses[FLAGS] 0 += ["(\Seen \Answered \Flagged \Deleted \Draft $MDNSent)"]
DEBUG[imap]: 14:23.44 < * OK [PERMANENTFLAGS ()] Permanent flags
DEBUG[imap]: 14:23.44 matched r'\* (?P<type>[A-Z-]+)( (?P<data>.*))?' => ('OK', ' [PERMANENTFLAGS ()] Permanent flags', '[PERMANENTFLAGS ()] Permanent flags')
DEBUG[imap]: 14:23.44 untagged_responses[OK] 0 += ["[PERMANENTFLAGS ()] Permanent flags"]
DEBUG[imap]: 14:23.45 matched r'\[(?P<type>[A-Z-]+)( (?P<data>[^\]]*))?\]' => ('PERMANENTFLAGS', ' ()', '()')
DEBUG[imap]: 14:23.45 untagged_responses[PERMANENTFLAGS] 0 += ["()"]
DEBUG[imap]: 14:23.45 < * OK [UIDVALIDITY 199] UIDVALIDITY value
DEBUG[imap]: 14:23.45 matched r'\* (?P<type>[A-Z-]+)( (?P<data>.*))?' => ('OK', ' [UIDVALIDITY 199] UIDVALIDITY value', '[UIDVALIDITY 199] UIDVALIDITY value')
DEBUG[imap]: 14:23.45 untagged_responses[OK] 1 += ["[UIDVALIDITY 199] UIDVALIDITY value"]
DEBUG[imap]: 14:23.45 matched r'\[(?P<type>[A-Z-]+)( (?P<data>[^\]]*))?\]' => ('UIDVALIDITY', ' 199', '199')
DEBUG[imap]: 14:23.45 untagged_responses[UIDVALIDITY] 0 += ["199"]
DEBUG[imap]: 14:23.45 < * OK [UIDNEXT 276] The next unique identifier value
DEBUG[imap]: 14:23.46 matched r'\* (?P<type>[A-Z-]+)( (?P<data>.*))?' => ('OK', ' [UIDNEXT 276] The next unique identifier value', '[UIDNEXT 276] The next unique identifier value')
DEBUG[imap]: 14:23.46 untagged_responses[OK] 2 += ["[UIDNEXT 276] The next unique identifier value"]
DEBUG[imap]: 14:23.46 matched r'\[(?P<type>[A-Z-]+)( (?P<data>[^\]]*))?\]' => ('UIDNEXT', ' 276', '276')
DEBUG[imap]: 14:23.46 untagged_responses[UIDNEXT] 0 += ["276"]
DEBUG[imap]: 14:23.46 < PCBH62 OK [READ-ONLY] EXAMINE completed.
DEBUG[imap]: 14:23.46 matched r'(?P<tag>PCBH\d+) (?P<type>[A-Z]+) (?P<data>.*)' => ('PCBH62', 'OK', '[READ-ONLY] EXAMINE completed.')
DEBUG[imap]: 14:23.46 matched r'\[(?P<type>[A-Z-]+)( (?P<data>[^\]]*))?\]' => ('READ-ONLY', None, None)
DEBUG[imap]: 14:23.46 untagged_responses[READ-ONLY] 0 += [""]
DEBUG[imap]: 14:23.47 > PCBH63 UID FETCH 177 (BODY.PEEK[])
DEBUG[imap]: 14:23.47 < PCBH63 OK FETCH completed.
DEBUG[imap]: 14:23.48 matched r'(?P<tag>PCBH\d+) (?P<type>[A-Z]+) (?P<data>.*)' => ('PCBH63', 'OK', 'FETCH completed.')
DEBUG[imap]: Returned object from fetching 177: ('OK', [None])
Copy message 178 IMAP[INBOX/friends] -> Maildir[INBOX.friends], LocalStatus[INBOX.friends]
DEBUG[imap]: 14:23.48 > PCBH64 UID FETCH 178 (BODY.PEEK[])
DEBUG[imap]: 14:23.49 < PCBH64 OK FETCH completed.
DEBUG[imap]: 14:23.49 matched r'(?P<tag>PCBH\d+) (?P<type>[A-Z]+) (?P<data>.*)' => ('PCBH64', 'OK', 'FETCH completed.')
DEBUG[imap]: Returned object from fetching 178: ('OK', [None])
Copy message 179 IMAP[INBOX/friends] -> Maildir[INBOX.friends], LocalStatus[INBOX.friends]
DEBUG[imap]: 14:23.50 > PCBH65 UID FETCH 179 (BODY.PEEK[])
2: [active] *Control: .
Thread 'Copy message 177 from INBOX/friends' terminated with exception:
Traceback (most recent call last):
File "/tmp/offlineimap/offlineimap/threadutil.py", line 153, in run
File "/usr/local/lib/python2.5/threading.py", line 446, in run
self.__target(*self.__args, **self.__kwargs)
File "/tmp/offlineimap/offlineimap/folder/Base.py", line 277, in copymessageto
File "/tmp/offlineimap/offlineimap/folder/IMAP.py", line 167, in getmessage
TypeError: 'NoneType' object is unsubscriptable
Last 33 debug messages logged for Copy message 177 from INBOX/friends prior to exception:
imap: 14:23.40 > PCBH62 EXAMINE "INBOX/friends"
imap: 14:23.43 < * 252 EXISTS
imap: 14:23.43 matched r'\* (?P<data>\d+) (?P<type>[A-Z-]+)( (?P<data2>.*))?' => ('252', 'EXISTS', None, None)
imap: 14:23.43 untagged_responses[EXISTS] 0 += ["252"]
imap: 14:23.43 < * 0 RECENT
imap: 14:23.43 matched r'\* (?P<data>\d+) (?P<type>[A-Z-]+)( (?P<data2>.*))?' => ('0', 'RECENT', None, None)
imap: 14:23.44 untagged_responses[RECENT] 0 += ["0"]
imap: 14:23.44 < * FLAGS (\Seen \Answered \Flagged \Deleted \Draft $MDNSent)
imap: 14:23.44 matched r'\* (?P<type>[A-Z-]+)( (?P<data>.*))?' => ('FLAGS', ' (\\Seen \\Answered \\Flagged \\Deleted \\Draft $MDNSent)', '(\\Seen \\Answered \\Flagged \\Deleted \\Draft $MDNSent)')
imap: 14:23.44 untagged_responses[FLAGS] 0 += ["(\Seen \Answered \Flagged \Deleted \Draft $MDNSent)"]
imap: 14:23.44 < * OK [PERMANENTFLAGS ()] Permanent flags
imap: 14:23.44 matched r'\* (?P<type>[A-Z-]+)( (?P<data>.*))?' => ('OK', ' [PERMANENTFLAGS ()] Permanent flags', '[PERMANENTFLAGS ()] Permanent flags')
imap: 14:23.44 untagged_responses[OK] 0 += ["[PERMANENTFLAGS ()] Permanent flags"]
imap: 14:23.45 matched r'\[(?P<type>[A-Z-]+)( (?P<data>[^\]]*))?\]' => ('PERMANENTFLAGS', ' ()', '()')
imap: 14:23.45 untagged_responses[PERMANENTFLAGS] 0 += ["()"]
imap: 14:23.45 < * OK [UIDVALIDITY 199] UIDVALIDITY value
imap: 14:23.45 matched r'\* (?P<type>[A-Z-]+)( (?P<data>.*))?' => ('OK', ' [UIDVALIDITY 199] UIDVALIDITY value', '[UIDVALIDITY 199] UIDVALIDITY value')
imap: 14:23.45 untagged_responses[OK] 1 += ["[UIDVALIDITY 199] UIDVALIDITY value"]
imap: 14:23.45 matched r'\[(?P<type>[A-Z-]+)( (?P<data>[^\]]*))?\]' => ('UIDVALIDITY', ' 199', '199')
imap: 14:23.45 untagged_responses[UIDVALIDITY] 0 += ["199"]
imap: 14:23.45 < * OK [UIDNEXT 276] The next unique identifier value
imap: 14:23.46 matched r'\* (?P<type>[A-Z-]+)( (?P<data>.*))?' => ('OK', ' [UIDNEXT 276] The next unique identifier value', '[UIDNEXT 276] The next unique identifier value')
imap: 14:23.46 untagged_responses[OK] 2 += ["[UIDNEXT 276] The next unique identifier value"]
imap: 14:23.46 matched r'\[(?P<type>[A-Z-]+)( (?P<data>[^\]]*))?\]' => ('UIDNEXT', ' 276', '276')
imap: 14:23.46 untagged_responses[UIDNEXT] 0 += ["276"]
imap: 14:23.46 < PCBH62 OK [READ-ONLY] EXAMINE completed.
imap: 14:23.46 matched r'(?P<tag>PCBH\d+) (?P<type>[A-Z]+) (?P<data>.*)' => ('PCBH62', 'OK', '[READ-ONLY] EXAMINE completed.')
imap: 14:23.46 matched r'\[(?P<type>[A-Z-]+)( (?P<data>[^\]]*))?\]' => ('READ-ONLY', None, None)
imap: 14:23.46 untagged_responses[READ-ONLY] 0 += [""]
imap: 14:23.47 > PCBH63 UID FETCH 177 (BODY.PEEK[])
imap: 14:23.47 < PCBH63 OK FETCH completed.
imap: 14:23.48 matched r'(?P<tag>PCBH\d+) (?P<type>[A-Z]+) (?P<data>.*)' => ('PCBH63', 'OK', 'FETCH completed.')
imap: Returned object from fetching 177: ('OK', [None])
Exception in thread Copy message 179 from INBOX/friends (most likely raised during interpreter shutdown):
Traceback (most recent call last):
File "/usr/local/lib/python2.5/threading.py", line 486, in __bootstrap_inner
File "/tmp/offlineimap/offlineimap/threadutil.py", line 239, in run
<type 'exceptions.TypeError'>: 'NoneType' object is unsubscriptable
!!! with 5.99.13 of LocalStatus.py
OfflineIMAP 5.99.13
Copyright (C) 2002 - 2008 John Goerzen <jgoerzen@complete.org>
This software comes with ABSOLUTELY NO WARRANTY; see the file
COPYING for details. This is free software, and you are welcome
to distribute it under the conditions laid out in COPYING.
Now debugging for imap: IMAP protocol debugging
1: [active] *Control: .
OfflineIMAP 5.99.13 Copyright (C) 2002 - 2008 John Goerzen
DEBUG[imap]: options2hash called with input: ['FLAGS', '(\\Seen)', 'UID', '234', 'INTERNALDATE', '"27-Aug-1997 09:27:27 +1000"']
DEBUG[imap]: options2hash returning: {'INTERNALDATE': '"27-Aug-1997 09:27:27 +1000"', 'FLAGS': '(\\Seen)', 'UID': '234'}
DEBUG[imap]: imapsplit() called with input: FLAGS (\Seen) UID 235 INTERNALDATE "01-May-1997 03:23:36 +1000"
DEBUG[imap]: imapsplit() returning: ['FLAGS', '(\\Seen)', 'UID', '235', 'INTERNALDATE', '"01-May-1997 03:23:36 +1000"']
DEBUG[imap]: options2hash called with input: ['FLAGS', '(\\Seen)', 'UID', '235', 'INTERNALDATE', '"01-May-1997 03:23:36 +1000"']
DEBUG[imap]: options2hash returning: {'INTERNALDATE': '"01-May-1997 03:23:36 +1000"', 'FLAGS': '(\\Seen)', 'UID': '235'}
DEBUG[imap]: imapsplit() called with input: FLAGS (\Seen) UID 236 INTERNALDATE "29-Dec-1996 16:41:40 +1100"
DEBUG[imap]: imapsplit() returning: ['FLAGS', '(\\Seen)', 'UID', '236', 'INTERNALDATE', '"29-Dec-1996 16:41:40 +1100"']
DEBUG[imap]: options2hash called with input: ['FLAGS', '(\\Seen)', 'UID', '236', 'INTERNALDATE', '"29-Dec-1996 16:41:40 +1100"']
DEBUG[imap]: options2hash returning: {'INTERNALDATE': '"29-Dec-1996 16:41:40 +1100"', 'FLAGS': '(\\Seen)', 'UID': '236'}
DEBUG[imap]: imapsplit() called with input: FLAGS (\Seen) UID 237 INTERNALDATE "26-Mar-2008 23:35:22 +1100"
DEBUG[imap]: imapsplit() returning: ['FLAGS', '(\\Seen)', 'UID', '237', 'INTERNALDATE', '"26-Mar-2008 23:35:22 +1100"']
DEBUG[imap]: options2hash called with input: ['FLAGS', '(\\Seen)', 'UID', '237', 'INTERNALDATE', '"26-Mar-2008 23:35:22 +1100"']
DEBUG[imap]: options2hash returning: {'INTERNALDATE': '"26-Mar-2008 23:35:22 +1100"', 'FLAGS': '(\\Seen)', 'UID': '237'}
DEBUG[imap]: imapsplit() called with input: FLAGS (\Seen) UID 238 INTERNALDATE "28-Mar-2008 16:05:44 +1100"
DEBUG[imap]: imapsplit() returning: ['FLAGS', '(\\Seen)', 'UID', '238', 'INTERNALDATE', '"28-Mar-2008 16:05:44 +1100"']
DEBUG[imap]: options2hash called with input: ['FLAGS', '(\\Seen)', 'UID', '238', 'INTERNALDATE', '"28-Mar-2008 16:05:44 +1100"']
DEBUG[imap]: options2hash returning: {'INTERNALDATE': '"28-Mar-2008 16:05:44 +1100"', 'FLAGS': '(\\Seen)', 'UID': '238'}
DEBUG[imap]: imapsplit() called with input: FLAGS (\Seen) UID 239 INTERNALDATE "28-Mar-2008 15:45:56 +1100"
DEBUG[imap]: imapsplit() returning: ['FLAGS', '(\\Seen)', 'UID', '239', 'INTERNALDATE', '"28-Mar-2008 15:45:56 +1100"']
DEBUG[imap]: options2hash called with input: ['FLAGS', '(\\Seen)', 'UID', '239', 'INTERNALDATE', '"28-Mar-2008 15:45:56 +1100"']
DEBUG[imap]: options2hash returning: {'INTERNALDATE': '"28-Mar-2008 15:45:56 +1100"', 'FLAGS': '(\\Seen)', 'UID': '239'}
DEBUG[imap]: imapsplit() called with input: FLAGS (\Seen) UID 240 INTERNALDATE "01-Apr-2008 11:53:09 +1100"
DEBUG[imap]: imapsplit() returning: ['FLAGS', '(\\Seen)', 'UID', '240', 'INTERNALDATE', '"01-Apr-2008 11:53:09 +1100"']
DEBUG[imap]: options2hash called with input: ['FLAGS', '(\\Seen)', 'UID', '240', 'INTERNALDATE', '"01-Apr-2008 11:53:09 +1100"']
DEBUG[imap]: options2hash returning: {'INTERNALDATE': '"01-Apr-2008 11:53:09 +1100"', 'FLAGS': '(\\Seen)', 'UID': '240'}
DEBUG[imap]: imapsplit() called with input: FLAGS (\Seen) UID 241 INTERNALDATE "05-Apr-2008 11:03:23 +1100"
DEBUG[imap]: imapsplit() returning: ['FLAGS', '(\\Seen)', 'UID', '241', 'INTERNALDATE', '"05-Apr-2008 11:03:23 +1100"']
DEBUG[imap]: options2hash called with input: ['FLAGS', '(\\Seen)', 'UID', '241', 'INTERNALDATE', '"05-Apr-2008 11:03:23 +1100"']
DEBUG[imap]: options2hash returning: {'INTERNALDATE': '"05-Apr-2008 11:03:23 +1100"', 'FLAGS': '(\\Seen)', 'UID': '241'}
DEBUG[imap]: imapsplit() called with input: FLAGS (\Seen) UID 242 INTERNALDATE "13-Apr-2008 10:57:52 +1000"
DEBUG[imap]: imapsplit() returning: ['FLAGS', '(\\Seen)', 'UID', '242', 'INTERNALDATE', '"13-Apr-2008 10:57:52 +1000"']
DEBUG[imap]: options2hash called with input: ['FLAGS', '(\\Seen)', 'UID', '242', 'INTERNALDATE', '"13-Apr-2008 10:57:52 +1000"']
DEBUG[imap]: options2hash returning: {'INTERNALDATE': '"13-Apr-2008 10:57:52 +1000"', 'FLAGS': '(\\Seen)', 'UID': '242'}
DEBUG[imap]: imapsplit() called with input: FLAGS (\Seen) UID 243 INTERNALDATE "13-Apr-2008 10:57:59 +1000"
DEBUG[imap]: imapsplit() returning: ['FLAGS', '(\\Seen)', 'UID', '243', 'INTERNALDATE', '"13-Apr-2008 10:57:59 +1000"']
DEBUG[imap]: options2hash called with input: ['FLAGS', '(\\Seen)', 'UID', '243', 'INTERNALDATE', '"13-Apr-2008 10:57:59 +1000"']
DEBUG[imap]: options2hash returning: {'INTERNALDATE': '"13-Apr-2008 10:57:59 +1000"', 'FLAGS': '(\\Seen)', 'UID': '243'}
DEBUG[imap]: imapsplit() called with input: FLAGS (\Seen) UID 244 INTERNALDATE "13-Apr-2008 11:08:00 +1000"
DEBUG[imap]: imapsplit() returning: ['FLAGS', '(\\Seen)', 'UID', '244', 'INTERNALDATE', '"13-Apr-2008 11:08:00 +1000"']
DEBUG[imap]: options2hash called with input: ['FLAGS', '(\\Seen)', 'UID', '244', 'INTERNALDATE', '"13-Apr-2008 11:08:00 +1000"']
DEBUG[imap]: options2hash returning: {'INTERNALDATE': '"13-Apr-2008 11:08:00 +1000"', 'FLAGS': '(\\Seen)', 'UID': '244'}
DEBUG[imap]: imapsplit() called with input: FLAGS (\Seen) UID 245 INTERNALDATE "13-Apr-2008 11:07:52 +1000"
DEBUG[imap]: imapsplit() returning: ['FLAGS', '(\\Seen)', 'UID', '245', 'INTERNALDATE', '"13-Apr-2008 11:07:52 +1000"']
DEBUG[imap]: options2hash called with input: ['FLAGS', '(\\Seen)', 'UID', '245', 'INTERNALDATE', '"13-Apr-2008 11:07:52 +1000"']
DEBUG[imap]: options2hash returning: {'INTERNALDATE': '"13-Apr-2008 11:07:52 +1000"', 'FLAGS': '(\\Seen)', 'UID': '245'}
DEBUG[imap]: imapsplit() called with input: FLAGS (\Seen) UID 246 INTERNALDATE "13-Apr-2008 11:07:43 +1000"
DEBUG[imap]: imapsplit() returning: ['FLAGS', '(\\Seen)', 'UID', '246', 'INTERNALDATE', '"13-Apr-2008 11:07:43 +1000"']
DEBUG[imap]: options2hash called with input: ['FLAGS', '(\\Seen)', 'UID', '246', 'INTERNALDATE', '"13-Apr-2008 11:07:43 +1000"']
DEBUG[imap]: options2hash returning: {'INTERNALDATE': '"13-Apr-2008 11:07:43 +1000"', 'FLAGS': '(\\Seen)', 'UID': '246'}
DEBUG[imap]: imapsplit() called with input: FLAGS (\Seen) UID 247 INTERNALDATE "13-Apr-2008 11:07:16 +1000"
DEBUG[imap]: imapsplit() returning: ['FLAGS', '(\\Seen)', 'UID', '247', 'INTERNALDATE', '"13-Apr-2008 11:07:16 +1000"']
DEBUG[imap]: options2hash called with input: ['FLAGS', '(\\Seen)', 'UID', '247', 'INTERNALDATE', '"13-Apr-2008 11:07:16 +1000"']
DEBUG[imap]: options2hash returning: {'INTERNALDATE': '"13-Apr-2008 11:07:16 +1000"', 'FLAGS': '(\\Seen)', 'UID': '247'}
DEBUG[imap]: imapsplit() called with input: FLAGS (\Seen) UID 248 INTERNALDATE "13-Apr-2008 18:30:01 +1000"
DEBUG[imap]: imapsplit() returning: ['FLAGS', '(\\Seen)', 'UID', '248', 'INTERNALDATE', '"13-Apr-2008 18:30:01 +1000"']
DEBUG[imap]: options2hash called with input: ['FLAGS', '(\\Seen)', 'UID', '248', 'INTERNALDATE', '"13-Apr-2008 18:30:01 +1000"']
DEBUG[imap]: options2hash returning: {'INTERNALDATE': '"13-Apr-2008 18:30:01 +1000"', 'FLAGS': '(\\Seen)', 'UID': '248'}
DEBUG[imap]: imapsplit() called with input: FLAGS (\Seen) UID 250 INTERNALDATE "23-Apr-2008 13:56:21 +1000"
DEBUG[imap]: imapsplit() returning: ['FLAGS', '(\\Seen)', 'UID', '250', 'INTERNALDATE', '"23-Apr-2008 13:56:21 +1000"']
DEBUG[imap]: options2hash called with input: ['FLAGS', '(\\Seen)', 'UID', '250', 'INTERNALDATE', '"23-Apr-2008 13:56:21 +1000"']
DEBUG[imap]: options2hash returning: {'INTERNALDATE': '"23-Apr-2008 13:56:21 +1000"', 'FLAGS': '(\\Seen)', 'UID': '250'}
DEBUG[imap]: imapsplit() called with input: FLAGS (\Seen) UID 251 INTERNALDATE "24-Apr-2008 14:50:51 +1000"
DEBUG[imap]: imapsplit() returning: ['FLAGS', '(\\Seen)', 'UID', '251', 'INTERNALDATE', '"24-Apr-2008 14:50:51 +1000"']
DEBUG[imap]: options2hash called with input: ['FLAGS', '(\\Seen)', 'UID', '251', 'INTERNALDATE', '"24-Apr-2008 14:50:51 +1000"']
DEBUG[imap]: options2hash returning: {'INTERNALDATE': '"24-Apr-2008 14:50:51 +1000"', 'FLAGS': '(\\Seen)', 'UID': '251'}
DEBUG[imap]: imapsplit() called with input: FLAGS (\Seen) UID 272 INTERNALDATE "08-May-2008 11:48:47 +1000"
DEBUG[imap]: imapsplit() returning: ['FLAGS', '(\\Seen)', 'UID', '272', 'INTERNALDATE', '"08-May-2008 11:48:47 +1000"']
DEBUG[imap]: options2hash called with input: ['FLAGS', '(\\Seen)', 'UID', '272', 'INTERNALDATE', '"08-May-2008 11:48:47 +1000"']
DEBUG[imap]: options2hash returning: {'INTERNALDATE': '"08-May-2008 11:48:47 +1000"', 'FLAGS': '(\\Seen)', 'UID': '272'}
DEBUG[imap]: imapsplit() called with input: FLAGS (\Seen) UID 274 INTERNALDATE "11-Apr-2001 09:03:44 +1000"
DEBUG[imap]: imapsplit() returning: ['FLAGS', '(\\Seen)', 'UID', '274', 'INTERNALDATE', '"11-Apr-2001 09:03:44 +1000"']
DEBUG[imap]: options2hash called with input: ['FLAGS', '(\\Seen)', 'UID', '274', 'INTERNALDATE', '"11-Apr-2001 09:03:44 +1000"']
DEBUG[imap]: options2hash returning: {'INTERNALDATE': '"11-Apr-2001 09:03:44 +1000"', 'FLAGS': '(\\Seen)', 'UID': '274'}
DEBUG[imap]: imapsplit() called with input: FLAGS (\Seen) UID 275 INTERNALDATE "26-May-2001 00:27:13 +1000"
DEBUG[imap]: imapsplit() returning: ['FLAGS', '(\\Seen)', 'UID', '275', 'INTERNALDATE', '"26-May-2001 00:27:13 +1000"']
DEBUG[imap]: options2hash called with input: ['FLAGS', '(\\Seen)', 'UID', '275', 'INTERNALDATE', '"26-May-2001 00:27:13 +1000"']
DEBUG[imap]: options2hash returning: {'INTERNALDATE': '"26-May-2001 00:27:13 +1000"', 'FLAGS': '(\\Seen)', 'UID': '275'}
Copy message 177 IMAP[INBOX/friends] -> Maildir[INBOX.friends], LocalStatus[INBOX.friends]
DEBUG[imap]: 17:58.23 > HMNP58 UID FETCH 177 (BODY.PEEK[])
DEBUG[imap]: 17:58.23 < HMNP58 OK FETCH completed.
DEBUG[imap]: 17:58.23 matched r'(?P<tag>HMNP\d+) (?P<type>[A-Z]+) (?P<data>.*)' => ('HMNP58', 'OK', 'FETCH completed.')
DEBUG[imap]: Returned object from fetching 177: ('OK', [None])
Copy message 178 IMAP[INBOX/friends] -> Maildir[INBOX.friends], LocalStatus[INBOX.friends]
DEBUG[imap]: 17:58.24 > HMNP59 UID FETCH 178 (BODY.PEEK[])
2: [active] *Control: .
Thread 'Copy message 177 from INBOX/friends' terminated with exception:
Traceback (most recent call last):
File "/tmp/offlineimap/offlineimap/threadutil.py", line 153, in run
File "/usr/local/lib/python2.5/threading.py", line 446, in run
self.__target(*self.__args, **self.__kwargs)
File "/tmp/offlineimap/offlineimap/folder/Base.py", line 277, in copymessageto
File "/tmp/offlineimap/offlineimap/folder/IMAP.py", line 167, in getmessage
TypeError: 'NoneType' object is unsubscriptable
Last 4 debug messages logged for Copy message 177 from INBOX/friends prior to exception:
imap: 17:58.23 > HMNP58 UID FETCH 177 (BODY.PEEK[])
imap: 17:58.23 < HMNP58 OK FETCH completed.
imap: 17:58.23 matched r'(?P<tag>HMNP\d+) (?P<type>[A-Z]+) (?P<data>.*)' => ('HMNP58', 'OK', 'FETCH completed.')
imap: Returned object from fetching 177: ('OK', [None])
Exception in thread Copy message 178 from INBOX/friends (most likely raised during interpreter shutdown):
Traceback (most recent call last):
File "/usr/local/lib/python2.5/threading.py", line 486, in __bootstrap_inner
File "/tmp/offlineimap/offlineimap/threadutil.py", line 239, in run
<type 'exceptions.TypeError'>: 'NoneType' object is unsubscriptable