octave-maintainers
[Top][All Lists]
Advanced

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

Re: Failure in eigs test with 3.1.54


From: John W. Eaton
Subject: Re: Failure in eigs test with 3.1.54
Date: Thu, 26 Mar 2009 18:33:01 -0400

On 26-Mar-2009, Rafael Laboissiere wrote:

| * Rafael Laboissiere <address@hidden> [2009-03-09 23:14]:
| 
| > When building version 3.1.54-1 of the Debian package octave3.1, I noticed
| > that the eigs.cc tests failed.  I found a minimal code to reproduce the
| > error, in my Debian sid chroot:
| > 
| > $ octave3.1 -q
| > octave3.1:1> n = 20;
| > octave3.1:2> k = 4;
| > octave3.1:3> A = 
sparse([3:n,1:n,1:(n-2)],[1:(n-2),1:n,3:n],[ones(1,n-2),1:n,-ones(1,n-2)]);
| > octave3.1:4>  d0 = eig (A);
| > error: memory exhausted or requested size too large for range of Octave's
| > index type -- trying to return to prompt
| 
| This problem disappeared in 3.1.55. I do not know what was causing it.  I
| just hope it will not show up again in the future.

When I made the snapshot yesterday, my first test build failed with
this error.  The change

  http://hg.savannah.gnu.org/hgweb/octave/rev/728e7943752d

avoided the problem for me, though I really don't see why it should
have made any difference.  Maybe a compiler bug?  I did not see the
error when building without optimization (normally, I use
CXXFLAGS=-ggdb so I can understand what is happening when debugging)
and I was not able to duplicate the problem with a simple Fortran
problem, so I don't think the error is in DGEEV.  The reason for the
allocation error appeared to be that DGEEV was returning an incorrect
workspace requirement, but I'm not sure it was actually doing the
wrong thing.  Instead maybe it was computed correctly but screwed up
by something that was compiled incorrectly?  I did not try to look at
the assembler output to see if that was happening (I don't really read
assembler well enough) and debugging the optimized code wasn't helping
my understanding much.  Removing volatile from the declarations was a
guess that happened to work.

jwe


reply via email to

[Prev in Thread] Current Thread [Next in Thread]