On Wed, Feb 22, 2017 at 04:20:44PM +0100, Paul de Weerd wrote:

> Hi Otto, thanks for replying!
> 
> On Wed, Feb 22, 2017 at 04:08:51PM +0100, Otto Moerbeek wrote:
> | > [weerd@despair] $ spamdb | wc -l 
> | >      553
> | > [weerd@despair] $ ls -lh /var/db/spamd 
> | > -rw-r--r--  1 _spamd  _spamd   305M Feb 22 15:40 /var/db/spamd
> | > 
> | > Any pointers?
> | 
> | Berkeley db's are sparse files, it is common that the size is larger
> | than the disk usage. Check with ls -skl.
> 
> Should've thought of that.  But the database is indeed 300M in size:
> 
> [weerd@despair] $ du -sh /var/db/spamd 
> 306M    /var/db/spamd
> 
> | As for the delete problem: it's trying to delete weird keys,
> | consisting of a space.  When trying to delete a non-existing key,
> | ->del returns 1 and does not set errno, that seems to happen here.
> | 
> | See grey.c line 454
> | 
> | It's interesting to see of spamdb list the weird keys. 
> 
> Indeed there seems to be a weird entry in the database:
> 
> [weerd@despair] $ spamdb | awk -F'|' '{if ($2 == "") {print}}'
> WHITE||||-8228639089095791570|-4175399804525848451|-4175399804525848451|22653|65536
> 
> That's an entry without an IP address.  I'm not really sure how I can
> end up with that.  The partition holding the database (/var) has
> plenty of free space available (and according to a history of root
> mails, has always had that - not 100% proof of course).
> 
> Any ideas on how I can get rid of this record?  Or, a bit less
> pragmatic but more intriguingly: how I got it in the first place?
> 
> Paul
> 
> -- 
> >++++++++[<++++++++++>-]<+++++++.>+++[<------>-]<.>+++[<+
> +++++++++++>-]<.>++[<------------>-]<+.--------------.[-]
>                  http://www.weirdnet.nl/                 

Hi,

that looks indeed like some corruption. No further idea though how it
got that way. 

If spamd -d doesn't want to delete the entry either try rebulding the
db by making a script that calls spamdb -a on a new db file for all
the ip's.

        -Otto

Reply via email to