-
Notifications
You must be signed in to change notification settings - Fork 275
Closed
Description
Greetings.
There is a reproducible error (with some randomness) with the following stack
#0 0x00007ffff6a1cd2b in raise () from /lib64/libc.so.6
#1 0x00007ffff6a1e3e5 in abort () from /lib64/libc.so.6
#2 0x00007ffff6ee4bfb in flint_abort () at src/generic_files/exception.c:49
#3 0x00007ffff6f5b987 in _nmod_poly_div (Q=0x7fff64006550, A=0x7fff64001260, lenA=lenA@entry=3, B=0x7fff64001280, lenB=lenB@entry=2, mod=...) at src/nmod_poly/div.c:36
#4 0x00007ffff75b50c4 in n_poly_mod_div (Q=Q@entry=0x7fff64002600, A=A@entry=0x7fff64002840, B=B@entry=0x7fff640036d0, ctx=...) at src/n_poly/n_poly_mod.c:332
#5 0x00007ffff7202992 in nmod_mpolyn_gcd_brown_smprime_bivar (G=G@entry=0x7fffe4855d50, Abar=Abar@entry=0x7fffe4855d80, Bbar=Bbar@entry=0x7fffe4855db0, A=A@entry=0x7fffe4855de0,
B=B@entry=0x7fffe4855e10, ctx=ctx@entry=0x7fffe4855ea0, Sp=0x7fffe4855e40) at src/nmod_mpoly/mpolyn_gcd_brown.c:95
#6 0x00007ffff72042d4 in nmod_mpolyn_gcd_brown_smprime (G=G@entry=0x7fffe4855d50, Abar=Abar@entry=0x7fffe4855d80, Bbar=Bbar@entry=0x7fffe4855db0, A=A@entry=0x7fffe4855de0, B=B@entry=0x7fffe4855e10,
var=1, ctx=0x7fffe4855ea0, I=0x7fffe48567a0, Sp=0x7fffe4855e40) at src/nmod_mpoly/mpolyn_gcd_brown.c:364
#7 0x00007ffff7464af1 in fmpz_mpolyl_gcd_brown (G=G@entry=0x7fffe4856210, Abar=Abar@entry=0x7fffe4856240, Bbar=Bbar@entry=0x7fffe4856270, A=A@entry=0x7fffe48561b0, B=B@entry=0x7fffe48561e0,
ctx=ctx@entry=0x7fffe48562a0, I=0x7fffe48567a0) at src/fmpz_mpoly_factor/gcd_brown.c:178
#8 0x00007ffff746585d in _try_brown (G=G@entry=0x7fffe4856d90, Abar=Abar@entry=0x0, Bbar=Bbar@entry=0x0, A=A@entry=0x7fff64004cf0, B=B@entry=0x7fffe4856d00, I=I@entry=0x7fffe48567a0,
ctx=0x76ade0 <ratfunc_flint::ctx_wrapper>) at src/fmpz_mpoly_factor/gcd_algo.c:1389
#9 0x00007ffff746b47e in _fmpz_mpoly_gcd_algo_small (G=0x7fffe4856d90, Abar=0x0, Bbar=Bbar@entry=0x0, A=<optimized out>, B=<optimized out>, ctx=ctx@entry=0x76ade0 <ratfunc_flint::ctx_wrapper>, algo=31)
at src/fmpz_mpoly_factor/gcd_algo.c:1700
#10 0x00007ffff74691b3 in _fmpz_mpoly_gcd_algo (G=0x7fffe4856d90, Abar=Abar@entry=0x0, Bbar=Bbar@entry=0x0, A=A@entry=0x7fff64004cf0, B=B@entry=0x7fffe4856d00,
ctx=ctx@entry=0x76ade0 <ratfunc_flint::ctx_wrapper>, algo=31) at src/fmpz_mpoly_factor/gcd_algo.c:1906
#11 0x00007ffff72c23cd in fmpz_mpoly_gcd (G=G@entry=0x7fffe4856d90, A=A@entry=0x7fff64004cf0, B=B@entry=0x7fffe4856d00, ctx=ctx@entry=0x76ade0 <ratfunc_flint::ctx_wrapper>) at src/fmpz_mpoly/gcd.c:43
The crash always happens here
#3 0x00007ffff6f5b987 in _nmod_poly_div (Q=0x7fff64006550, A=0x7fff64001260, lenA=lenA@entry=3, B=0x7fff64001280, lenB=lenB@entry=2, mod=...) at src/nmod_poly/div.c:36
36 GR_MUST_SUCCEED(_gr_poly_div_basecase(Q, A, lenA, B, lenB, ctx));
(gdb) list
31 {
32 gr_ctx_t ctx;
33 _gr_ctx_init_nmod(ctx, &mod);
34
35 if (lenB <= 15 || lenA - lenB <= 15)
36 GR_MUST_SUCCEED(_gr_poly_div_basecase(Q, A, lenA, B, lenB, ctx));
37 else
38 GR_MUST_SUCCEED(_gr_poly_div_newton(Q, A, lenA, B, lenB, ctx));
39 }
40 }
when lenB = 2 and print *b@lenB returns
{9223372036854775836, 1}
also for the crash to happen a special prime is needed, the prime is generated at frame 7, resulting in
mod = {n = 9223372036854775837, ninv = 18446744073709551500, norm = 0}
The prime is the first number in B plus 1.
We can provide instructions how to build the code to reproduce the crash if needed. But looks like some special case is not handled in _gr_poly_div_basecase
Metadata
Metadata
Assignees
Labels
No labels