[milters] Archive

Lists Index Date Thread Search

Article: 216
From: Gianni Arru
Date: 2004-10-22 06:26:27 -0400
Subject: failed verification in smdbReopen()

Removal...........: milters-request@milter.info?subject=remove
More information..: http://www.milter.info/#Support


I got this fatal error with milter-spamc:
milter-spamc[29478]: "/etc/mail/access.db" failed verification: DB_VERIFY_BAD: 
Database verification failed
milter-spamc[29478]: failed to re-open "/etc/mail/access.db"

At that time, access.db was locked by a pop3 server process, it is implemented on the 
pop3 server a "smtp after pop" mechanism to permit relay to clients that
with pop3.

The access db, during the pop3 update, has an exclusive lock on access.db, made with 
an flock() call.
The lock mechanism is efficient, never had corruption problem with access.db, and 
there are times that a lot of concurent pop3 server connection are active.
Also this time access.db was not corrupted.
It is more than 12 months this mechanism is implemented in the server, and never had 
problems (with milter-spamc).
Can ba a race condition on smdbReopen() function in libsnert?? I'm using BerkeleyDB 

Thank you all.

Gianni Arru

Lists Index Date Thread Search