Offlineimap does strange things.

Thomas Kahle tomka at gentoo.org
Fri Aug 3 14:37:31 BST 2012


Hi,

please don't top post.

On 21:18 Wed 01 Aug 2012, chris coleman wrote:
> In my experience... the symptoms and errors that Cyril is reporting
> here in this detailed message.. are a glaring sign of a procedural
> codebase that has grown too big and complex for one person or group of
> people - to manage.

I think this statement is far to general.  Debugging network dependent
code is tricky, but how is that a 'glaring sign of a procedural
codebase'?

> We should seriously stop everything, and consider adding firepower to
> the project.

Stop what?  What does 'adding firepower' mean?

> One way would be to adopt a free open source license IDE- use it to
> help us analyze what's actually going on- class diagrams, pyunit
> tests, code coverage analysis.  And refactor the codebase into
> testable, resilient, truly robust objects.

You have made your point on the IDE issue before.  I personally don't
see how that is going to change a single problem.  No offlineimap
developer has ever reported that there are problems with managing the
code, or his or her IDE.

> One example: each IMAP mail server flavor - dovecot, exchange, cyrus,
> zarafa, gmail, yahoo, hotmail, etc., should have its own object -
> derived from a base IMAPServer class- and tailored to each server's
> peculiarities.

I'm not sure if this is a good design choice.  It makes offlineimap much
less portable.  There are RFC's and specifications for mail servers, so
in principle there should be no speical IMAPServer classes.  Of course,
reality is different, but that does not mean that we need to go back to
the dark days of vendor-specific Internet.

> OfflineIMAP will detect the type of server
> automatically, and we will be far more successful testing the code
> when we have specific objects that we adapt to the specific mail
> server, through unit testing, and much better error reporting and
> logging information.

Sure, tests would be good.  There is effort to make a test suite.  By
all means, please contribute to these efforts!

Cheers,
Thomas




