octave-maintainers
[Top][All Lists]
Advanced

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

RE: Seg fault with test_sparse.m


From: Joe Koski
Subject: RE: Seg fault with test_sparse.m
Date: Mon, 21 Aug 2006 14:28:41 -0600
User-agent: Microsoft-Entourage/11.2.5.060620

on 8/21/06 1:00 PM, John W. Eaton at address@hidden wrote:

> On 21-Aug-2006, Joe Koski wrote:
> 
> | > |  assert(save_status && load_status);
> | > | !!!!! test failed
> | > | error: failed: mat5.mat int64
> | > | 
> | > | Apparently related to 64 bit integers? Sorry, I don't know the status of
> Mac
> | > | support for 64 bit integers in OS X 10.4.7. I do know that they don't
> claim
> | > | full 64 bit support yet.
> | > 
> | > Does OS X have 64-bit long long integers?  Search for
> | > HAVE_LONG_LONG_INT=1 and SIZEOF_LONG_LONG=8 in the output from
> | > octave_config_info.
> | > 
> | > jwe
> | 
> | John,
> | 
> | I searched octave_config_info. For HAVE_LONG_LONG_INT, there are two
> | instances of -DHAVE_LONG_LONG_INT=1 in UGLY_DEFS and DEFS. For
> | SIZEOF_LONG_LONG there are again two instances of -DSIZEOF_LONG_LONG=8 in
> | the same two variables (UGLY_DEFS and DEFS). Otherwise, the strings don't
> | occur.
> | 
> | In my config.log for octave-2.9.7, I have
> | 
> | #define HAVE_LONG_LONG_INT 1
> | 
> | several times, and
> | 
> | #define SIZEOF_LONG_LONG 8
> | 
> | also several times.
> | 
> | So apparently, octave thinks that it has 64 bit integer support.
> 
> OK, so then I would expect to be able to save and load int64 values in
> MAT files.  Can you investigate a little more and see precisely what
> test is failing?  I think the test_io script is running the following
> code:
> 
<snip>

John,

I tried testls as follows:

octave:1> testls(0)
error: max_recursion_limit exceeded
error: called from `testls' in file
`/Users/jakoski/Codes/octave_test_files/testls.m'
error: called from `testls' in file
`/Users/jakoski/Codes/octave_test_files/testls.m'

Where the last error message occurs many, many times times. After the run,
there are the files ascii.mat, binary.mat, mat5.mat and mat7.mat in the
local directory, none of which are in an ascii readable format.

When I try testls(1), it fails, with

octave:1> testls(1)
error: failed: mat5.mat int64
error: evaluating if command near line 134, column 7
error: evaluating for command near line 74, column 5
error: evaluating if command near line 64, column 3
error: called from `testls' in file
`/Users/jakoski/Codes/octave_test_files/testls.m'
octave:1> 

Which is apparently the error we see in fntests.log.

Something strange (to me, at least) is going on in testls.m. As a first step
at debugging, I removed the ; from the line a18 =
uint64(floor(10*rand(2,2))); and reran testls(0). I get

octave:1> testls(0)
a18 =

  2  0
  3  0

a18 =

  2  0
  3  0

a18 =

  2  0
  3  0

  ... <many duplicate occurrences> ...

a18 =

  2  0
  3  0

a18 =

  2  0
  3  0

a18 =

  2  0
  3  0

a18 =

  2  0
  3  0

error: max_recursion_limit exceeded
error: called from `testls' in file
`/Users/jakoski/Codes/octave_test_files/testls.m'

Where the "a18 =" occurs over 200 times (I lost count). I don't see any
recursion or looping in that part of testls.m. It appears to be to be a
single assignment of four values to a matrix to me.

Am I missing something? What do I try next?

For the record, my gcc is:

Joe-Koskis-Computer:~/Codes/octave_test_files jakoski$ gcc -v
Using built-in specs.
Target: powerpc-apple-darwin8
Configured with: /private/var/tmp/gcc/gcc-5363.obj~28/src/configure
--disable-checking -enable-werror --prefix=/usr --mandir=/share/man
--enable-languages=c,objc,c++,obj-c++
--program-transform-name=/^[cg][^.-]*$/s/$/-4.0/
--with-gxx-include-dir=/include/c++/4.0.0 --with-slibdir=/usr/lib
--build=powerpc-apple-darwin8 --host=powerpc-apple-darwin8
--target=powerpc-apple-darwin8
Thread model: posix
gcc version 4.0.1 (Apple Computer, Inc. build 5363)


Joe




reply via email to

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