Opened 7 years ago

Closed 7 years ago

#806 closed bug (fixed)

Crash with absFactorize

Reported by: gorzel Owned by: somebody
Priority: major Milestone: 4-2-0 and higher
Component: dontKnow Version: 4-1-0
Keywords: absFactorize, factorize Cc:

Description

We check (online) the geometric irreducibility of a two cuspidal quartic using absFactorize*:

> LIB "absfact.lib";
// ** loaded /usr/local/bin/../share/singular/LIB/absfact.lib (4.0.0.0,Jun_2013)
> ring r0 = 0,(x,y),dp;
> poly H = x^3-21*x^2*y-42*x*y^2-19*y^3+3*x^2+12*x*y+12*y^2+9*x+18*y+27;

With absFactorizeBCG the result is correct:

> def S = absFactorizeBCG(H); setring S; absolute_factors;

// 'absFactorizeBCG' created a ring, in which a list absolute_factors (the
// absolute factors) is stored.
// To access the list of absolute factors, type (if the name S was assigned
// to the return value):
//        setring(S); absolute_factors;
  
[1]:
   _[1]=-1
   _[2]=-x3+21*x2y+42*xy2+19*y3-3*x2-12*xy-12*y2-9*x-18*y-27
[2]:
   1,1
[3]:
   _[1]=(a)
   _[2]=(a)
[4]:
   1

But with absFactorize Singular 4-0-1 ... 4-1-0 crashes:

> setring r0;
> kill S;
> def S = absFactorize(H); setring S; absolute_factors;
Singular : signal 11 (v: 4103):
current line:>>  list p_facts = factorize(p);<<
Segment fault/Bus error occurred at 7ffec36864a0 because of 10206 (r:1502891066)
please inform the authors
trying to restart...
   ? size(`def`) failed
   ? expected size(`bigint`)
   ? expected size(`number`)
   ? expected size(`resolution`)
   ? expected size(`string`)
   ? expected size(`poly`)
   ? expected size(`vector`)
   ? expected size(`ideal`)
   ? expected size(`module`)
   ? expected size(`matrix`)
   ? expected size(`intvec`)
   ? expected size(`intmat`)
   ? expected size(`list`)
   ? expected size(`ring`)
   ? error occurred in or before absfact.lib::smallestProperSimpleFactor line 92: `  int s = size(p_facts[1]);`
   ? expected int-expression. type 'help int;'
   ? leaving absfact.lib::smallestProperSimpleFactor
Auf Wiedersehen.

Take a look at the proc smallestProperSimpleFactor of absfact.lib (analyzed with Singular 4-0-1):

The input and the internal basering just before the crash with factorize is:

p =  x3-21*x2y-42*xy2-19*y3+3*x2+12*xy+12*y2+9*x+18*y+27
ring MPq = (0,a),(x,y),(dp(2),C);
minpoly = (a^3-12/19*a^2-18/19*a-27/19);
Singular : signal 11 (v: 4010):
current line:>>  factorize(p);<<
Segment fault/Bus error occurred at 7fff29f17790 because of 10202 (r:1502746365)
please inform the authors
trying to restart...

If the minimal polynomial were reducible over Q, then it is well known that Singular crashes, but this minimal polynomial is irreducible. (Also checked with gp/pari, the Galois group is S_3.)

> ring ra = 0,a,dp;
> poly mipo = a3-12/19a2-18/19a-27/19;
> factorize (mipo);
[1]:
   _[1]=1/19
   _[2]=19a3-12a2-18a-27
[2]:
   1,1

The given polynomial F is irreducible over this number field, too. If we try factorize on the Toplevel with the same ring MPq as in smallestProperSimpleFactor, then no crash occurs:

> ring raxy = (0,a),(x,y),dp; minpoly = a3-12/19a2-18/19a-27/19;
> poly H = x3-21*x2y-42*xy2-19*y3+3*x2+12*xy+12*y2+9*x+18*y+27;
> factorize (H);
[1]:
   _[1]=1
   _[2]=x3-21*x2y-42*xy2-19*y3+3*x2+12*xy+12*y2+9*x+18*y+27
[2]:
   1,1

Very strange.

Change History (1)

comment:1 Changed 7 years ago by hannes

Resolution: fixed
Status: newclosed
Note: See TracTickets for help on using tickets.