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