Boost logo

Boost :

From: John Maddock (john_at_[hidden])
Date: 2006-12-02 13:53:50


Martin Wille wrote:
> Vladimir Prus wrote:
>> Marin,
>> the intel-linux-9.0 failure:
>>
>> http://tinyurl.com/yfq4nj
>>
>> looks like segfault or something like that -- no errors messages, and
>> non-zero return status. Can you run the test manually and
>> tell what's going on?
>
> segfault.
>
> No helpful output from strace.

I'm not sure but it looks to me as though the random lib has a few problems,
I've run the tests on Linux/Itanium and Linux/Xeon using the HP testdrive
machines, and there are (different) failures on both. The logfiles are
attached, but the segfault has the following backtrace:

(gdb) run
Starting program:
/house/maddock/bin.v2/libs/random/test/random_test.test/intel-
linux/debug/random_test
Running 1 test case...
Basic tests for rand48; seeding uses 1 words

Program received signal SIGSEGV, Segmentation fault.
0x083bf73f in __tanq.J ()
(gdb) bt
#0 0x083bf73f in __tanq.J ()
#1 0x0839399a in std::tan (__x=-0.53682426991417537756471137222469281)
    at /usr/include/c++/3.4.6/cmath:416
#2 0x082e01bf in boost::cauchy_distribution<long
double>::operator()<boost::uni
form_01<boost::random::detail::pass_through_engine<boost::rand48>, long
double>
> (this=0xbfe4c8c8, eng=@0xbfe4c8ac)
    at ../../../boost/random/cauchy_distribution.hpp:62
#3 0x082e1ad4 in boost::variate_generator<boost::rand48,
boost::cauchy_distribu
tion<long double> >::operator() (this=0xbfe4c8ac)
    at ../../../boost/random/variate_generator.hpp:100
#4 0x080a782c in instantiate_dist<boost::rand48,
boost::cauchy_distribution<lon
g double> > (urng=@0xbfe4d644, name=0x83d04c0 "cauchy_distribution",
    dist=@0xbfe4cc84) at /house/maddock/libs/random/random_test.cpp:151
#5 0x080a1cb2 in instantiate_real_dist<boost::rand48, long double> (
    urng=@0xbfe4d644) at /house/maddock/libs/random/random_test.cpp:209
#6 0x0806aa0b in destr_detour52 ()
    at /house/maddock/libs/random/random_test.cpp:323
#7 0x0804fbef in instantiate_all ()
    at /house/maddock/libs/random/random_test.cpp:337
#8 0x08051527 in test_main ()
    at /house/maddock/libs/random/random_test.cpp:507
#9 0x082819ae in test_main_caller::operator() (this=0x87aa23c)
    at ../../../boost/test/impl/test_main.ipp:37
#10 0x0838ceec in
boost::unit_test::ut_detail::invoker<boost::unit_test::ut_det-
--Type <return> to continue, or q <return> to quit---
ail::unused>::invoke<test_main_caller> (this=0xbfe557b0, f=@0x87aa23c)
    at ../../../boost/test/utils/callback.hpp:56
#11 0x0838d503 in
boost::unit_test::ut_detail::callback0_impl_t<boost::unit_test
::ut_detail::unused, test_main_caller>::invoke (this=0x87aa238)
    at ../../../boost/test/utils/callback.hpp:89
#12 0x0837c0f8 in
boost::unit_test::callback0<boost::unit_test::ut_detail::unuse
d>::operator() (this=0x87aa060) at
../../../boost/test/utils/callback.hpp:118
#13 0x0839074d in boost::unit_test::(anonymous
namespace)::zero_return_wrapper_t
<boost::unit_test::callback0<boost::unit_test::ut_detail::unused>
>::operator()
(this=0x87aa154) at ../../../boost/test/impl/unit_test_monitor.ipp:41
#14 0x0838d2d6 in
boost::unit_test::ut_detail::invoker<int>::invoke<boost::unit_
test::(anonymous
namespace)::zero_return_wrapper_t<boost::unit_test::callback0<b
oost::unit_test::ut_detail::unused> > > (this=0xbfe55820, f=@0x87aa154)
    at /usr/include/c++/3.4.6/iostream:65536
#15 0x0838d6ea in boost::unit_test::ut_detail::callback0_impl_t<int,
boost::unit
_test::(anonymous
namespace)::zero_return_wrapper_t<boost::unit_test::callback0<
boost::unit_test::ut_detail::unused> > >::invoke (this=0x87aa150)
    at ../../../boost/test/utils/callback.hpp:89
#16 0x0837dba3 in boost::unit_test::callback0<int>::operator() (
    this=0xbfe560b4) at ../../../boost/test/utils/callback.hpp:118
#17 0x0805340b in destr_detour6292 ()
    at ../../../boost/test/impl/execution_monitor.ipp:432
#18 0x08051873 in boost::execution_monitor::execute (this=0x85bbf18,
    F=@0xbfe560b4, catch_system_errors=true, timeout=0)
---Type <return> to continue, or q <return> to quit---
    at ../../../boost/test/impl/execution_monitor.ipp:225
#19 0x08055c84 in
boost::unit_test::unit_test_monitor_t::execute_and_translate
    (this=0x85bbf18, tc=@0x87aa038)
    at ../../../boost/test/impl/unit_test_monitor.ipp:63
#20 0x0837fd1b in boost::unit_test::framework_impl::visit (this=0x85bbc00,
    tc=@0x87aa038) at ../../../boost/test/impl/framework.ipp:135
#21 0x0806189c in boost::unit_test::traverse_test_tree (tc=@0x87aa038,
    V=@0x85bbc00) at ../../../boost/test/impl/unit_test_suite.ipp:154
#22 0x080621a0 in boost::unit_test::traverse_test_tree (id=65536,
    V=@0x85bbc00) at ../../../boost/test/impl/unit_test_suite.ipp:193
#23 0x08061bff in boost::unit_test::traverse_test_tree (suite=@0x87aa1c8,
    V=@0x85bbc00) at ../../../boost/test/impl/unit_test_suite.ipp:168
#24 0x080621d6 in boost::unit_test::traverse_test_tree (id=1, V=@0x85bbc00)
    at ../../../boost/test/impl/unit_test_suite.ipp:195
#25 0x0805ec2b in destr_detour6356 ()
    at ../../../boost/test/impl/framework.ipp:396
#26 0x080613f9 in boost::unit_test::unit_test_main (argc=1, argv=0xbfe568e4)
    at ../../../boost/test/impl/unit_test_main.ipp:61
#27 0x0804e4a6 in main (argc=1, argv=0xbfe568e4)
    at ../../../boost/test/impl/unit_test_main.ipp:99

I can reproduce this with just

#include <cmath>

int main()
{
   long double d = std::tan(-0.53682426991417537756471137222469281L);
   return d;
}

So I'll file a bug report with Intel.

HTH,

John.





Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk