Karim BELABAS on Thu, 12 Sep 2002 01:00:12 +0200 (MEST)

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

Re: 64bit regression

On Wed, 11 Sep 2002, Igor Schein wrote:

> Hi,
> ? setrand(10);thue(thueinit(x^3+2700*x-12),97);
>   ***   bug in GP (Bus Error), please report
> That's on sparc/solaris.  On alpha/linux it's OK.
> ? setrand(10);thue(thueinit(x^3+2700*x-12),97);
> signal BUS (invalid address alignment) in nf_get_sign at 0x10008374c
> 0x000000010008374c: nf_get_sign+0x00b4: stx     %o0, [%i1]
> (dbx) where
> =>[1] nf_get_sign(0x100bde2f8, 0xffffffff7fffe40c, 0xffffffff7fffe408, 0x7, 0x100be2db8, 0xffffc000), at 0x10008374c
>   [2] inithue(0x100be2e58, 0x3fffffffffff, 0x0, 0x7, 0x3, 0x6), at 0x1002618dc
>   [3] thueinit(0x100be2e10, 0x4, 0x7, 0x100be2e58, 0x1, 0x100432c00), at 0x100263240

OK, so apparently

  setrand(10); thueinit(x^3+2700*x-12);

should trigger the same problem.

The second argument in inithue() [bnf] is an invalid address but that may be
a dbx artefact.

Can you try and debug thueinit up to the call to inithue [lines 479 -- 506] ?

I don't see anything fancy in the code.

If alpha/linux is OK, you'll have a comparison point. Set a breakpoint line 506
and see whether all variables have the same value ('output' the GENs, for the
bnf, output bnf[2], it should be enough).


Karim Belabas                    Tel: (+33) (0)1 69 15 57 48
Dép. de Mathematiques, Bat. 425  Fax: (+33) (0)1 69 15 60 19
Université Paris-Sud             Email: Karim.Belabas@math.u-psud.fr
F-91405 Orsay (France)           http://www.math.u-psud.fr/~belabas/
PARI/GP Home Page: http://www.parigp-home.de/