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

 
 

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

Submitted by:  None
Submitted on:  Sat 12 Feb 2011 04:32:27 PM UTC  
 
Category: InterpreterSeverity: 3 - Normal
Priority: 5 - NormalItem Group: Segfault, Bus Error, etc.
Status: InvalidAssigned to: None
Originator Name: José Luis García PalleroOriginator Email: -unavailable-
Open/Closed: ClosedRelease: 3.4.0
Operating System: BSD

Add a New Comment(Rich Markup)
   

You are not logged in

Please log in, so followups can be emailed to you.

 

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>
Project 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[NN],B[NN],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[NN],B[NN],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>
Project 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 File(s):
   
   
Comment:
   

No files currently attached

 

Depends on the following items: None found

Items that depend on this one: None found

 

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

    Do you think this task is very important?
    If so, you can click here to add your encouragement to it.
    This task has 0 encouragements so far.

    Only project members can vote.

     

    Please enter the title of George Orwell's famous dystopian book (it's a date):

     

     

    Follow 2 latest changes.

    Date Changed By Updated Field Previous Value => Replaced By
    Sat 12 Feb 2011 07:41:37 PM UTCjweStatusNone=>Invalid
      Open/ClosedOpen=>Closed

    Back to the top


    Powered by Savane 3.1-cleanup1