mpz_probab_prime_p crashes?

Marc Glisse marc.glisse at inria.fr
Fri Jun 9 06:18:25 CEST 2023


Hello,

could you try with a recent snapshot from 
https://gmplib.org/download/snapshot/ ?

If you built GMP yourself, did you run `make check` afterwards?


On Thu, 8 Jun 2023, Philip Riebold wrote:

> Hi,
>
>
> I think I may have come across an error in mpz_probab_prime_p() It seems to
>
> occasionally cause a segmentation fault either when repeatedly run with the
>
> same arguments or with increasing values of the first argument.
>
>
> I initially came across the bug when I was trying to find the closest primes
>
>> 10^n, 2*10^n or 5*10^n when the program would crash after listing the
> first
>
> few dozen/hundred results.
>
>
> The platform is a 16GB M2 Mac Air.
>
>
> The test program below, pt3.c is the simplest I could produce to demonstrate
>
> the problem.
>
>
> The first argument 20000000000000000011 is the smallest value I found which
>
> caused the error.
>
>
> When I ran pt3 100 times the for() loop executed between 4 and 4684 times
>
> before crashing.
>
>
> GMP version 6.2.1
>
> =====================
>
> Philip:gmp_error philip$ cat pt3.c
>
> #include <stdio.h>
>
> #include <string.h>
>
> #include <gmp.h>
>
>
> int main(void)
>
> {
>
>    setbuf(stdout,NULL);
>
>    mpz_t test;
>
>
>    for(int n = 1; n <= 1000; n++) {
>
>        printf("%4d\n", n);
>
>        mpz_init(test);
>
>        mpz_set_str(test, "20000000000000000011", 10);
>
>        int res = mpz_probab_prime_p(test, 100);
>
>        mpz_clear(test);
>
>        if(res != 1)
>
>            printf("res = %d\n", res);
>
>    }
>
>    printf("hmmm, it hasn't failed\n");
>
> }
>
> Philip:gmp_error philip$
>
> =====================
>
> Philip:gmp_error philip$ cc -v
>
> Apple clang version 14.0.3 (clang-1403.0.22.14.1)
>
> Target: arm64-apple-darwin22.5.0
>
> Thread model: posix
>
> InstalledDir:
> /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin
>
> Philip:gmp_error philip$
>
> =====================
>
> Philip:gmp_error philip$ uname -a
>
> Darwin Philip 22.5.0 Darwin Kernel Version 22.5.0: Mon Apr 24 20:52:43 PDT
> 2023; root:xnu-8796.121.2~5/RELEASE_ARM64_T8112 arm64
>
> Philip:gmp_error philip$
>
> =====================
>
> Philip:gmp-6.2.1 philip$ ./config.guess
>
> aarch64-apple-darwin22.5.0
>
> Philip:gmp-6.2.1 philip$
>
> =====================
>
> Philip:gmp-6.2.1 philip$ ./configfsf.guess
>
> aarch64-apple-darwin22.5.0
>
> Philip:gmp-6.2.1 philip$
>
> =====================
>
> Philip:gmp_error philip$ cc -o pt3 pt3.c -lgmp
>
> Philip:gmp_error philip$ ./pt3
>
>   1
>
>   2
>
>   3
>
>   4
>
>>
> 143
>
> 144
>
> 145
>
> 146
>
> Segmentation fault: 11
>
> Philip:gmp_error philip$
>
> =====================
>
>
> If there's anything I can do to help please ask.
>
>
> TTFN
>
> Philip Riebold
>

-- 
Marc Glisse


More information about the gmp-bugs mailing list