bugGNU Octave - Bugs: bug #32438, Octave crashes in matrix (bigger...

 
 

bug #32438: Octave crashes in matrix (bigger than 51x51) multiplication in Debian GNU/kFreeBSD

Submitter:  None
Submitted:  Sat 12 Feb 2011 04:32:27 PM UTC
   
 
Category:  Interpreter Severity:  3 - Normal
Priority:  5 - Normal Item Group:  Segfault, Bus Error, etc.
Status:  Invalid / Not an Octave Bug Assigned to:  None
Originator Name:  José Luis García Pallero Originator Email:  -email is unavailable-
Open/Closed:  * Closed Release:  * 3.4.0
Operating System:  * BSD Fixed Release:  None
Planned Release:  None
* Mandatory Fields

Add a New Comment Rich Markup
   

Sat 12 Feb 2011 07:41:37 PM UTC, comment #4: 

OK, I'm closing this bug report.

I'm marking it invalid, because the bug is not in Octave.  Maybe we need another status to indicate that more specifically, since there is a bug, it's just not in Octave itself.

The asterisks were eaten by the rich markup feature.  You should always post code snippets in verbatim blocks...

John W. Eaton <jwe>
Group administrator
Sat 12 Feb 2011 07:37:10 PM UTC, comment #3: 

Sorry, but in my previous mail, the line that says

double A[NN],B[NN],C[N*N];

should say

double A[N*N],B[N*N],C[N*N];

José Luis García Pallero <jgpallero>
Sat 12 Feb 2011 07:34:16 PM UTC, comment #2: 

John, you are right. The problem is ATLAS. I can't check the 3.4.0 version because I have no time to recompile it with a reference BLAS, but if I install the Octave 3.2.4 from the Debian kFreeBSD repos and I use only the reference BLAS the error dissapears.

In Debian GNU/kFreeBSD repositories is provided the 3.8.3 version of ATLAS that is the same as in the Debian GNU/Linux repos. But I don't know the reason for the correct behavior in Linux and incorrect in kFreeBSD. I'm not a user of pure FreeBSD system so I don't know if the error is present there. I'll send a message in the ATLAS mailing lists.

