BUG? corrupted goodlist.db again, spamlist.db fine
Matthias Andree
matthias.andree at gmx.de
Mon Dec 30 04:17:39 CET 2002
On Sun, 29 Dec 2002, David Relson wrote:
> old/goodlist.db
> db_verify: Last item on page 2269 sorted greater than parent entry
> db_verify: DB->verify: nic.1229/goodlist.db: DB_VERIFY_BAD: Database
> verification failed
b0rken
> old/spamlist.db
> db_verify: Last item on page 1420 sorted greater than parent entry
> db_verify: Last item on page 1449 sorted greater than parent entry
> db_verify: First item on page 1420 sorted greater than parent entry
> db_verify: Page 1420 linked twice
> db_verify: Last item on page 32 sorted greater than parent entry
> db_verify: Last item on page 423 sorted greater than parent entry
> db_verify: DB->verify: nic.1229/spamlist.db: DB_VERIFY_BAD: Database
> verification failed
b0rken
Both fine if no output happens. So David's DB-3 makes the same troubles
as my DB-4.0.
Gyepi, can you share any ideas how we could track these down?
Incidentally, my current MAIN (non-MIME) bogofilter chokes really hard
on some BDB cursor c_get operation (remember it sets MALLOC_CHECK_=2,
which is documented as (libc.info) 'When `MALLOC_CHECK_' is set, a
special (less efficient) implementation is used which is designed to
be tolerant against simple errors, such as double calls of `free' with
the same argument, or overruns of a single byte (off-by-one bugs).
Not all such errors can be protected against, however, and memory
leaks can result. If `MALLOC_CHECK_' is set to `0', any detected heap
corruption is silently ignored; if set to `1', a diagnostic is printed
on `stderr'; if set to `2', `abort' is called immediately.'
./t.dump.load: line 63: 29798 Aborted (core dumped)
$BOGOUTIL -n -d $DATA >${TMPDIR}/output-dl-5.txt
(GLIBC memory checker abort/raise/kill here) DB-4.0.14.
#4 0x4016d97c in realloc () from /lib/libc.so.6
No symbol table info available.
#5 0x400da4b1 in __os_realloc () from /usr/lib/libdb-4.0.so
No symbol table info available.
#6 0x400a8132 in __db_retcopy () from /usr/lib/libdb-4.0.so
No symbol table info available.
#7 0x400a7fa5 in __db_ret () from /usr/lib/libdb-4.0.so
No symbol table info available.
#8 0x40099631 in __db_c_get () from /usr/lib/libdb-4.0.so
No symbol table info available.
#9 0x08048e25 in dump_file (
db_file=0xbffff22e "dump.load.20021230/t.dump.load.db") at bogoutil.c:73
dbh = (struct {...} *) 0x804e570
dbc = {dbp = 0x4020df79, txn = 0xbfffeed0, links = {
tqe_next = 0x400130c8, tqe_prev = 0x3}, rskey = 0x400ff000,
rkey = 0x402183d8, rdata = 0x7a3, my_rskey = {data = 0x4010f0bc,
size = 1074830424, ulen = 1075936400, dlen = 110, doff = 110,
flags = 3221221208}, my_rkey = {data = 0x40009ca0, size = 0, ulen = 110,
dlen = 1075255184, doff = 1073821720, flags = 100}, my_rdata = {
data = 0x401b5cf1, size = 134531592, ulen = 100, dlen = 134531592,
doff = 2002, flags = 1074820584}, lid = 1073821720, locker = 0,
lock_dbt = {data = 0x804e490, size = 134538384, ulen = 1, dlen = 3221221160,
doff = 1075388683, flags = 3221221236}, lock = {pgno = 3600,
fileid = "\200Á!@\024ïÿ¿\200Á!d\0308\001@\0\0\0", type = 0 '\0'},
mylock = {off = 0, ndx = 1073818256, gen = 23, mode = 1073819600},
cl_id = 1, dbtype = 1073781456, internal = 0x40013114, c_close = 0x40013a88,
c_count = 0x1, c_del = 0, c_dup = 0x4021c180 <_tmbuf>, c_get = 0x3e0fb980,
c_pget = 0x4018e710 <localtime>, c_put = 0x40217c90 <__DTOR_END__+4>,
c_am_bulk = 0xbfffef78, c_am_close = 0x40217c90 <__DTOR_END__+4>,
c_am_del = 0x40012f2c <_dl_debug_mask>, c_am_destroy = 0xbffff024,
c_am_get = 0xbfffef88, c_am_put = 0x401b6d35 <getopt+69>,
c_am_writelock = 0x4, c_real_get = 0xbffff024, flags = 134531592}
dbcp = (struct __dbc *) 0x8050f90
key = {data = 0x8051350, size = 13, ulen = 0, dlen = 0, doff = 0,
flags = 0}
data = {data = 0x8051360, size = 8, ulen = 0, dlen = 0, doff = 0,
flags = 0}
ret = 0
rv = 0
#10 0x0804a1c7 in main (argc=4, argv=0xbffff024) at bogoutil.c:634
count = 1
option = -1
db_file = 0xbffff22e "dump.load.20021230/t.dump.load.db"
flag = DUMP
prob = false
The "offending" DB file looks unsuspicious to me:
VERSION=3
format=bytevalue
type=btree
HEADER=END
796f75722d3334
220000000c7f3101
796f75722d696e666f2e6e6574
0a000000df7f3101
796f7572732d333430
54010000547e3101
a0a0a0a0a0736172646f6e656e
01000000127f3101
a2baa2b973706565647ea2dca2dda2b7a2c2b8
020000001c7f3101
DATA=END
--
Matthias Andree
More information about the bogofilter-dev
mailing list