blas error and crash when doing ldivide/rdivide of a scalar by a vector

John W. Eaton jwe at bevo.che.wisc.edu
Sat Jan 12 14:00:38 CST 2008


On 12-Jan-2008, Carlo de Falco wrote:

| --------
| Bug report for Octave 3.0.0 configured for i386-apple-darwin8.9.1
| 
| Description:
| -----------
| 
| octave crashes with the following error:

It doesn't really crash (i.e., exit the application with a segfault or
bus error), does it?  It seems it just gives you an error for
something that should work.

| "Parameter 10 to routine DGEBRD was incorrect
| Mac OS BLAS parameter error in DGEBRD, parameter #0, (unavailable),  
| is 0"
| 
| when issuing a command like
| 
| ones(1,n)\1
| 
| or
| 
| 1/ones(n,1)
| 
| if n >= 741
| 
| while the commands above do not make much sense to me,
| (I guess this should be doing something like computing the pseudoinverse
| of the matrix ones(n,1) but  in my code I actually intended to do a  
| "./" rather than a "/"), I beleive application crashes are considered  
| bugs anyway so I am submitting this report
| 
| I do not have a linux machine with 3.0
| but I tested the same on a box with Fedora 8 and 2.9.19
| I still get an error message:
| 
| "octave:1> 1/ones(,1)
|   ** On entry to DGEBRD parameter number 10 had an illegal value
| error: exception encountered in Fortran subroutine dgelsd_
| error: unrecoverable error in dgelsd
| error: evaluating binary operator `/' near line 1, column 2
| octave:1>"
| 
| but at least octave does not crash in that case.
| Matlab 7.5.0.338 (R2007b) behaves as follows:
| 
|  >> n = 750;
|  >> v = ones(1,n)\1;
|  >> size(v)
| ans =
|     750     1
|  >> find(v)
| ans =
|       1
|  >> v(1)
| ans =
|       1

This problem seems to only happen for sufficiently large values of N.
For example, I see:

  octave:9> ones(1,75)\1
  ans =

     0.013333
     0.013333
     [...]

and

  octave:10> ones(1,750)\1
   ** On entry to DGEBRD parameter number 10 had an illegal value
  error: exception encountered in Fortran subroutine dgelsd_
  error: unrecoverable error in dgelsd
  error: evaluating binary operator `\' near line 10, column 12

For me, the breaking point seems to be N = 116.

Also, DGEBRD is not called directly from Octave, so maybe this is a
bug in LAPACK?

jwe


More information about the Bug-octave mailing list