bugGNU Octave - Bugs: bug #39000, mldivide crashes with DLASD4...

 
 

bug #39000: mldivide crashes with DLASD4 parameter error

Submitted by:  Clemens Buchacher <drizzd>
Submitted on:  Wed 15 May 2013 04:07:23 PM UTC  
 
Category: LibrariesSeverity: 3 - Normal
Priority: 5 - NormalItem Group: Crash
Status: ConfirmedAssigned to: None
Originator Name: Clemens BuchacherOpen/Closed: Open
Release: devOperating System: Microsoft Windows

Add a New Comment (Rich MarkupRich Markup):
   

You are not logged in

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

 

(Jump to the original submission Jump to the original submission)

Sat 11 Jan 2014 08:27:02 PM UTC, comment #9:

I get the same error as the original report with an MXE build of 3.8.0 in a Windows XP VM.

Mike Miller <mtmiller>
Project Member
Sat 18 May 2013 08:25:07 AM UTC, comment #8:

The system is a Core i5-2540M @ 2.60 GHz with Windows 7 64-bit.

I have changed MXE to build gcc 4.8.0 as a cross-compiler, which includes gfortran. So that may also make a difference in terms of floating point arithmetic.

Clemens Buchacher <drizzd>
Fri 17 May 2013 03:17:56 PM UTC, comment #7:

I'm not able to reproduce the problem with the MXE build either.

I do see a message about the matrix being singular, but no error from lapack.

What hardware are you using? I'm running in a virtual box system with Windows 7 installed.

In any case, I guess we should fix the MXE build so that we can overrride XERBLA with our own version so that it doesn't exit.

John W. Eaton <jwe>
Project Administrator
Fri 17 May 2013 01:12:12 PM UTC, comment #6:

I also cannot reproduce on Linux with octave 3.7.3+, lapack 3.4.2.

Clemens Buchacher <drizzd>
Fri 17 May 2013 01:01:00 PM UTC, comment #5:

I did not modify the lapack version in my MXE build. The version is 3.4.2.

In SRC/dlasd8.f there is this code:

CALL DLASD4( K, J, DSIGMA, Z, WORK( IWK1 ), RHO, D( J ),
$ WORK( IWK2 ), INFO )
*

  • If the root finder fails, the computation is terminated.

*
IF( INFO.NE.0 ) THEN
CALL XERBLA( 'DLASD4', -INFO )
RETURN
END IF

And XERBLA seems to print the error message that I am getting. DLASD8 in turn gets called via functions such as zgelsd.

Clemens Buchacher <drizzd>
Wed 15 May 2013 10:17:23 PM UTC, comment #4:

I'm unable to duplicate the problem. Are you using the reference version fo lapack that is included in the MXE-octave build, or replacing it with some other version?

The version of DLASD4 that is used by my MXE-octave build does not appear to do any argument checking. So I don't see where that message is coming from.

Also, Octave doesn't call DLASD4 directly, so if there is an invalid call, it seems that it would be a bug in LAPACK.

John W. Eaton <jwe>
Project Administrator
Wed 15 May 2013 04:47:01 PM UTC, comment #3:

That's because you can't do it in Win32 (at least not in the way you do it under Linux/UNIX). The functions in the BLAS DLL will always resolve xerbla to the symbol present in the BLAS DLL (I believe this is done at link time, when the DLL is created).

Michael Goffioul <goffioul>
Project Member
Wed 15 May 2013 04:32:17 PM UTC, comment #2:

This sounds like the same symptom as bug #38575. The xerbla error handler in liboctave is not overriding the xerbla error handler in the BLAS/LAPACK libraries.

Mike Miller <mtmiller>
Project Member
Wed 15 May 2013 04:09:52 PM UTC, comment #1:

Just to be clear. This crashes Octave, closing the command line window or returning back the cmd shell.

Clemens Buchacher <drizzd>
Wed 15 May 2013 04:07:23 PM UTC, original submission:

With my MXE build of the development branch I get this crash with the attached file.

% crashme.m
xy = load('xy.txt');
x = xy.x;
y = xy.y;
z = x\y;

> crashme

warning: matrix singular to machine precision, rcond = 1.57068e-020

    • On entry to DLASD4 parameter number -1 had an illegal value

Where:

> size(xy.x)

ans =

350 350

> size(xy.y)

ans =

350 1

Does not happen with the 3.6.4 mingw build from the wiki:

> crashme

warning: matrix singular to machine precision, rcond = 8.43218e-021

Clemens Buchacher <drizzd>

 

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

Attach File(s):
   
   
Comment:
   

Attached Files
file #28088:  xy.dat.tar.gz added by drizzd (12kB - application/x-gzip)

 

Depends on the following items: None found

Digest:
   bug dependencies.

 

Carbon-Copy List
  • -unavailable- added by jwe (Posted a comment)
  • -unavailable- added by goffioul (Posted a comment)
  • -unavailable- added by mtmiller (Posted a comment)
  • -unavailable- added by drizzd (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 4 latest changes.

    Date Changed By Updated Field Previous Value => Replaced By
    Sat 11 Jan 2014 08:31:42 PM UTCmtmillerDependencies-=>bugs #36211 is dependent
    Sat 11 Jan 2014 08:27:02 PM UTCmtmillerCategoryNone=>Libraries
      StatusNone=>Confirmed
    Wed 15 May 2013 04:07:23 PM UTCdrizzdAttached File-=>Added xy.dat.tar.gz, #28088

    Back to the top


    Powered by Savane 3.1-cleanup