(Illustration by Gaich Muramatsu)
Hi, I am having problems running courier-imap on Coda. When running versions of courier-imap higher than 1.6.1 on Coda (ex. 1.7.0, especially when moving/deleting messages through any imap client), I always got inconsistencies with files like courierimapuiddb and pop3dsizelist. I read about Coda having problems with link() and someone recommended using rename() instead. So I looked in the code in courierimap 1.6.1 and found one instance of link() in liblock/mail.c. Changing link() to rename() seemed to have fixed a lot of problems for a while. POP3 clients no longer got error messages like "IMAP Server replied: No such file or directory" and other weird errors. IMAP also looked like it worked fine. Then I started playing with IMAP_EMPTYTRASH and it worked for a week or so and again inconsistencies and problems with the courierimapuiddb file. pop3dsizelist is not a problem anymore however. Do you have any suggestions? Do you think this could be related to the change I made in liblock/mail.c ? Any help would be greatly appreciated. I attached some info from the coda logs and checkup with coda's repair tool to see which files where accessed/altered. hope it helps. Respectfully, Tim Hasson 15:16:24 Reintegrate: vpopmail, 7/9 records, result = Inconsistent 15:17:44 Local inconsistent object at /coda/vpopmail/domains/aidasystems.com/adeeb/Maildir/.Trash, please check! 15:17:44 Local inconsistent object at /coda/vpopmail/domains/aidasystems.com/adeeb/Maildir/tmp, please check! [...] notice below the difference betweek courierimapuiddb in local and in global coda1# ll /coda/vpopmail/domains/aidasystems.com/adeeb/Maildir/.Trash lr--r--r-- 1 root 4294967294 27 Aug 2 15:27 /coda/vpopmail/domains/aidasystems.com/adeeb/Maildir/.Trash -> @7f000007.ffffffff.000800cb coda1# cfs beginrepair /coda/vpopmail/domains/aidasystems.com/adeeb/Maildir/.Trash coda1# ll /coda/vpopmail/domains/aidasystems.com/adeeb/Maildir/.Trash total 4 drwx------ 5 vpopmail nobody 2048 Aug 1 15:37 global drwx------ 5 vpopmail nobody 2048 Aug 2 15:15 local coda1# ll /coda/vpopmail/domains/aidasystems.com/adeeb/Maildir/.Trash/* /coda/vpopmail/domains/aidasystems.com/adeeb/Maildir/.Trash/global: total 7 -rw-r--r-- 1 vpopmail nobody 211 Aug 1 15:37 courierimapuiddb drwx------ 2 vpopmail nobody 2048 Aug 2 15:15 cur drwx------ 2 vpopmail nobody 2048 Jul 25 02:19 new drwx------ 2 vpopmail nobody 2048 Jul 25 22:47 tmp /coda/vpopmail/domains/aidasystems.com/adeeb/Maildir/.Trash/local: total 7 -rw-r--r-- 1 vpopmail nobody 138 Aug 2 15:15 courierimapuiddb drwx------ 2 vpopmail nobody 2048 Aug 2 15:15 cur drwx------ 2 vpopmail nobody 2048 Jul 25 02:19 new drwx------ 2 vpopmail nobody 2048 Jul 25 22:47 tmp [...] some output from the coda repair tool: repair > listlocal local mutations are: Rename /coda/vpopmail/domains/aidasystems.com/adeeb/Maildir/.BulkMail/cur/1059 861761.M754753P7376V00000000I014F31C7_0.coda1,S=6062:2, (to: /coda/vpopmail/domains/aidasystems.com/adeeb/Maildir/.BulkMail/cur/1059861 761.M754753P7376V00000000I014F31C7_0.coda1,S=6062:2,S) Rename /coda/vpopmail/domains/aidasystems.com/adeeb/Maildir/.BulkMail/cur/1059 861761.M754753P7376V00000000I014F31C7_0.coda1,S=6062:2,S (to: /coda/vpopmail/domains/aidasystems.com/adeeb/Maildir/.BulkMail/cur/1059861 761.M754753P7376V00000000I014F31C7_0.coda1,S=6062:2,ST) Rename /coda/vpopmail/domains/aidasystems.com/adeeb/Maildir/.BulkMail/cur/1059 861761.M754753P7376V00000000I014F31C7_0.coda1,S=6062:2,ST (to: /coda/vpopmail/domains/aidasystems.com/adeeb/Maildir/.Trash/local/cur/1059 861761.M754753P7376V00000000I014F31C7_0.coda1,S=6062:2,S) Create ???/tmp/1059862522.7440_imapuid_22.coda1 Store ???/tmp/1059862522.7440_imapuid_22.coda1 (length = 138) Remove /coda/vpopmail/domains/aidasystems.com/adeeb/Maildir/.Trash/local/couri erimapuiddb Rename ???/tmp/1059862522.7440_imapuid_22.coda1 (to: /coda/vpopmail/domains/aidasystems.com/adeeb/Maildir/.Trash/local/courieri mapuiddb) Rename /coda/vpopmail/domains/aidasystems.com/adeeb/Maildir/.Trash/local/cur/1 059805019.M576210P91514V00000000I03FFA781_0.coda2,S=21702:2,S (to: /coda/vpopmail/domains/aidasystems.com/adeeb/Maildir/.Trash/local/cur/1059 805019.M576210P91514V00000000I03FFA781_0.coda2,S=21702:2,ST) Rename /coda/vpopmail/domains/aidasystems.com/adeeb/Maildir/.Trash/local/cur/1 059861761.M754753P7376V00000000I014F31C7_0.coda1,S=6062:2,S (to: /coda/vpopmail/domains/aidasystems.com/adeeb/Maildir/.Trash/local/cur/1059 861761.M754753P7376V00000000I014F31C7_0.coda1,S=6062:2,ST) [...] Another inconsistency with another user: coda2# ls -al /coda/vpopmail/domains/aidasystems.com/tamer/Maildir/.VCHKPW/* /coda/vpopmail/domains/aidasystems.com/tamer/Maildir/.VCHKPW/coda1: total 16 drwx------ 5 vpopmail nobody 2048 Aug 2 16:55 . dr--r--r-- 2 root nobody 2048 Aug 2 17:04 .. -rw-r--r-- 1 vpopmail nobody 1284 Aug 2 16:55 courierimapuiddb drwx------ 2 vpopmail nobody 4096 Aug 2 16:59 cur -rwx------ 1 vpopmail nobody 0 Aug 1 00:55 maildirfolder drwx------ 2 vpopmail nobody 4096 Aug 2 16:55 new drwx------ 2 vpopmail nobody 2048 Aug 2 16:21 tmp /coda/vpopmail/domains/aidasystems.com/tamer/Maildir/.VCHKPW/coda2: total 16 drwx------ 5 vpopmail nobody 2048 Aug 2 16:59 . dr--r--r-- 2 root nobody 2048 Aug 2 17:04 .. -rw-r--r-- 1 vpopmail nobody 1216 Aug 2 16:59 courierimapuiddb drwx------ 2 vpopmail nobody 4096 Aug 2 16:59 cur -rwx------ 1 vpopmail nobody 0 Aug 1 00:55 maildirfolder drwx------ 2 vpopmail nobody 4096 Aug 2 16:55 new drwx------ 2 vpopmail nobody 2048 Aug 2 16:21 tmpReceived on 2003-08-02 23:02:18