[Pkg-octave-devel] Bug#532656: octave3.2_3.2.0-1(mips/unstable): FTBFS on mips. Segfault in regression test.

Rafael Laboissiere rafael at debian.org
Sat Jun 13 07:15:50 UTC 2009


* Rafael Laboissiere <rafael at debian.org> [2009-06-12 23:09]:

> * John W. Eaton <jwe at jweaton.org> [2009-06-12 13:20]:
> 
> > On 11-Jun-2009, Rafael Laboissiere wrote:
> > | (gdb) bt
> > | #0  0x2e17ae24 in std::num_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > >::_M_insert_float<double> () from /usr/lib/libstdc++.so.6
> > | #1  0x2e17b048 in std::num_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > >::do_put () from /usr/lib/libstdc++.so.6
> > | #2  0x2e18fd44 in std::ostream::_M_insert<double> () from /usr/lib/libstdc++.so.6
> > | #3  0x2b04e65c in operator<< (os=@0x4328b0, pff=<value optimized out>)
> > |     at /usr/include/c++/4.3/ostream:214
> > | #4  0x2b054160 in pr_any_float (fmt=0x2bac0d40, os=@0x4328b0, d=2.2661800709135971, fw=0)
> > |     at pr-output.cc:1394
> > | #5  0x2b055ca4 in pr_complex (os=@0x4328b0, c=<value optimized out>, 
> > |     r_fw=<value optimized out>, i_fw=0, scale=<value optimized out>) at pr-output.cc:1412
> > | #6  0x2b057a98 in octave_print_internal (os=@0x4328b0, c=@0x455cc8) at pr-output.cc:1958
> > 
> > Can you move to this frame and examine the value of C?
> 
> Breakpoint 2, octave_print_internal (os=@0x4328b0, c=@0x455cc8) at pr-output.cc:1958
> 1958		pr_complex (os, c);
> Current language:  auto; currently c++
> (gdb) print c
> $1 = (const Complex &) @0x455cc8: {_M_value = nan(0x7ffffffffffff) + 2.2661800709135971 * I}

The real part should be Inf, not NaN, right?  I discovered that the octave
on mips also hungs for this :

    complex (NaN, 0)
    
So, even if log2 returns a wrong value, the bug happens elsewhere. At any
rate, the following works as expected:

    complex (NaN, NaN)
    complex (0, NaN)
    complex (NaN, Inf)

I am puzzled with this problem and I cannot really debug it, since I am
not versed in GDB.  The bug arises at line 1442 of pr-output.cc, in
function pr_complex():

    pr_imag_float (os, i, i_fw); 

-- 
Rafael





More information about the Pkg-octave-devel mailing list