Offlineimap does strange things.

chris coleman christocoleman at yahoo.com
Thu Aug 2 05:18:42 BST 2012



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.  


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

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.  


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.  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.  


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.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/offlineimap-project/attachments/20120801/c5b7dd6f/attachment-0003.html>


More information about the OfflineIMAP-project mailing list