False positive dependency checks break package install order

Jeffrey Johnson n3npq at me.com
Fri Aug 16 20:31:53 CEST 2013


On Aug 13, 2013, at 10:44 AM, Jeffrey Johnson wrote:

> 
> Meanwhile the simpler fix is to adjust the Bloom filter parameters to decrease the probability
> of a false positive.
> 
> This can be done like so:
> 
> Index: rpmfi.c
> ===================================================================
> RCS file: /v/rpm/cvs/rpm/lib/rpmfi.c,v
> retrieving revision 2.160.4.4
> diff -p -u -w -r2.160.4.4 rpmfi.c
> --- rpmfi.c	4 Jun 2012 15:10:11 -0000	2.160.4.4
> +++ rpmfi.c	13 Aug 2013 14:35:13 -0000
> @@ -184,7 +184,7 @@ void * rpmfiFNBF(rpmfi fi)
>     if (fi != NULL) {
> 	if (fi->_fnbf == NULL) {
> 	    char * fn = (char *) alloca(fi->fnlen + 1);
> -	    static double e = 1.0e-4;
> +	    static double e = 1.0e-5;
> 	    size_t n = (fi->fc > 10 ? fi->fc : 10);
> 	    size_t m = 0;
> 	    size_t k = 0;
> 
> That reduces the probability of false positives from one in 10,000 to one in 100,000
> and SHOULD fix your issue. One might also increase the estimated population "n"
> by 5-10%, but I would change "e" first as the intent is clearer.
> 
> There is also some modest increase in memory used by the Bloom filter.
> 
> See if that fixes your problem please.
> 

Was the above patch ever tested? I will assume
	No.

73 de Jeff



More information about the pld-devel-en mailing list