Igor Schein on Wed, 12 Jun 2002 11:07:23 -0400


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

Re: 64bit HPUX binary buggy


On Wed, Jun 12, 2002 at 04:16:06PM +0200, Karim BELABAS wrote:
> On Wed, 12 Jun 2002, Igor Schein wrote:
> 
> > On Wed, Jun 12, 2002 at 02:01:59PM +0200, Karim BELABAS wrote:
> > > On Tue, 11 Jun 2002, Igor Schein wrote:
> > > > I compiled a 64bit gp binary on HPUX 11, but it's badly broken -
> > > > a command as simple as bnfinit(x^2-2) keeps doubling the stack.
> > > > I'd like to debug it, but I need some pointers on where to set
> > > > breakpoints, what to look for, etc.
> [...]
> > nfinit(x^2-2) and other simpler commands work fine and yield the same
> > result as on other 64bit architectures.  It's specifically bnfinit()
> > that is completely shut down.  All diffs in make bench are related to
> > bnfinit() not working.
> 
> Nice... OK, set \g2, run the broken binary, and diff the log with the correct
> one (other 64bit). Where do they diverge ? (if possible try \g3, etc. but you
> will get an enormous amount of useless information from LLL, try to pinpoint
> the precise point where it breaks down).
> 
> Also bnfinit(x^2+1) would not be broken, by any chance ? (much easier to
> debug, no units).

yes, bnfinit(x^2+1) is broken.

I tried it at \g9.  Below the relevant diff portion,
As you can see, the problem starts on "adding vector" line

\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
--- solaris-output      Wed Jun 12 10:52:02 2002
+++ hpux-output Wed Jun 12 10:51:40 2002
@@ -22,7 +22,7 @@
 get_red_G: starting LLL, prec = 4 (4 + 0)
 k = K2
 Time LLL basis: 0
-Time matrix M: 0
+Time matrix M: 10
 Time inverse mod 27449 (stable=0): 0
 Time inverse mod 27457 (stable=1): 0
 Time ZM_inv done: 0
@@ -124,196 +124,32 @@
 
 vperm = Vecsmall([2, 4, 6, 1, 3, 5, 7])
 
-Time sub factorbase (3 elements): 10
+Time sub factorbase (3 elements): 0
 relsup = 5, ss = 4, KCZ = 4, KC = 7, KCCO = 12
 After trivial relations, cglob = 4
-adding vector = 2155177512
+adding vector = -4611686016274382176
 vector in new basis = [2, 0, 0, 0, 0, 0, 0]~
 list = Vecsmall([0, 0, 0, 0, 0, 0, 0])
 base change matrix =
 [1, 0, 0, 0, 0, 0, 0; 0, 1, 0, 0, 0, 0, 0; 0, 0, 1, 0, 0, 0, 0; 0, 0, 0, 1, 0, 0, 0; 0, 0, 0, 0, 1, 0, 0; 0, 0, 0, 0, 0, 1, 0; 0, 0, 0, 0, 0, 0, 1]
-adding vector = 2155177552
+adding vector = -4611686016274382136
 vector in new basis = [0, 1, 1, 0, 0, 0, 0]~
 list = Vecsmall([1, 0, 0, 0, 0, 0, 0])
 base change matrix =
 [1/2, 0, 0, 0, 0, 0, 0; 0, 1, 0, 0, 0, 0, 0; 0, 0, 1, 0, 0, 0, 0; 0, 0, 0, 1, 0, 0, 0; 0, 0, 0, 0, 1, 0, 0; 0, 0, 0, 0, 0, 1, 0; 0, 0, 0, 0, 0, 0, 1]
-adding vector = 2155177592
+adding vector = -4611686016274382096
 vector in new basis = [0, 0, 0, 1, 1, 0, 0]~
 list = Vecsmall([1, 1, 0, 0, 0, 0, 0])
 base change matrix =
 [1/2, 0, 0, 0, 0, 0, 0; 0, 1, 0, 0, 0, 0, 0; 0, -1, 1, 0, 0, 0, 0; 0, 0, 0, 1, 0, 0, 0; 0, 0, 0, 0, 1, 0, 0; 0, 0, 0, 0, 0, 1, 0; 0, 0, 0, 0, 0, 0, 1]
-adding vector = 2155177632
+adding vector = -4611686016274382056
 vector in new basis = [0, 0, 0, 0, 0, 1, 1]~
 list = Vecsmall([1, 1, 0, 1, 0, 0, 0])
 base change matrix =
 [1/2, 0, 0, 0, 0, 0, 0; 0, 1, 0, 0, 0, 0, 0; 0, -1, 1, 0, 0, 0, 0; 0, 0, 0, 1, 0, 0, 0; 0, 0, 0, -1, 1, 0, 0; 0, 0, 0, 0, 0, 1, 0; 0, 0, 0, 0, 0, 0, 1]
 
 #### Looking for 12 relations (small norms)
+  ***   the PARI stack overflows !
+  current stack size: 8000000 (7.629 Mbytes)
+  [hint] you can increase GP stack with allocatemem()
 
-*** Ideal no 7: [17, [4, 1]~, 1, 1, [-4, 1]~]
-k = K2  (7)
-k = K2
-v[1]=34 v[2]=34
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\