[Ecm-discuss] Test failure for 6.4.2

Alexander Kruppa akruppa at gmail.com
Lun 8 Juil 10:32:41 CEST 2013

2013/7/8 Laurent Fousse <laurent at komite.net>:
> Hello,
> You might be interested in the following debian bugreport:
>     http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=713399
> The following test fail:
>     echo
> 5394204444759808120647321820789847518754252780933425517607611172590240019087317088600360602042567541009369753816111824690753627535877960715703346991252857
> | $ECM $BATCH0 -sigma 805816989 -go 345551 149827; checkcode $? 6
> Details of the build environment are provided at the link above.
> I can reproduce the problem using the ecm tarball without any debian change.
> Bisecting shows that the bug was fixed by r2320 which is interesting because
> that does not appear to be the intent of this commit.
> Laurent.

Actually, the fix is intended to resolve this problem. We use internal
functions of GMP (mpn_redc_[12](), among others) for numbers of a
certain sizes, but these two functions changed semantics between GMP
5.0 and 5.1. The failed test case you reported is the first test case
that uses an input number in the range where mpn_redc_1() is used, so
it triggers the error.

The easiest fix is to use the current GMP-ECM release, 6.4.4, which
uses mpn_redc_[12] correctly with both GMP 5.0.x and GMP 5.1.x.

If you have to stick with 6.4.2 for some reason, you could use GMP
5.0.x, or if that is not possible, manually comment out
#define HAVE___GMPN_REDC_1 1
#define HAVE___GMPN_REDC_2 1
in GMP-ECM's config.h file.


More information about the Ecm-discuss mailing list