A weird wordlist.db problem
Matthias Andree
matthias.andree at gmx.de
Sat Jun 11 14:53:21 CEST 2005
David Relson <relson at osagesoftware.com> writes:
> You've got a classic case of corrupted database, with one of the
> internal links being bad. Running db_verify will confirm that for
> you.
Recovery procedures for Berkeley DB based databases are COMPLETELY
documented in sections 3.3 (for transactional databases) and 3.4 (for
non-transactional DBs) of the README.db file that comes with bogofilter.
The relevant section appears to be
| 3.4 RECOVERY OF TRADITIONAL (NON-TRANSACTIONAL) DATABASES
|
| Non-transactional databases do not store data that could help with
| recovering data, so the recovery options are:
|
| 3.4.1 Salvage raw data
|
| Note that your database may already have lost data, so this procedure
| may not recover everything that used to be in the database before the
| corruption happened.
|
| To try this, suspend mail delivery to your directory, run these
| commands:
|
| db_dump -r ~/.bogofilter/wordlist.db > ~/.bogofilter/wordlist.saved
| rm ~/.bogofilter/{__db.*,log.*,wordlist.db}
| db_load ~/.bogofilter/wordlist.db < ~/.bogofilter/wordlist.saved
|
| and resume mail delivery.
|
| ...
bogoutil -d is pointless in such cases as it isn't trying to traverse
the database in spite of b0rked pointers, db_dump -r is the first thing
to try and rather safe, perhaps db_dump -R which is more aggressive and
can return bogus data.
--
Matthias Andree
More information about the Bogofilter
mailing list