Here is a small example in C to check the behavior of ATLAS (modify the #define N line in order to see the results: with 51 runs but with 52 or more crash in Debian GNU/kFreeBSD):

#include<cblas.h>
#define N 52
int main()
{
    double A[N*N],B[N*N],C[N*N];
    cblas_dgemm(CblasColMajor,CblasNoTrans,CblasNoTrans,N,N,N,1.0,A,N,B,N,1.0,C,N);
    return 0;
}

Compiling order: gcc test.c -o test -lcblas

José Luis García Pallero <jgpallero>
Sat 12 Feb 2011 06:29:37 PM UTC, comment #1: 

I would guess that you have a buggy or miscompiled copy of ATLAS, or you have an incorrect version for your hardware.

What happens if you remove

 libatlas3gf-base

?

John W. Eaton <jwe>
Group administrator
Sat 12 Feb 2011 04:32:27 PM UTC, original submission:  

Hello,
I've compiled the 3.4.0 version in my new Debian GNU/kFreeBSD installation. The compilation proccess terminates normally but in make check an error occurs checking the scripts/special-matrix/hadamard.m function. Inspecting in detail, the source of the error is a matrix multiplication.
For matrices larger than 51x51 Octave crashes with a "panic: Illegal instruction -- stopping myself..." message.
For example:

a = randn(51);
a*a;

runs OK, but

a = randn(52);
a*a;

crash the program

This error does not occurs in Debian GNU/Linux with the same version of all libraries. The error occurs too in Octave 3.2.4 from the Debian GNU/kFreeBSD repositories


Here is the details of the installation sent to Debian bug tracker:

Package: octave3.2
Version: 3.2.4-8
Severity: normal


If I try to multiply matrices greater than 51x51 elements the program breaks with the message:

panic: Illegal instruction -- stopping myself...

-- System Information:
Debian Release: wheezy/sid
 APT prefers unstable
 APT policy: (500, 'unstable')
Architecture: kfreebsd-i386 (i686)

Kernel: kFreeBSD 8.1-1-686
Locale: LANG=es_ES.UTF-8, LC_CTYPE=es_ES.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages octave3.2 depends on:
ii  libamd2.2.0         1:3.4.0-2            approximate minimum degree orderin
ii  libarpack2          2.1+parpack96.dfsg-3 Fortran77 subroutines to solve lar
ii  libatlas3gf-base [l 3.8.3-29             Automatically Tuned Linear Algebra
ii  libblas3gf [libblas 1.2-8                Basic Linear Algebra Reference imp
ii  libbz2-1.0          1.0.5-6              high-quality block-sorting file co
ii  libc0.1             2.11.2-11            Embedded GNU C Library: Shared lib
ii  libcamd2.2.0        1:3.4.0-2            symmetric approximate minimum degr
ii  libccolamd2.7.1     1:3.4.0-2            constrained column approximate lib
ii  libcholmod1.7.1     1:3.4.0-2            sparse Cholesky factorization libr
ii  libcolamd2.7.1      1:3.4.0-2            column approximate minimum degree
ii  libcurl3-gnutls     7.21.3-1+b1          Multi-protocol file transfer libra
ii  libcxsparse2.2.3    1:3.4.0-2            concise sparse matrix library (com
ii  libfftw3-3          3.2.2-1              library for computing Fast Fourier
ii  libfltk1.1          1.1.10-4+b1          Fast Light Toolkit - shared librar
ii  libfreetype6        2.4.2-2.1            FreeType 2 font engine, shared lib
ii  libftgl2            2.1.3~rc5-3          library to render text in OpenGL u
ii  libgcc1             1:4.4.5-10           GCC support library
ii  libgfortran3        4.4.5-10             Runtime library for GNU Fortran ap
ii  libgl1-mesa-glx [li 7.7.1-4              A free implementation of the OpenG
ii  libglpk0            4.43-1               linear programming kit with intege
ii  libglu1-mesa [libgl 7.7.1-4              The OpenGL utility library (GLU)
ii  libgomp1            4.4.5-10             GCC OpenMP (GOMP) support library
ii  libgraphicsmagick++ 1.3.12-1+b1          format-independent image processin
ii  libgraphicsmagick3  1.3.12-1+b1          format-independent image processin
ii  libhdf5-serial-1.8. 1.8.4-patch1-2       Hierarchical Data Format 5 (HDF5)
ii  libice6             2:1.0.7-1            X11 Inter-Client Exchange library
ii  libjasper1          1.900.1-7+b1         The JasPer JPEG-2000 runtime libra
ii  libjpeg62           6b1-1                The Independent JPEG Group's JPEG
ii  liblapack3gf [libla 3.3.0-3              library of linear algebra routines
ii  liblcms1            1.18.dfsg-1.2+b3     Color management library
ii  libltdl7            2.2.6b-2             A system independent dlopen wrappe
ii  libncurses5         5.7+20100313-5       shared libraries for terminal hand
ii  libpcre3            8.12-2               Perl 5 Compatible Regular Expressi
ii  libpng12-0          1.2.44-1             PNG library - runtime
ii  libqhull5           2009.1-1             calculate convex hulls and related
ii  libqrupdate1        1.0.1-1+b1           Fast updates of QR and Cholesky de
ii  libreadline6        6.1-3                GNU readline and history libraries
ii  libsm6              2:1.2.0-1            X11 Session Management library
ii  libstdc++6          4.4.5-10             The GNU Standard C++ Library v3
ii  libtiff4            3.9.4-5              Tag Image File Format (TIFF) libra
ii  libumfpack5.4.0     1:3.4.0-2            sparse LU factorization library
ii  libwmf0.2-7         0.2.8.4-6.1+b1       Windows metafile conversion librar
ii  libx11-6            2:1.4.1-4            X11 client-side library
ii  libxext6            2:1.2.0-2            X11 miscellaneous extension librar
ii  libxml2             2.7.8.dfsg-2         GNOME XML library
ii  octave3.2-common    3.2.4-8              architecture-independent files for
ii  texinfo             4.13a.dfsg.1-6       Documentation system for on-line i
ii  zlib1g              1:1.2.3.4.dfsg-3     compression library - runtime

Versions of packages octave3.2 recommends:
ii  gnuplot                       4.4.0-1.1  A command-line driven interactive
ii  libatlas3gf-base              3.8.3-29   Automatically Tuned Linear Algebra

Versions of packages octave3.2 suggests:
pn  octave3.2-doc                 <none>     (no description available)
pn  octave3.2-emacsen             <none>     (no description available)
pn  octave3.2-headers             <none>     (no description available)
pn  octave3.2-htmldoc             <none>     (no description available)
pn  octave3.2-info                <none>     (no description available)

-- no debconf information

Anonymous

 

(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach Files:
   
   
Comment:
   

No files currently attached

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -email is unavailable- added by jgpallero (Posted a comment)
  • -email is unavailable- added by jwe (Posted a comment)
  • -email is unavailable- added by None (Submitted the item)
  •  

    There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.

    Only group members can vote.

     

    Follow 2 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2011-02-12 jwe StatusNone Invalid / Not an Octave Bug
        Open/ClosedOpen Closed

    Back to the top

    Powered by Savane 3.13-caa5.
    Corresponding source code