db bug..

Vernon Schryver vjs@calcite.rhyolite.com
Fri Feb 1 00:16:17 UTC 2002

> From: <Kstone@win.net>

> ...
> dccproc 1.0.43 clearing database /var/dcc/dcc_db
> Jan 30 12:18:06 hostname dbclean[6560]: 1.0.43 clearing database /var/dcc/dcc_db
> hashed 209 records containing 209 checksums, compressed 0 records

> ...
> Jan 30 12:18:28 hostname dccd[6594]: query: bad hash list entry at 0x1eab

> ...
> An offline clean and on-line clean remedies the problem temporarily in the
> DB.. This can be verified by performing a dccproc -Q.  No error messages
> are displayed and the values look proper.  Remove the -Q, and the above
> error messages occur again.   This is a machine that .42 works perfectly
> on.  Any ideas?

I am unable to reproduce that problem on a system where uname says
"4.4-RELEASE FreeBSD 4.4-RELEASE #0"

I've tried the sample white lists from both 1.0.42 and 1.0.43 without
getting the same number of checksums.  Therefore, perhaps the problem
is related to the particular contents of /var/dcc/whitelist and any
files it includes such as /var/dcc/whitecommon   In case that's the
trick, then I'd apprieciate a copy of the white lists by private email.

Have I assumed correctly that there are no modifications to any part
of the DCC source?  And that neither dbclean nor dccd have been stopped
prematurely such as with SIGINT?

`dblist -vvvv | more` will dump such a small databaset all in
a short time (unlike what dblist does on a few 100 MBytes). 
There ought to be some kind of error message or other oddity in
the hash table bin labeled "1eab"

I guess I ought to document that stuff.  The hash table is dumped as

   index:  forward_index reverse_index  [ptr-to-rcd cksum-type]

In this case I get these prefectly reasonable results:
      1eaa:   1eac   1ea9
      1eab:      0      0     20ac From
      1eac:   1ead   1eaa

Vernon Schryver    vjs@rhyolite.com

More information about the DCC mailing list

Contact vjs@rhyolite.com by mail or use the form.