bugGNU Octave - Bugs: bug #40460, crash multiplying large enough...

 
 

bug #40460: crash multiplying large enough complex matrices

Submitter:  Carnë Draug <carandraug>
Submitted:  Sun 03 Nov 2013 07:00:24 PM UTC
   
 
Category:  Octave Function Severity:  3 - Normal
Priority:  5 - Normal Item Group:  Segfault, Bus Error, etc.
Status:  Works For Me Assigned to:  None
Originator Name:  Open/Closed:  * Closed
Release:  * dev Operating System:  * GNU/Linux
Fixed Release:  None Planned Release:  None
* Mandatory Fields

Add a New Comment Rich Markup
   

Jump to the original submission

Mon 04 Nov 2013 08:05:22 PM UTC, comment #9: 

Mike might be able to speak to this since he does packaging.  In general, I've found both BLAS and LAPACK to be pretty sensitive about which compiler was used to compile them and what options were used at the time of compilation.  I have seen packages in distributions that had subtle problems before.  Only solution I found was either to build the BLAS/LAPACK libraries from scratch or switch (Atlas  or OpenBLAS) or upgrade the distribution.

Rik <rik5>
Group administrator
Mon 04 Nov 2013 07:50:41 PM UTC, comment #8: 

Installing OpenBLAS fixes the problem.

But I'm using the standard BLAS from current Debian stable (wheezy), version "1.2.20110419-5" on amd64. there's nothing weird about it, shouldn't it work? I have reinstalled BLAS but the problem persists. If this is not a bug, should I close it and ask on the help mailing list?

Carnë Draug <carandraug>
Group Member
Mon 04 Nov 2013 06:15:32 PM UTC, comment #7: 

Works correctly with blas64-3.4.2-2.fc19.x86_64

Michael Godfrey <godfrey>
Group Member
Mon 04 Nov 2013 05:32:23 PM UTC, comment #6: 

This seems to point to a problem in the BLAS library you have.  Can you switch to a different BLAS library version for testing?  If you're using BLAS, maybe switch to Atlas or OpenBLAS?

Rik <rik5>
Group administrator
Mon 04 Nov 2013 05:00:22 PM UTC, comment #5: 

This does not make any sense to me. I ran it on gdb and got this:


octave:1> a = rand (91) * i;
octave:2> b = rand (91) * i;
octave:3> a * b;
[New Thread 0x7fffe7e12700 (LWP 8694)]
[New Thread 0x7fffe7611700 (LWP 8695)]

Program received signal SIGILL, Illegal instruction.
[Switching to Thread 0x7fffe7e12700 (LWP 8694)]
0x00007ffff07ab054 in ATL_dupKBmm35_1_1_bX () from /usr/lib/libblas.so.3


Carnë Draug <carandraug>
Group Member
Mon 04 Nov 2013 12:58:42 AM UTC, comment #4: 

Maybe you can run it under gdb and see where the problem is?  Multiplication is so low-level though that it will probably fail outside of Octave in a call to a BLAS or LAPACK function.

Rik <rik5>
Group administrator
Mon 04 Nov 2013 12:34:10 AM UTC, comment #3: 

As far as I know there is nothing non-standard with my setup. It's the same as I've always used before. I only noticed it now because with the new release coming soon, I ran "make check" (usually I only run the tests on the function I'm changing) and I couldn't even finish it.

The test suite runs with octave --no-rc and I can reproduce the previous problem starting octave that way as well. Actually, looking closer at the previous problem, I can also cause it with the following matrix multiplication of complex matrices:


$ octave
warning: X11 DISPLAY environment variable not set
octave:1> a = rand(91) *i;
octave:2> b = rand(91) *i;
octave:3> c = a * b;
panic: Illegal instruction -- stopping myself...
Illegal instruction
carandraug@temple:~$


Carnë Draug <carandraug>
Group Member
Sun 03 Nov 2013 11:23:37 PM UTC, comment #2: 

Works for me too.  Maybe something strange with your local setup?

Rik <rik5>
Group administrator
Sun 03 Nov 2013 07:42:18 PM UTC, comment #1: 

Cannot reproduce here (revision 18096cd30339), works for me with any of netlib blas, atlas, and openblas.

Mike Miller <mtmiller>
Group Member
Sun 03 Nov 2013 07:00:24 PM UTC, original submission:  

The following fails for me building from cset 2ff47214de72:


octave:1> logm (rand(91))
panic: Illegal instruction -- stopping myself...
Illegal instruction


I get the same crash for any matrix bigger than 90x90. I may have something weird on my system that is causing this since a similar line appears on the tests for profile (that's actually how I found out about this. Because of the crash I can't run the test suite).

Running logm line per line, the crash happens in the following line


  s = 2^k * u * s * u';


where K, u and s are


        k              1x1                          8  double
   c    s            100x100                   160000  double
   c    u            100x100                   160000  double


Carnë Draug <carandraug>
Group Member

 

(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 godfrey (Posted a comment)
  • -email is unavailable- added by rik5 (Posted a comment)
  • -email is unavailable- added by mtmiller (Posted a comment)
  • -email is unavailable- added by carandraug (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 3 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2013-11-04 rik5 Open/ClosedOpen Closed
    2013-11-04 carandraug Summarylogm crashes with large enough matrices crash multiplying large enough complex matrices
    2013-11-03 mtmiller StatusNone Works For Me

    Back to the top

    Powered by Savane 3.13-02a9.
    Corresponding source code