Boost logo

Boost Users :

Subject: Re: [Boost-users] [1.51] valgrind problem in boost::math::erfc_inv
From: John Maddock (boost.regex_at_[hidden])
Date: 2012-08-28 08:01:01


> after switching to 1.51, I observe that none of the created apps or
> tests can be profiled using valgrind. When using 1.50 there's no problem
> in it.
>
> The issue that valgrind complains is the following:
>
> ==26716== Memcheck, a memory error detector
> ==26716== Copyright (C) 2002-2010, and GNU GPL'd, by Julian Seward et al.
> ==26716== Using Valgrind-3.6.1 and LibVEX; rerun with -h for copyright
> info
> ==26716== Command:
> optiSLang/optiSLang_4_0/kernel/tests/bin/serialize.test/782744749150d7ee13cdc314b59c8e95/serialize
> ==26716==
> terminate called after throwing an instance of
> 'boost::exception_detail::clone_impl<boost::exception_detail::error_info_injector<std::overflow_error>
>>'
> what(): Error in function boost::math::erfc_inv<e>(e, e): Overflow Error
>
> The system is a Fedora 16 powered by kernel 3.4.9-1.fc16.x86_64
>
> Thanks for giving an advice,

The change is that some functions are now called at program startup in order
to force initialization of static const data. Ah hold on, actually there
were no changes at all to Boot.Math between 1.50 and 1.51, the
initialization change happened before that. Obviously these initialization
functions are only called if they're used in the program anyway.

Is the change specific to running under valgrind? If so that would be very
strange.

John.


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net