irreproducable test fails in freshly built octave
Thorsten Meyer
thorsten.meyier at gmx.de
Sun Dec 7 11:07:08 CST 2008
Jaroslav Hajek wrote:
> On Sat, Dec 6, 2008 at 11:29 PM, Thorsten Meyer <thorsten.meyier at gmx.de> wrote:
>> Hi,
>>
>> in octave freshly built from the mercurial sources (on a debian intel machine) I got the following
>> test fails:
>> src/DLD-FUNCTIONS/svd.cc ............................... PASS 13/15 FAIL 2
>>
>> then I tried the tests in an interactive octave session and could not reproduce them.
>>
>> Then I ran make check again, and this time I got
>> src/DLD-FUNCTIONS/svd.cc ............................... PASS 14/15 FAIL 1
>>
>>
>> with this log entry:
>> ***** test
>> a = single([1, 2, 3; 4, 5, 6]);
>> [u, s, v] = svd (a);
>> assert (u * s * v', a, sqrt (eps('single')));
>> !!!!! test failed
>> assert (u * s * v',a,sqrt (eps ('single'))) expected
>> 1 2 3
>> 4 5 6
>> but got
>> 2.22474 -0.44949 4.22475
>> 6.44949 0.10102 8.44949
>> maximum absolute error 4.89898 exceeds tolerance 0.000345267>>>>> processing
>> /home/thorsten/hg/octave/src/DLD-FUNCTIONS/syl.cc
>>
>> Then in an octave session I get:
>>
>> octave:1> a = single([1, 2, 3; 4, 5, 6]);
>> octave:2> [u, s, v] = svd (a);
>> octave:3> assert (u * s * v', a, sqrt (eps('single')));
>> octave:4> u * s * v'
>> ans =
>>
>> 1.0000 2.0000 3.0000
>> 4.0000 5.0000 6.0000
>>
[...]
> please try rebuilding with
> http://hg.savannah.gnu.org/hgweb/octave/rev/dbe67764e628
>
> although I couldn't reproduce your problem, I discovered and fixed
> uninitialized memory problems in diagonal matrix multiplication
> routines, and your observations appear exactly like that kind of
> problem.
After rebuilding with your patch, the tests pass reproducibly again.
thanks
Thorsten
More information about the Bug-octave
mailing list