> 
> 
> Etc...
> 
> 
> Your thoughts ?
> 
> -Chris
> 
> 
> 
> 
> ________________________________
> 
> 
> Hi,
> 
>   I'm using OfflineImap for multiple weeks currently, but recently,
>     I added another account to my setup and offlineimap is now doing
>     strange things.
> Basically, I'm sync'ing multiple IMAP's server to a local maildir,
>     and I'm using this maildir for my local imap client (thunderbird).
> 
> I've added an account from imap.laposte.net recently, and then offlineimap started doing strange thing while sync'ing this account. (You can register a test account on www.laposte.net if you need one).
> 
> Typically, the first sync (removed the account's specific folder in
>     my maildir) goes perfectly, but then it fails randomly in the next
>     sync. 
> Also, when it doesn't fail, it deletes messages but download them
>     again, and so on repeatdly.
> 
> I'm using offlineimap 6.5.4, with the patch from this mailing list
>     for string formatting in python 2.6's,  where "{}" is changed to "{argumentIndex}".
> 
> I'm not able to get a debug output as offlineimap deadlock while
>     syncing this account when "-d" option is given.
> I'm not seeing any issues for all my other accounts.
> 
> Here's the typical output of successive run of offlineimap (no
>     message where changed on the server or locally between the runs):
> 
> cyril at CocoonSe:~$ offlineimap -a StageNex
> OfflineIMAP 6.5.4
>   Licensed under the GNU GPL v2+ (v2 or any later version)
> Account sync StageNex:
>  *** Processing account StageNex
>  Establishing connection to imap.laposte.net:993
> ^[[CFolder INBOX [acc: StageNex]:
>  Syncing INBOX: IMAP -> Maildir
> Folder INBOX.INBOX [acc: StageNex]:
>  Syncing INBOX.INBOX: IMAP -> Maildir
> Folder INBOX [acc: StageNex]:
>  Establishing connection to imap.laposte.net:993
> Folder INBOX.INBOX [acc: StageNex]:
>  Deleting 48 messages (72531:72578) in Maildir[]
> Folder INBOX.DRAFT [acc: StageNex]:
>  Syncing INBOX.DRAFT: IMAP -> Maildir
> Folder INBOX.TRASH [acc: StageNex]:
>  Syncing INBOX.TRASH: IMAP -> Maildir
> Folder INBOX.Drafts [acc: StageNex]:
>  Syncing INBOX.Drafts: IMAP -> Maildir
> Folder INBOX.OUTBOX [acc: StageNex]:
>  Syncing INBOX.OUTBOX: IMAP -> Maildir
> Folder INBOX.QUARANTAINE [acc: StageNex]:
>  Syncing INBOX.QUARANTAINE: IMAP -> Maildir
> Folder INBOX [acc: StageNex]:
>  Copy message 72579 (1 of 44) StageRemote:INBOX -> StageLocal
>  Copy message 72580 (2 of 44) StageRemote:INBOX -> StageLocal
>  Copy message 72581 (3 of 44) StageRemote:INBOX -> StageLocal
>  Copy message 72582 (4 of 44) StageRemote:INBOX -> StageLocal
>  Copy message 72583 (5 of 44) StageRemote:INBOX -> StageLocal
>  Copy message 72584 (6 of 44) StageRemote:INBOX -> StageLocal
>  Copy message 72585 (7 of 44) StageRemote:INBOX -> StageLocal
>  Copy message 72586 (8 of 44) StageRemote:INBOX -> StageLocal
>  Copy message 72587 (9 of 44) StageRemote:INBOX -> StageLocal
>  Copy message 72588 (10 of 44) StageRemote:INBOX -> StageLocal
>  Copy message 72589 (11 of 44) StageRemote:INBOX -> StageLocal
>  Copy message 72590 (12 of 44) StageRemote:INBOX -> StageLocal
>  Copy message 72591 (13 of 44) StageRemote:INBOX -> StageLocal
>  Copy message 72592 (14 of 44) StageRemote:INBOX -> StageLocal
>  Copy message 72593 (15 of 44) StageRemote:INBOX -> StageLocal
>  Copy message 72594 (16 of 44) StageRemote:INBOX -> StageLocal
>  Copy message 72595 (17 of 44) StageRemote:INBOX -> StageLocal
>  Copy message 72596 (18 of 44) StageRemote:INBOX -> StageLocal
>  Copy message 72597 (19 of 44) StageRemote:INBOX -> StageLocal
>  Copy message 72598 (20 of 44) StageRemote:INBOX -> StageLocal
>  Copy message 72599 (21 of 44) StageRemote:INBOX -> StageLocal
>  Copy message 72600 (22 of 44) StageRemote:INBOX -> StageLocal
>  Copy message 72601 (23 of 44) StageRemote:INBOX -> StageLocal
>  Copy message 72602 (24 of 44) StageRemote:INBOX -> StageLocal
>  Copy message 72603 (25 of 44) StageRemote:INBOX -> StageLocal
>  Copy message 72604 (26 of 44) StageRemote:INBOX -> StageLocal
>  Copy message 72605 (27 of 44) StageRemote:INBOX -> StageLocal
>  Copy message 72606 (28 of 44) StageRemote:INBOX -> StageLocal
>  Copy message 72607 (29 of 44) StageRemote:INBOX -> StageLocal
>  Copy message 72608 (30 of 44) StageRemote:INBOX -> StageLocal
>  Copy message 72609 (31 of 44) StageRemote:INBOX -> StageLocal
>  Copy message 72610 (32 of 44) StageRemote:INBOX -> StageLocal
>  Copy message 72611 (33 of 44) StageRemote:INBOX -> StageLocal
>  Copy message 72612 (34 of 44) StageRemote:INBOX -> StageLocal
>  Copy message 72613 (35 of 44) StageRemote:INBOX -> StageLocal
>  Copy message 72614 (36 of 44) StageRemote:INBOX -> StageLocal
>  Copy message 72615 (37 of 44) StageRemote:INBOX -> StageLocal
>  Copy message 72616 (38 of 44) StageRemote:INBOX -> StageLocal
>  Copy message 72617 (39 of 44) StageRemote:INBOX -> StageLocal
>  Copy message 72618 (40 of 44) StageRemote:INBOX -> StageLocal
>  Copy message 72619 (41 of 44) StageRemote:INBOX -> StageLocal
>  Copy message 72620 (42 of 44) StageRemote:INBOX -> StageLocal
>  Copy message 72621 (43 of 44) StageRemote:INBOX -> StageLocal
>  Copy message 72622 (44 of 44) StageRemote:INBOX -> StageLocal
>  Deleting 91 messages (1291:1381) in Maildir[]
>  Deleting 48 messages (72531:72578) in IMAP[INBOX]
> Account sync StageNex:
>  *** Finished account 'StageNex' in 0:21
> 
> cyril at CocoonSe:~$ offlineimap -a StageNex
> OfflineIMAP 6.5.4
>   Licensed under the GNU GPL v2+ (v2 or any later version)
> Account sync StageNex:
>  *** Processing account StageNex
>  Establishing connection to imap.laposte.net:993
> Folder INBOX [acc: StageNex]:
>  Syncing INBOX: IMAP -> Maildir
> Folder INBOX.INBOX [acc: StageNex]:
>  Syncing INBOX.INBOX: IMAP -> Maildir
>  Establishing connection to imap.laposte.net:993
> Folder INBOX.DRAFT [acc: StageNex]:
>  Syncing INBOX.DRAFT: IMAP -> Maildir
> Folder INBOX.TRASH [acc: StageNex]:
>  Syncing INBOX.TRASH: IMAP -> Maildir
> Folder INBOX.Drafts [acc: StageNex]:
>  Syncing INBOX.Drafts: IMAP -> Maildir
> Folder INBOX.OUTBOX [acc: StageNex]:
>  Syncing INBOX.OUTBOX: IMAP -> Maildir
> Folder INBOX.QUARANTAINE [acc: StageNex]:
>  Syncing INBOX.QUARANTAINE: IMAP -> Maildir
> Folder INBOX.INBOX [acc: StageNex]:
>  Copy message 1291 (1 of 91) StageRemote:INBOX.INBOX ->
>       StageLocal
>  Copy message 1292 (2 of 91) StageRemote:INBOX.INBOX ->
>       StageLocal
>  Copy message 1293 (3 of 91) StageRemote:INBOX.INBOX ->
>       StageLocal
>  Copy message 1294 (4 of 91) StageRemote:INBOX.INBOX ->
>       StageLocal
>  Copy message 1295 (5 of 91) StageRemote:INBOX.INBOX ->
>       StageLocal
>  Copy message 1296 (6 of 91) StageRemote:INBOX.INBOX ->
>       StageLocal
>  Copy message 1297 (7 of 91) StageRemote:INBOX.INBOX ->
>       StageLocal
>  Copy message 1298 (8 of 91) StageRemote:INBOX.INBOX ->
>       StageLocal
>  Copy message 1299 (9 of 91) StageRemote:INBOX.INBOX ->
>       StageLocal
>  Copy message 1300 (10 of 91) StageRemote:INBOX.INBOX ->
>       StageLocal
>  Copy message 1301 (11 of 91) StageRemote:INBOX.INBOX ->
>       StageLocal
>  Copy message 1302 (12 of 91) StageRemote:INBOX.INBOX ->
>       StageLocal
>  Copy message 1303 (13 of 91) StageRemote:INBOX.INBOX ->
>       StageLocal
>  Copy message 1304 (14 of 91) StageRemote:INBOX.INBOX ->
>       StageLocal
>  Copy message 1305 (15 of 91) StageRemote:INBOX.INBOX ->
>       StageLocal
>  Copy message 1306 (16 of 91) StageRemote:INBOX.INBOX ->
>       StageLocal
>  Copy message 1307 (17 of 91) StageRemote:INBOX.INBOX ->
>       StageLocal
>  Copy message 1308 (18 of 91) StageRemote:INBOX.INBOX ->
>       StageLocal
>  Copy message 1309 (19 of 91) StageRemote:INBOX.INBOX ->
>       StageLocal
>  Copy message 1310 (20 of 91) StageRemote:INBOX.INBOX ->
>       StageLocal
>  Copy message 1311 (21 of 91) StageRemote:INBOX.INBOX ->
>       StageLocal
>  Copy message 1312 (22 of 91) StageRemote:INBOX.INBOX ->
>       StageLocal
>  Copy message 1313 (23 of 91) StageRemote:INBOX.INBOX ->
>       StageLocal
>  Copy message 1314 (24 of 91) StageRemote:INBOX.INBOX ->
>       StageLocal
>  Copy message 1315 (25 of 91) StageRemote:INBOX.INBOX ->
>       StageLocal
>  Copy message 1316 (26 of 91) StageRemote:INBOX.INBOX ->
>       StageLocal
>  Copy message 1317 (27 of 91) StageRemote:INBOX.INBOX ->
>       StageLocal
>  Copy message 1318 (28 of 91) StageRemote:INBOX.INBOX ->
>       StageLocal
>  Copy message 1319 (29 of 91) StageRemote:INBOX.INBOX ->
>       StageLocal
>  Copy message 1320 (30 of 91) StageRemote:INBOX.INBOX ->
>       StageLocal
>  Copy message 1321 (31 of 91) StageRemote:INBOX.INBOX ->
>       StageLocal
>  Copy message 1322 (32 of 91) StageRemote:INBOX.INBOX ->
>       StageLocal
>  Copy message 1323 (33 of 91) StageRemote:INBOX.INBOX ->
>       StageLocal
>  Copy message 1324 (34 of 91) StageRemote:INBOX.INBOX ->
>       StageLocal
>  Copy message 1325 (35 of 91) StageRemote:INBOX.INBOX ->
>       StageLocal
>  Copy message 1326 (36 of 91) StageRemote:INBOX.INBOX ->
>       StageLocal
>  Copy message 1327 (37 of 91) StageRemote:INBOX.INBOX ->
>       StageLocal
>  Copy message 1328 (38 of 91) StageRemote:INBOX.INBOX ->
>       StageLocal
>  Copy message 1329 (39 of 91) StageRemote:INBOX.INBOX ->
>       StageLocal
>  Copy message 1330 (40 of 91) StageRemote:INBOX.INBOX ->
>       StageLocal
>  Copy message 1331 (41 of 91) StageRemote:INBOX.INBOX ->
>       StageLocal
>  Copy message 1332 (42 of 91) StageRemote:INBOX.INBOX ->
>       StageLocal
>  Copy message 1333 (43 of 91) StageRemote:INBOX.INBOX ->
>       StageLocal
>  Copy message 1334 (44 of 91) StageRemote:INBOX.INBOX ->
>       StageLocal
>  Copy message 1335 (45 of 91) StageRemote:INBOX.INBOX ->
>       StageLocal
>  Copy message 1336 (46 of 91) StageRemote:INBOX.INBOX ->
>       StageLocal
>  Copy message 1337 (47 of 91) StageRemote:INBOX.INBOX ->
>       StageLocal
>  Copy message 1338 (48 of 91) StageRemote:INBOX.INBOX ->
>       StageLocal
>  Copy message 1339 (49 of 91) StageRemote:INBOX.INBOX ->
>       StageLocal
>  Copy message 1340 (50 of 91) StageRemote:INBOX.INBOX ->
>       StageLocal
>  Copy message 1341 (51 of 91) StageRemote:INBOX.INBOX ->
>       StageLocal
>  Copy message 1342 (52 of 91) StageRemote:INBOX.INBOX ->
>       StageLocal
>  Copy message 1343 (53 of 91) StageRemote:INBOX.INBOX ->
>       StageLocal
>  Copy message 1344 (54 of 91) StageRemote:INBOX.INBOX ->
>       StageLocal
>  Copy message 1345 (55 of 91) StageRemote:INBOX.INBOX ->
>       StageLocal
>  Copy message 1346 (56 of 91) StageRemote:INBOX.INBOX ->
>       StageLocal
>  Copy message 1347 (57 of 91) StageRemote:INBOX.INBOX ->
>       StageLocal
>  Copy message 1348 (58 of 91) StageRemote:INBOX.INBOX ->
>       StageLocal
>  Copy message 1349 (59 of 91) StageRemote:INBOX.INBOX ->
>       StageLocal
>  Copy message 1350 (60 of 91) StageRemote:INBOX.INBOX ->
>       StageLocal
>  Copy message 1351 (61 of 91) StageRemote:INBOX.INBOX ->
>       StageLocal
>  Copy message 1352 (62 of 91) StageRemote:INBOX.INBOX ->
>       StageLocal
>  Copy message 1353 (63 of 91) StageRemote:INBOX.INBOX ->
>       StageLocal
>  Copy message 1354 (64 of 91) StageRemote:INBOX.INBOX ->
>       StageLocal
>  Copy message 1355 (65 of 91) StageRemote:INBOX.INBOX ->
>       StageLocal
>  Copy message 1356 (66 of 91) StageRemote:INBOX.INBOX ->
>       StageLocal
>  Copy message 1357 (67 of 91) StageRemote:INBOX.INBOX ->
>       StageLocal
>  Copy message 1358 (68 of 91) StageRemote:INBOX.INBOX ->
>       StageLocal
>  Copy message 1359 (69 of 91) StageRemote:INBOX.INBOX ->
>       StageLocal
>  Copy message 1360 (70 of 91) StageRemote:INBOX.INBOX ->
>       StageLocal
>  Copy message 1361 (71 of 91) StageRemote:INBOX.INBOX ->
>       StageLocal
>  Copy message 1362 (72 of 91) StageRemote:INBOX.INBOX ->
>       StageLocal
>  Copy message 1363 (73 of 91) StageRemote:INBOX.INBOX ->
>       StageLocal
>  Copy message 1364 (74 of 91) StageRemote:INBOX.INBOX ->
>       StageLocal
>  Copy message 1365 (75 of 91) StageRemote:INBOX.INBOX ->
>       StageLocal
>  Copy message 1366 (76 of 91) StageRemote:INBOX.INBOX ->
>       StageLocal
>  Copy message 1367 (77 of 91) StageRemote:INBOX.INBOX ->
>       StageLocal
>  Copy message 1368 (78 of 91) StageRemote:INBOX.INBOX ->
>       StageLocal
>  Copy message 1369 (79 of 91) StageRemote:INBOX.INBOX ->
>       StageLocal
>  Copy message 1370 (80 of 91) StageRemote:INBOX.INBOX ->
>       StageLocal
>  Copy message 1371 (81 of 91) StageRemote:INBOX.INBOX ->
>       StageLocal
>  Copy message 1372 (82 of 91) StageRemote:INBOX.INBOX ->
>       StageLocal
>  Copy message 1373 (83 of 91) StageRemote:INBOX.INBOX ->
>       StageLocal
>  Copy message 1374 (84 of 91) StageRemote:INBOX.INBOX ->
>       StageLocal
>  Copy message 1375 (85 of 91) StageRemote:INBOX.INBOX ->
>       StageLocal
>  Copy message 1376 (86 of 91) StageRemote:INBOX.INBOX ->
>       StageLocal
>  Copy message 1377 (87 of 91) StageRemote:INBOX.INBOX ->
>       StageLocal
>  Copy message 1378 (88 of 91) StageRemote:INBOX.INBOX ->
>       StageLocal
>  Copy message 1379 (89 of 91) StageRemote:INBOX.INBOX ->
>       StageLocal
>  Copy message 1380 (90 of 91) StageRemote:INBOX.INBOX ->
>       StageLocal
>  Copy message 1381 (91 of 91) StageRemote:INBOX.INBOX ->
>       StageLocal
>  Deleting 44 messages (72579:72622) in Maildir[]
> Account sync StageNex:
>  *** Finished account 'StageNex' in 0:25
> 
> cyril at CocoonSe:~$ offlineimap -a StageNex
> OfflineIMAP 6.5.4
>   Licensed under the GNU GPL v2+ (v2 or any later version)
> Account sync StageNex:
>  *** Processing account StageNex
>  Establishing connection to imap.laposte.net:993
> Folder INBOX [acc: StageNex]:
>  Syncing INBOX: IMAP -> Maildir
> Folder INBOX.INBOX [acc: StageNex]:
>  Syncing INBOX.INBOX: IMAP -> Maildir
>  Establishing connection to imap.laposte.net:993
> Folder INBOX [acc: StageNex]:
>  Copy message 72579 (1 of 44) StageRemote:INBOX -> StageLocal
>  Copy message 72580 (2 of 44) StageRemote:INBOX -> StageLocal
>  Copy message 72581 (3 of 44) StageRemote:INBOX -> StageLocal
>  Copy message 72582 (4 of 44) StageRemote:INBOX -> StageLocal
>  Copy message 72583 (5 of 44) StageRemote:INBOX -> StageLocal
>  Copy message 72584 (6 of 44) StageRemote:INBOX -> StageLocal
>  Copy message 72585 (7 of 44) StageRemote:INBOX -> StageLocal
>  Copy message 72586 (8 of 44) StageRemote:INBOX -> StageLocal
>  Copy message 72587 (9 of 44) StageRemote:INBOX -> StageLocal
>  Copy message 72588 (10 of 44) StageRemote:INBOX -> StageLocal
>  Copy message 72589 (11 of 44) StageRemote:INBOX -> StageLocal
>  Copy message 72590 (12 of 44) StageRemote:INBOX -> StageLocal
>  Copy message 72591 (13 of 44) StageRemote:INBOX -> StageLocal
>  Copy message 72592 (14 of 44) StageRemote:INBOX -> StageLocal
>  Copy message 72593 (15 of 44) StageRemote:INBOX -> StageLocal
>  Copy message 72594 (16 of 44) StageRemote:INBOX -> StageLocal
>  Copy message 72595 (17 of 44) StageRemote:INBOX -> StageLocal
>  Copy message 72596 (18 of 44) StageRemote:INBOX -> StageLocal
>  Copy message 72597 (19 of 44) StageRemote:INBOX -> StageLocal
>  Copy message 72598 (20 of 44) StageRemote:INBOX -> StageLocal
>  Copy message 72599 (21 of 44) StageRemote:INBOX -> StageLocal
>  Copy message 72600 (22 of 44) StageRemote:INBOX -> StageLocal
>  Copy message 72601 (23 of 44) StageRemote:INBOX -> StageLocal
>  Copy message 72602 (24 of 44) StageRemote:INBOX -> StageLocal
>  Copy message 72603 (25 of 44) StageRemote:INBOX -> StageLocal
>  Copy message 72604 (26 of 44) StageRemote:INBOX -> StageLocal
>  Copy message 72605 (27 of 44) StageRemote:INBOX -> StageLocal
>  Copy message 72606 (28 of 44) StageRemote:INBOX -> StageLocal
>  Copy message 72607 (29 of 44) StageRemote:INBOX -> StageLocal
>  Copy message 72608 (30 of 44) StageRemote:INBOX -> StageLocal
>  Copy message 72609 (31 of 44) StageRemote:INBOX -> StageLocal
>  Copy message 72610 (32 of 44) StageRemote:INBOX -> StageLocal
>  Copy message 72611 (33 of 44) StageRemote:INBOX -> StageLocal
>  Copy message 72612 (34 of 44) StageRemote:INBOX -> StageLocal
>  Copy message 72613 (35 of 44) StageRemote:INBOX -> StageLocal
>  Copy message 72614 (36 of 44) StageRemote:INBOX -> StageLocal
>  Copy message 72615 (37 of 44) StageRemote:INBOX -> StageLocal
>  Copy message 72616 (38 of 44) StageRemote:INBOX -> StageLocal
>  Copy message 72617 (39 of 44) StageRemote:INBOX -> StageLocal
>  Copy message 72618 (40 of 44) StageRemote:INBOX -> StageLocal
>  Copy message 72619 (41 of 44) StageRemote:INBOX -> StageLocal
>  Copy message 72620 (42 of 44) StageRemote:INBOX -> StageLocal
>  Copy message 72621 (43 of 44) StageRemote:INBOX -> StageLocal
> Folder INBOX.INBOX [acc: StageNex]:
>  Copy message 72579 (1 of 40) StageLocal: -> StageRemote
> Folder INBOX [acc: StageNex]:
>  Copy message 72622 (44 of 44) StageRemote:INBOX -> StageLocal
>  Deleting 91 messages (1291:1381) in Maildir[]
> Folder INBOX.DRAFT [acc: StageNex]:
>  Syncing INBOX.DRAFT: IMAP -> Maildir
> Folder INBOX.INBOX [acc: StageNex]:
>  Copy message 72580 (2 of 40) StageLocal: -> StageRemote
> Folder INBOX.TRASH [acc: StageNex]:
>  Syncing INBOX.TRASH: IMAP -> Maildir
> Folder INBOX.Drafts [acc: StageNex]:
>  Syncing INBOX.Drafts: IMAP -> Maildir
> Folder INBOX.OUTBOX [acc: StageNex]:
>  Syncing INBOX.OUTBOX: IMAP -> Maildir
> Folder INBOX.INBOX [acc: StageNex]:
>  Copy message 72581 (3 of 40) StageLocal: -> StageRemote
> Folder INBOX.QUARANTAINE [acc: StageNex]:
>  Syncing INBOX.QUARANTAINE: IMAP -> Maildir
> Folder INBOX.INBOX [acc: StageNex]:
>  Copy message 72582 (4 of 40) StageLocal: -> StageRemote
>  Copy message 72583 (5 of 40) StageLocal: -> StageRemote
>  Copy message 72584 (6 of 40) StageLocal: -> StageRemote
>  Copy message 72585 (7 of 40) StageLocal: -> StageRemote
>  Copy message 72586 (8 of 40) StageLocal: -> StageRemote
>  Copy message 72587 (9 of 40) StageLocal: -> StageRemote
>  Copy message 72588 (10 of 40) StageLocal: -> StageRemote
>  Copy message 72589 (11 of 40) StageLocal: -> StageRemote
>  Copy message 72590 (12 of 40) StageLocal: -> StageRemote
>  Copy message 72591 (13 of 40) StageLocal: -> StageRemote
>  Copy message 72592 (14 of 40) StageLocal: -> StageRemote
>  Copy message 72593 (15 of 40) StageLocal: -> StageRemote
>  Copy message 72594 (16 of 40) StageLocal: -> StageRemote
>  Copy message 72595 (17 of 40) StageLocal: -> StageRemote
>  Copy message 72596 (18 of 40) StageLocal: -> StageRemote
>  Copy message 72597 (19 of 40) StageLocal: -> StageRemote
>  Copy message 72598 (20 of 40) StageLocal: -> StageRemote
>  Copy message 72599 (21 of 40) StageLocal: -> StageRemote
>  Copy message 72600 (22 of 40) StageLocal: -> StageRemote
>  Copy message 72601 (23 of 40) StageLocal: -> StageRemote
>  Copy message 72602 (24 of 40) StageLocal: -> StageRemote
>  Copy message 72603 (25 of 40) StageLocal: -> StageRemote
>  Copy message 72604 (26 of 40) StageLocal: -> StageRemote
>  Copy message 72605 (27 of 40) StageLocal: -> StageRemote
>  Copy message 72606 (28 of 40) StageLocal: -> StageRemote
>  Copy message 72607 (29 of 40) StageLocal: -> StageRemote
>  Copy message 72608 (30 of 40) StageLocal: -> StageRemote
>  Copy message 72609 (31 of 40) StageLocal: -> StageRemote
>  Copy message 72610 (32 of 40) StageLocal: -> StageRemote
>  Copy message 72611 (33 of 40) StageLocal: -> StageRemote
>  Copy message 72612 (34 of 40) StageLocal: -> StageRemote
>  Copy message 72613 (35 of 40) StageLocal: -> StageRemote
>  Copy message 72614 (36 of 40) StageLocal: -> StageRemote
>  Copy message 72615 (37 of 40) StageLocal: -> StageRemote
>  Copy message 72616 (38 of 40) StageLocal: -> StageRemote
>  Copy message 72617 (39 of 40) StageLocal: -> StageRemote
>  Copy message 72618 (40 of 40) StageLocal: -> StageRemote
>  Deleting 91 messages (1291:1381) in IMAP[INBOX.INBOX]
> Account sync StageNex:
>  *** Finished account 'StageNex' in 0:31
> 
> cyril at CocoonSe:~$ offlineimap -a StageNex
> OfflineIMAP 6.5.4
>   Licensed under the GNU GPL v2+ (v2 or any later version)
> Account sync StageNex:
>  *** Processing account StageNex
>  Establishing connection to imap.laposte.net:993
> Folder INBOX [acc: StageNex]:
>  Syncing INBOX: IMAP -> Maildir
> Folder INBOX.INBOX [acc: StageNex]:
>  Syncing INBOX.INBOX: IMAP -> Maildir
>  Establishing connection to imap.laposte.net:993
> Folder INBOX [acc: StageNex]:
>  Copy message 72579 (1 of 44) StageRemote:INBOX -> StageLocal
>  Copy message 72580 (2 of 44) StageRemote:INBOX -> StageLocal
>  Copy message 72581 (3 of 44) StageRemote:INBOX -> StageLocal
>  Copy message 72582 (4 of 44) StageRemote:INBOX -> StageLocal
>  Copy message 72583 (5 of 44) StageRemote:INBOX -> StageLocal
>  Copy message 72584 (6 of 44) StageRemote:INBOX -> StageLocal
>  Copy message 72585 (7 of 44) StageRemote:INBOX -> StageLocal
>  Copy message 72586 (8 of 44) StageRemote:INBOX -> StageLocal
>  Copy message 72587 (9 of 44) StageRemote:INBOX -> StageLocal
>  Copy message 72588 (10 of 44) StageRemote:INBOX -> StageLocal
>  Copy message 72589 (11 of 44) StageRemote:INBOX -> StageLocal
>  Copy message 72590 (12 of 44) StageRemote:INBOX -> StageLocal
>  Copy message 72591 (13 of 44) StageRemote:INBOX -> StageLocal
>  Copy message 72592 (14 of 44) StageRemote:INBOX -> StageLocal
>  Copy message 72593 (15 of 44) StageRemote:INBOX -> StageLocal
>  Copy message 72594 (16 of 44) StageRemote:INBOX -> StageLocal
>  Copy message 72595 (17 of 44) StageRemote:INBOX -> StageLocal
>  Copy message 72596 (18 of 44) StageRemote:INBOX -> StageLocal
>  Copy message 72597 (19 of 44) StageRemote:INBOX -> StageLocal
>  Copy message 72598 (20 of 44) StageRemote:INBOX -> StageLocal
>  Copy message 72599 (21 of 44) StageRemote:INBOX -> StageLocal
>  Copy message 72600 (22 of 44) StageRemote:INBOX -> StageLocal
>  Copy message 72601 (23 of 44) StageRemote:INBOX -> StageLocal
>  Copy message 72602 (24 of 44) StageRemote:INBOX -> StageLocal
>  Copy message 72603 (25 of 44) StageRemote:INBOX -> StageLocal
>  Copy message 72604 (26 of 44) StageRemote:INBOX -> StageLocal
>  Copy message 72605 (27 of 44) StageRemote:INBOX -> StageLocal
>  Copy message 72606 (28 of 44) StageRemote:INBOX -> StageLocal
>  Copy message 72607 (29 of 44) StageRemote:INBOX -> StageLocal
>  Copy message 72608 (30 of 44) StageRemote:INBOX -> StageLocal
>  Copy message 72609 (31 of 44) StageRemote:INBOX -> StageLocal
>  Copy message 72610 (32 of 44) StageRemote:INBOX -> StageLocal
>  Copy message 72611 (33 of 44) StageRemote:INBOX -> StageLocal
> Folder INBOX.INBOX [acc: StageNex]:
>  Copy message 72590 (1 of 34) StageLocal: -> StageRemote
> Folder INBOX [acc: StageNex]:
>  Copy message 72612 (34 of 44) StageRemote:INBOX -> StageLocal
>  Copy message 72613 (35 of 44) StageRemote:INBOX -> StageLocal
>  Copy message 72614 (36 of 44) StageRemote:INBOX -> StageLocal
> Folder INBOX.INBOX [acc: StageNex]:
>  Copy message 72591 (2 of 34) StageLocal: -> StageRemote
> Folder INBOX [acc: StageNex]:
>  Copy message 72615 (37 of 44) StageRemote:INBOX -> StageLocal
>  Copy message 72616 (38 of 44) StageRemote:INBOX -> StageLocal
>  Copy message 72617 (39 of 44) StageRemote:INBOX -> StageLocal
> Folder INBOX.INBOX [acc: StageNex]:
>  Copy message 72592 (3 of 34) StageLocal: -> StageRemote
> Folder INBOX [acc: StageNex]:
>  Copy message 72618 (40 of 44) StageRemote:INBOX -> StageLocal
>  Copy message 72619 (41 of 44) StageRemote:INBOX -> StageLocal
> Folder INBOX.INBOX [acc: StageNex]:
>  Copy message 72593 (4 of 34) StageLocal: -> StageRemote
> Folder INBOX [acc: StageNex]:
>  Copy message 72620 (42 of 44) StageRemote:INBOX -> StageLocal
>  Copy message 72621 (43 of 44) StageRemote:INBOX -> StageLocal
>  Copy message 72622 (44 of 44) StageRemote:INBOX -> StageLocal
>  Deleting 40 messages (1382:1421) in Maildir[]
>  Copy message 1422 (1 of 3) StageLocal: -> StageRemote
>  ERROR: [Errno 2] No such file or directory:
> '/home/cyril/Mail/stage.nexvision at laposte.net/cur/1343821969_5.17456.CocoonSe,U=72590,FMD5=aca32a17825bff5f86362943f232925c:2,S'
>  ERROR: Syncing folder  [acc: StageNex]
>   [Errno 2] No such file or directory:
> '/home/cyril/Mail/stage.nexvision at laposte.net/cur/1343821969_5.17456.CocoonSe,U=72590,FMD5=aca32a17825bff5f86362943f232925c:2,S'
>  ERROR: ERROR in syncfolder for StageNex folder : Traceback (most
>       recent call last):
>   File "/usr/lib/python2.6/dist-packages/offlineimap/accounts.py",
>       line 446, in syncfolder
>     localfolder.syncmessagesto(remotefolder, statusfolder)
>   File
>       "/usr/lib/python2.6/dist-packages/offlineimap/folder/Base.py",
>       line 526, in syncmessagesto
>     action(dstfolder, statusfolder)
>   File
>       "/usr/lib/python2.6/dist-packages/offlineimap/folder/Base.py",
>       line 409, in syncmessagesto_copy
>     register = 0)
>   File
>       "/usr/lib/python2.6/dist-packages/offlineimap/folder/Base.py",
>       line 320, in copymessageto
>     rtime = self.getmessagetime(uid)
>   File
>       "/usr/lib/python2.6/dist-packages/offlineimap/folder/Maildir.py",
>       line 226, in getmessagetime
>     return os.path.getmtime(filepath)
>   File "/usr/lib/python2.6/genericpath.py", line 54, in getmtime
>     return os.stat(filename).st_mtime
> OSError: [Errno 2] No such file or directory:
> '/home/cyril/Mail/stage.nexvision at laposte.net/cur/1343821969_5.17456.CocoonSe,U=72590,FMD5=aca32a17825bff5f86362943f232925c:2,S'
> 
>   [Errno 2] No such file or directory:
> '/home/cyril/Mail/stage.nexvision at laposte.net/cur/1343821969_5.17456.CocoonSe,U=72590,FMD5=aca32a17825bff5f86362943f232925c:2,S'
> Folder INBOX.DRAFT [acc: StageNex]:
>  Syncing INBOX.DRAFT: IMAP -> Maildir
> Folder INBOX.INBOX [acc: StageNex]:
>  Copy message 72594 (5 of 34) StageLocal: -> StageRemote
> Folder INBOX.TRASH [acc: StageNex]:
>  Syncing INBOX.TRASH: IMAP -> Maildir
> Folder INBOX.INBOX [acc: StageNex]:
>  Copy message 72579 (6 of 34) StageLocal: -> StageRemote
> Folder INBOX.Drafts [acc: StageNex]:
>  Syncing INBOX.Drafts: IMAP -> Maildir
> Folder INBOX.OUTBOX [acc: StageNex]:
>  Syncing INBOX.OUTBOX: IMAP -> Maildir
> Folder INBOX.INBOX [acc: StageNex]:
>  Copy message 72596 (7 of 34) StageLocal: -> StageRemote
> Folder INBOX.QUARANTAINE [acc: StageNex]:
>  Syncing INBOX.QUARANTAINE: IMAP -> Maildir
> Folder INBOX.INBOX [acc: StageNex]:
>  Copy message 72597 (8 of 34) StageLocal: -> StageRemote
>  Copy message 72598 (9 of 34) StageLocal: -> StageRemote
>  Copy message 72599 (10 of 34) StageLocal: -> StageRemote
>  Copy message 72600 (11 of 34) StageLocal: -> StageRemote
>  Copy message 72580 (12 of 34) StageLocal: -> StageRemote
>  Copy message 72602 (13 of 34) StageLocal: -> StageRemote
>  Copy message 72603 (14 of 34) StageLocal: -> StageRemote
>  Copy message 72595 (15 of 34) StageLocal: -> StageRemote
>  Copy message 72605 (16 of 34) StageLocal: -> StageRemote
>  Copy message 72606 (17 of 34) StageLocal: -> StageRemote
>  Copy message 72581 (18 of 34) StageLocal: -> StageRemote
>  Copy message 72608 (19 of 34) StageLocal: -> StageRemote
>  Copy message 72582 (20 of 34) StageLocal: -> StageRemote
>  Copy message 72604 (21 of 34) StageLocal: -> StageRemote
>  Copy message 72619 (22 of 34) StageLocal: -> StageRemote
>  Copy message 72620 (23 of 34) StageLocal: -> StageRemote
>  Copy message 72621 (24 of 34) StageLocal: -> StageRemote
>  Copy message 72622 (25 of 34) StageLocal: -> StageRemote
>  Copy message 72584 (26 of 34) StageLocal: -> StageRemote
>  Copy message 72583 (27 of 34) StageLocal: -> StageRemote
>  Copy message 72585 (28 of 34) StageLocal: -> StageRemote
>  Copy message 72607 (29 of 34) StageLocal: -> StageRemote
>  Copy message 72586 (30 of 34) StageLocal: -> StageRemote
>  Copy message 72587 (31 of 34) StageLocal: -> StageRemote
>  Copy message 72588 (32 of 34) StageLocal: -> StageRemote
>  Copy message 72589 (33 of 34) StageLocal: -> StageRemote
>  Copy message 72601 (34 of 34) StageLocal: -> StageRemote
>  Deleting 40 messages (1382:1421) in IMAP[INBOX.INBOX]
> Account sync StageNex:
>  *** Finished account 'StageNex' in 0:29
> ERROR: Exceptions occurred during the run!
> ERROR: [Errno 2] No such file or directory:
> '/home/cyril/Mail/stage.nexvision at laposte.net/cur/1343821969_5.17456.CocoonSe,U=72590,FMD5=aca32a17825bff5f86362943f232925c:2,S'
> ERROR: Syncing folder  [acc: StageNex]
>   [Errno 2] No such file or directory:
> '/home/cyril/Mail/stage.nexvision at laposte.net/cur/1343821969_5.17456.CocoonSe,U=72590,FMD5=aca32a17825bff5f86362943f232925c:2,S'
> ERROR: ERROR in syncfolder for StageNex folder : Traceback (most
>       recent call last):
>   File "/usr/lib/python2.6/dist-packages/offlineimap/accounts.py",
>       line 446, in syncfolder
>     localfolder.syncmessagesto(remotefolder, statusfolder)
>   File
>       "/usr/lib/python2.6/dist-packages/offlineimap/folder/Base.py",
>       line 526, in syncmessagesto
>     action(dstfolder, statusfolder)
>   File
>       "/usr/lib/python2.6/dist-packages/offlineimap/folder/Base.py",
>       line 409, in syncmessagesto_copy
>     register = 0)
>   File
>       "/usr/lib/python2.6/dist-packages/offlineimap/folder/Base.py",
>       line 320, in copymessageto
>     rtime = self.getmessagetime(uid)
>   File
>       "/usr/lib/python2.6/dist-packages/offlineimap/folder/Maildir.py",
>       line 226, in getmessagetime
>     return os.path.getmtime(filepath)
>   File "/usr/lib/python2.6/genericpath.py", line 54, in getmtime
>     return os.stat(filename).st_mtime
> OSError: [Errno 2] No such file or directory:
> '/home/cyril/Mail/stage.nexvision at laposte.net/cur/1343821969_5.17456.CocoonSe,U=72590,FMD5=aca32a17825bff5f86362943f232925c:2,S'
> 
>   [Errno 2] No such file or directory:
> '/home/cyril/Mail/stage.nexvision at laposte.net/cur/1343821969_5.17456.CocoonSe,U=72590,FMD5=aca32a17825bff5f86362943f232925c:2,S'
> 
> 
> Sometime the error comes from LocalStatus.py, in the line that read
>     "os.rename(self.filename + ".tmp", self.filename)". 
> I've changed the code to get more information to read like this:
>     def save(self):
>         self.savelock.acquire()
>         try:
>             file = open(self.filename + ".tmp", "wt")
>             file.write(magicline + "\n")
>             for msg in self.messagelist.values():
>                 flags = msg['flags']
>                 flags = ''.join(sorted(flags))
>                 file.write("%s:%s\n" % (msg['uid'], flags))
>             file.flush()
>             if self.doautosave:
>                 os.fsync(file.fileno())
>             file.close()
>             if os.path.exists(self.filename + ".tmp"):
>                 os.rename(self.filename + ".tmp", self.filename)
>             else:
>                 errstr = "Temporary file '%s' doesn't exist for
>       message '%s'" % \
>                     (self.filename + ".tmp", msg['uid'])
>                 self.ui.warn(errstr)
>                 # Raise the exception anyway
>                 os.rename(self.filename + ".tmp", self.filename)
> 
>             if self.doautosave:
>                 fd = os.open(os.path.dirname(self.filename),
>       os.O_RDONLY)
>                 os.fsync(fd)
>                 os.close(fd)
> 
>         finally:
>             self.savelock.release()
> 
> And, when the error happens here, the file that's not found is
>     "~/.offlineimap/Account-StageNex/LocalStatus/dot.tmp"
> Can you help me figure out the issue and solve it ?
> 
> Best regards, 
> Cyril
> 
> I'm not subscribed to the list.

> _______________________________________________
> OfflineIMAP-project mailing list
> OfflineIMAP-project at lists.alioth.debian.org
> http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/offlineimap-project
> 
> OfflineIMAP homepage: http://software.complete.org/offlineimap


-- 
Thomas Kahle
http://dev.gentoo.org/~tomka/
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 316 bytes
Desc: Digital signature
URL: <http://alioth-lists.debian.net/pipermail/offlineimap-project/attachments/20120803/babf2bed/attachment-0001.sig>


More information about the OfflineIMAP-project mailing list