help-octave
[Top][All Lists]
Advanced

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

Re: A Bug With Sparse Matrices?


From: David Bateman
Subject: Re: A Bug With Sparse Matrices?
Date: Tue, 16 Oct 2007 17:23:17 +0200
User-agent: Thunderbird 1.5.0.7 (X11/20060921)

Alan Larkin wrote:
> Should I file a report?
>
>
> function sim(x, y)
>          a = randn(x, 1);
>          b = sparse(x + y);
>          b(1:y, 1:y) = (rand(y) < (repmat(a, 1, y) ./ y))
> endfunction
>
>
> GNU Octave, version 2.1.73 (x86_64-pc-linux-gnu).
> Copyright (C) 2006 John W. Eaton.
> This is free software; see the source code for copying conditions.
> There is ABSOLUTELY NO WARRANTY; not even for MERCHANTIBILITY or
> FITNESS FOR A PARTICULAR PURPOSE.  For details, type `warranty'.
>   
The old octave-forge sparse code has bugs.. In Octave 2.9.15, this gives

b =

Compressed Column Sparse (rows = 10, cols = 10, nnz = 1)

  (10, 8) ->  1

If you want to use sparse matrices in octave then you really have to
upgrade to an Octave 2.9.x version and preferably 2.9.15. The
octave-forge sparse code has been deleted from the octave-forge tree and
won't ever be changed again...

D.

> Additional information about Octave is available at http://www.octave.org.
>
> Please contribute if you find this software useful.
> For more information, visit http://www.octave.org/help-wanted.html
>
> Report bugs to <address@hidden> (but first, please read
> http://www.octave.org/bugs.html to learn how to write a helpful report).
>
> octave:1> sim(10, 10, 1)
> *** glibc detected *** octave: double free or corruption (fasttop): 
> 0x00000000010c4c00 ***
> ======= Backtrace: =========
> /lib/libc.so.6[0x2ab8333154dd]
> /lib/libc.so.6(__libc_free+0x76)[0x2ab8333171c6]
> /usr/libexec/octave/2.1.73/site/oct/x86_64-pc-linux-gnu/octave-forge/sparse.oct(_Z30oct_sparse_Destroy_SuperMatrix11SuperMatrix+0x41)[0x2ab8348cf7a1]
> /usr/libexec/octave/2.1.73/site/oct/x86_64-pc-linux-gnu/octave-forge/sparse.oct(_ZN13octave_sparseD0Ev+0x3f)[0x2ab8348c6dcf]
> /usr/lib64/octave-2.1.73/liboctinterp.so(_ZNSt6vectorI12octave_valueSaIS0_EEaSERKS2_+0x166)[0x2ab830e62356]
> /usr/lib64/octave-2.1.73/liboctinterp.so(_ZN19tree_statement_list4evalEbi+0x15d)[0x2ab83111f1fd]
> /usr/lib64/octave-2.1.73/liboctinterp.so(_ZN20octave_user_function17do_multi_index_opEiRK17octave_value_list+0x5c7)[0x2ab83104ec87]
> /usr/lib64/octave-2.1.73/liboctinterp.so(_ZN20octave_user_function7subsrefERKSsRKSt4listI17octave_value_listSaIS3_EEi+0x2f4)[0x2ab83104df94]
> /usr/lib64/octave-2.1.73/liboctinterp.so(_ZN12octave_value7subsrefERKSsRKSt4listI17octave_value_listSaIS3_EEi+0x99)[0x2ab83101fc09]
> /usr/lib64/octave-2.1.73/liboctinterp.so(_ZN21tree_index_expression6rvalueEi+0x7dd)[0x2ab8311024dd]
> /usr/lib64/octave-2.1.73/liboctinterp.so(_ZN14tree_statement4evalEbib+0x27d)[0x2ab83111ed5d]
> /usr/lib64/octave-2.1.73/liboctinterp.so(_ZN19tree_statement_list4evalEbi+0x145)[0x2ab83111f1e5]
> /usr/lib64/octave-2.1.73/liboctinterp.so(_Z9main_loopRKSs+0x229)[0x2ab830f9d7a9]
> /usr/lib64/octave-2.1.73/liboctinterp.so(octave_main+0xdea)[0x2ab8312af10a]
> /lib/libc.so.6(__libc_start_main+0xf4)[0x2ab8332c65a4]
> octave[0x400729]
> ======= Memory map: ========
> 00400000-00401000 r-xp 00000000 09:09 347793                             
> /usr/bin/octave-2.1.73
> 00500000-00501000 rw-p 00000000 09:09 347793                             
> /usr/bin/octave-2.1.73
> 00501000-0120e000 rw-p 00501000 00:00 0                                  
> [heap]
> 2ab830a89000-2ab830aa4000 r-xp 00000000 09:03 25512                      
> /lib64/ld-2.6.1.so
> 2ab830aa4000-2ab830aa5000 rw-p 2ab830aa4000 00:00 0
> 2ab830ac9000-2ab830b94000 rw-p 2ab830ac9000 00:00 0
> 2ab830ba3000-2ab830ba4000 r--p 0001a000 09:03 25512                      
> /lib64/ld-2.6.1.so
> 2ab830ba4000-2ab830ba5000 rw-p 0001b000 09:03 25512                      
> /lib64/ld-2.6.1.so
> 2ab830ba5000-2ab830bba000 r-xp 00000000 09:03 25563                      
> /lib64/libz.so.1.2.3
> 2ab830bba000-2ab830cba000 ---p 00015000 09:03 25563                      
> /lib64/libz.so.1.2.3
> 2ab830cba000-2ab830cbb000 rw-p 00015000 09:03 25563                      
> /lib64/libz.so.1.2.3
> 2ab830cbb000-2ab8313f0000 r-xp 00000000 09:09 347802 
> /usr/lib64/octave-2.1.73/liboctinterp.so.2.1.73
> 2ab8313f0000-2ab8314ef000 ---p 00735000 09:09 347802 
> /usr/lib64/octave-2.1.73/liboctinterp.so.2.1.73
> 2ab8314ef000-2ab831519000 rw-p 00734000 09:09 347802 
> /usr/lib64/octave-2.1.73/liboctinterp.so.2.1.73
> 2ab831519000-2ab83151b000 rw-p 2ab831519000 00:00 0
> 2ab83151b000-2ab831af1000 r-xp 00000000 09:09 347804 
> /usr/lib64/octave-2.1.73/liboctave.so.2.1.73
> 2ab831af1000-2ab831bf0000 ---p 005d6000 09:09 347804 
> /usr/lib64/octave-2.1.73/liboctave.so.2.1.73
> 2ab831bf0000-2ab831bfb000 rw-p 005d5000 09:09 347804 
> /usr/lib64/octave-2.1.73/liboctave.so.2.1.73
> 2ab831bfb000-2ab831bfd000 rw-p 2ab831bfb000 00:00 0
> 2ab831bfd000-2ab831c55000 r-xp 00000000 09:09 347803 
> /usr/lib64/octave-2.1.73/libcruft.so.2.1.73
> 2ab831c55000-2ab831d54000 ---p 00058000 09:09 347803 
> /usr/lib64/octave-2.1.73/libcruft.so.2.1.73
> 2ab831d54000-2ab831d56000 rw-p 00057000 09:09 347803 
> /usr/lib64/octave-2.1.73/libcruft.so.2.1.73
> 2ab831d56000-2ab831d57000 rw-p 2ab831d56000 00:00 0
> 2ab831d57000-2ab8321a5000 r-xp 00000000 09:09 347607 
> /usr/lib64/lapack/atlas/liblapack.so.0.0.0
> 2ab8321a5000-2ab8322a4000 ---p 0044e000 09:09 347607 
> /usr/lib64/lapack/atlas/liblapack.so.0.0.0
> 2ab8322a4000-2ab8322a8000 rw-p 0044d000 09:09 347607 
> /usr/lib64/lapack/atlas/liblapack.so.0.0.0
> 2ab8322a8000-2ab8323b6000 rw-p 2ab8322a8000 00:00 0
> 2ab8323b6000-2ab8323d4000 r-xp 00000000 09:09 36297 
> /usr/lib64/blas/threaded-atlas/libblas.so.0.0.0
> 2ab8323d4000-2ab8325d3000 ---p 0001e000 09:09 36297 
> /usr/lib64/blas/threaded-atlas/libblas.so.0.0.0
> 2ab8325d3000-2ab8325d4000 r--p 0001d000 09:09 36297 
> /usr/lib64/blas/threaded-atlas/libblas.so.0.0.0
> 2ab8325d4000-2ab8325d5000 rw-p 0001e000 09:09 36297 
> /usr/lib64/blas/threaded-atlas/libblas.so.0.0.0
> 2ab8325d5000-2ab8325d6000 rw-p 2ab8325d5000 00:00 0
> 2ab8325d6000-2ab8326d6000 r-xp 00000000 09:09 346863                     
> /usr/lib64/libfftw3.so.3.1.2
> 2ab8326d6000-2ab8327d5000 ---p 00100000 09:09 346863                     
> /usr/lib64/libfftw3.so.3.1.2
> 2ab8327d5000-2ab8327df000 rw-p 000ff000 09:09 346863                     
> /usr/lib64/libfftw3.so.3.1.2
> 2ab8327df000-2ab832816000 r-xp 00000000 09:03 25550 
> /lib64/libreadline.so.5.panic: Aborted -- stopping myself...
> b =
>
>    0  0  0  0  0  0  0  0  0  0
>    0  0  0  0  0  0  0  0  0  0
>    0  0  0  0  0  0  0  0  0  0
>    0  0  0  0  0  0  0  0  0  0
>    0  0  0  0  0  0  0  0  0  0
>    0  0  0  0  0  0  0  0  0  0
>    0  0  0  0  0  0  0  0  0  0
>    0  0  0  0  0  0  0  0  0  0
>    0  0  0  0  0  0  0  0  0  0
>    0  0  0  0  0  0  0  0  0  1
>
> attempting to save variables to `octave-core'...
> save to `octave-core' complete
> Aborted
>
>
> Using octave-forge-2006.03.17-r1 on Gentoo. Is it more likely an octave-forge 
> issue?
>
> Alan.
> _______________________________________________
> Help-octave mailing list
> address@hidden
> https://www.cae.wisc.edu/mailman/listinfo/help-octave
>
>   


-- 
David Bateman                                address@hidden
Motorola Labs - Paris                        +33 1 69 35 48 04 (Ph) 
Parc Les Algorithmes, Commune de St Aubin    +33 6 72 01 06 33 (Mob) 
91193 Gif-Sur-Yvette FRANCE                  +33 1 69 35 77 01 (Fax) 

The information contained in this communication has been classified as: 

[x] General Business Information 
[ ] Motorola Internal Use Only 
[ ] Motorola Confidential Proprietary



reply via email to

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