[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: moving toward a 3.0 release
From: |
John W. Eaton |
Subject: |
Re: moving toward a 3.0 release |
Date: |
Thu, 28 Sep 2006 11:58:44 -0400 |
On 28-Sep-2006, David Bateman wrote:
| John W. Eaton wrote:
| > On 28-Sep-2006, David Bateman wrote:
| >
| > | Note that 1276 for me is a different line than in the eigs I sent as I
| > | modified the code to use new/delete.. In any case this line is
| > |
| > | double *dr = new double [k + 3];
| > |
| > | for me. However I saw exactly the same issue with
| > |
| > | OCTAVE_LOCAL_BUFFER (double, dr, k + 3);
| > |
| > | Note that the dneupd.f file suggests that dr should be "k+1" in size.
| > | However if I make it that small the crash happens at about the 4th
| > | iteration rather than the 10000-th.
| >
| > I see that the array arguments to dneupd are declared like this:
| >
| > integer iparam(11), ipntr(14)
| > logical select(ncv)
| > Double precision
| > & dr(nev+1) , di(nev+1), resid(n) ,
| > & v(ldv,ncv) , z(ldz,*) , workd(3*n),
| > & workl(lworkl), workev(3*ncv)
| >
| > so maybe enabling bounds checking for this code would provide some
| > pointers (with g77, it is -ffortran-bounds-check or -fbounds-check)?
| >
| > jwe
| >
|
| Its too late here to do that tonight after the 3am finish last night.
| I'll try this tomorrow night.. In any case if eigs isn't ready for
| 2.9.9, tough.. After I think of how long been in my devel/ folder,
| waiting for a 2.9.10 release is trivial..
OK. I did some debugging, but I don't see the fix yet. If I compile
ARPACK with -fbounds-check, I sometimes but unfortunately not always
see this error:
Fortran runtime error: Array reference out of bounds for array 'v', upper
bound of dimension 2 exceeded (in file 'SRC/dnaitr.f', at line 449)
That line is:
call dcopy (n, resid, 1, v(1,j), 1)
with v declared as
double precision v(ldv,k+np)
I inserted a print statement above the call to dcopy and found that
the error happens when k+np is 19 and j is 20.
Also, dnaitr is called from dnaup2, which has the same declaration for
v. But dnaup2 is called by dnaupd, which has the declaration
double precision v(ldv,ncv)
So something about the dimension of this variable seems wrong.
In another case, I saw
Fortran runtime error: Array reference out of bounds for array 'h', upper
bound of dimension 1 exceeded (in file 'SRC/dnapps.f', at line 553)
That line is:
if ( h(j+1,j) .lt. zero ) then
which is in a loop from j = 1 to kev. H is declared as
double precision h(ldh,kev+np)
I don't know what the values were when this failure happened, as I
only saw this error once. Seems bad.
jwe
- Re: moving toward a 3.0 release, (continued)
- Re: moving toward a 3.0 release, John W. Eaton, 2006/09/27
- Re: moving toward a 3.0 release, Søren Hauberg, 2006/09/27
- Re: moving toward a 3.0 release, David Bateman, 2006/09/27
- Re: moving toward a 3.0 release, John W. Eaton, 2006/09/27
- Re: moving toward a 3.0 release, Dmitri A. Sergatskov, 2006/09/27
- Re: moving toward a 3.0 release, David Bateman, 2006/09/27
- Re: moving toward a 3.0 release, Dmitri A. Sergatskov, 2006/09/27
- Re: moving toward a 3.0 release, David Bateman, 2006/09/27
- Re: moving toward a 3.0 release, John W. Eaton, 2006/09/27
- Re: moving toward a 3.0 release, David Bateman, 2006/09/27
- Re: moving toward a 3.0 release,
John W. Eaton <=
- Re: moving toward a 3.0 release, David Bateman, 2006/09/28
- Re: moving toward a 3.0 release, John W. Eaton, 2006/09/28
- Re: moving toward a 3.0 release, Joe Koski, 2006/09/28
- Re: moving toward a 3.0 release, Sebastien Loisel, 2006/09/28
- Re: moving toward a 3.0 release, David Bateman, 2006/09/29
- Re: moving toward a 3.0 release, Joe Koski, 2006/09/29
- arpack/eigs problems (was: Re: moving toward a 3.0 release), John W. Eaton, 2006/09/29
- Re: moving toward a 3.0 release, John W. Eaton, 2006/09/27
- Re: moving toward a 3.0 release, David Bateman, 2006/09/27
- Re: moving toward a 3.0 release, John W. Eaton, 2006/09/27