Coda File System

Problem with Courier-IMAP on Coda

From: Tim Hasson <tim_at_aidasystems.com>
Date: Sat, 2 Aug 2003 20:00:15 -0700
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 tmp
Received on 2003-08-02 23:02:18