(db) db_get_dbvalue( 'head:X-Original-To' ), err: -30988, DB_PAGE_NOTFOUND: Requested page not found OR (qdbm) db_set_dbvalue( 'ABSNET' ), err: 1 bogofilter: (qdbm) dpclose for wordlist.qdbm failed: with fatal error

David Relson relson at osagesoftware.com
Wed Jan 7 22:54:36 CET 2004


On Wed, 7 Jan 2004 23:53:05 +0300
ls+bogofilter.aotto.comede53b7f at gambit.com.ru wrote:

> Dear Bogofilter!
> 
> When trying to run bogofilter 0.15.13.1 with "-u -e -p" options,
> I'm getting error messages under FreeBSD 4.9-STABLE i386 as of today:
> 
>   1. when using db4-4.0.14_1,1:
>     (db) db_get_dbvalue( 'head:X-Original-To' ), err: -30988,
>     DB_PAGE_NOTFOUND: Requested page not found
> 
>   2. when using qdbm-1.7.26:
>     (qdbm) db_set_dbvalue( 'ABSNET' ), err: 1
>     (qdbm) dpclose for wordlist.qdbm failed: with fatal error
> 
> When using tdb-1.0.6_1, this problem does not occur.
> 
> How can I localize the problem?

Hi,

Your database file has gotten corrupted.  Run "db_verify
/your/path/wordlist.db" to confirm this.

There are several recovery options.

1 - If you have the original messages, then delete wordlist.db and build
a new one.  This may be the easiest thing to do.

2 - you can use bogoutil to dump as much of the wordlist (as BerkeleyDB
will allow) and then use bogoutil to load the info into a new wordlist. 
The command sequence will do it (if all goes well):

   bogoutil -d /your/path/wordlist.db | bogoutil -l
/your/path/wordlist.db.new
   mv /your/path/wordlist.db     /your/path/wordlist.db.bad
   mv /your/path/wordlist.db.new /your/path/wordlist.db

It sounds like you have a bad page number in your database, so this
should work and get you a portion of your database.  Exactly how much
you'll get depends on circumstances.  Sometimes, there's a circular
loop, so the database code will keep returning the same tokens and
"bogoutil -d" won't end.

Good luck!

David




More information about the Bogofilter mailing list