Hi,

I have just confirmed another user in another vpopmail domain with the same 
maildirsize problem.

All mail domains reside on NFS server.
The user's Maildir size is around 5 megs, excluding .Trash, as reported by `du`
The user's quota is set to '10000000' i.e. 10MB.
vuserinfo -Q [EMAIL PROTECTED] reports _ 0% _
Courier-imap returns a negative usage value when asked with the "getquota 
ROOT" command, for the two users having the problem.

The problem started happening again about a week or more after I patched qmail-
local with maildir++ patch.
I am not using qmail-pop3d.
I am using courier-2.0.0 imapd and pop3d, and vpopmail 5.2.1

I believe this problem is a race condition because:

1. The problem happens for a few users, who are also heavy users
2. The problem doesn't occur very often, but also very random. It occured 4 
days after I setup the system when using unpatched qmail-local with vpopmail, 
courier imapd and pop3d. After removing/recreating bad maildirsize files and 
patching qmail-local, the problem occurs after a week or so.

Another intersting link which I think is strongly related:
http://www.ultraviolet.org/mail-archives/ldap.2000/1471.html
The Important part:
> I am using qmail-ldap which implements the same 
> quota system as Courier/Sqwebmail, and reportedly, 
> there is a race condition when qmail-pop3d and qmail-local are accessing 
> the maildirsize file at the same time. I guess there's no locking on the 
> file, so it is filled with negative numbers and users' e-mail bounces.

I dont think email is bouncing at all though. vuserinfo -Q reports 0% usage, 
and courier reports negative values, so I believe users could probably get 
more mail delivered than there quota allows, during the time the maildirsize 
is corrupted.

The maildirsize is not being regenerated automagically, as I would expect. So 
I manually have to remove those bad maildirsize files, and rerun vuserinfo -Q 
on the user account to have it recreated.

Mr Sam recommended I should try using maildrop as the only delivery agent to 
see if that fixes the problem. And because the problem is happening on a 
production system, I will use that as a last option.

Any suggestions, ideas, comments?

-Tim

Reply via email to