Michael Somos on Tue, 20 Aug 2002 16:07:19 -0400


[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]

gp: series bug


pari-dev,

In the current CVS version is a severe bug in power series. Example :

parisize = 4000000, primelimit = 500000
? 1/x
%1 = 1/x
? polcoeff(%1,-1)
%2 = 1
? polcoeff(%1,-2)
%3 = 0
? polcoeff(%1,-3)
  ***   forbidden  ***   unknown type 32.
? polcoeff(%1,-4)
%4 = 0
? polcoeff(%1,-5)
  ***   the PARI stack overflows !
  current stack size: 4000000 (3.815 Mbytes)
  [hint] you can increase GP stack with allocatemem()

? \v
          GP/PARI CALCULATOR Version 2.2.4 (development CHANGES-1.488)
                 UltraSparc (MicroSparc kernel) 32-bit version
              (readline v2.2 enabled, extended help not available)

I can even get a seg fault :

...
parisize = 4000000, primelimit = 500000
? polcoeff(1/(1-x),-2)

Program received signal SIGSEGV, Segmentation fault.
0x29625c in gcopy (x=0x719df8) at ../src/language/init.c:1305
1305        for (i=0; i<lontyp[tx];  i++) y[i]=x[i];
(gdb) bt
#0  0x29625c in gcopy (x=0x719df8) at ../src/language/init.c:1305
#1  0x169814 in gtoser (x=0x719e10, v=0) at ../src/basemath/gen3.c:2260
...

It seems to me that memory is being clobbered again. Probably in 'gdiv()'.
Shalom, Michael