Boost logo

Boost :

Subject: [boost] [log] Condition variable has not been initialized
From: Jorge Moraleda (moraleda_at_[hidden])
Date: 2010-05-28 18:06:38


When testing boost.log for race conditions using valgrind drd, some
non initialized condition variables are reported at initialization
time. I am using Valgrind-3.6.0.SVN and gcc version 4.4.4 (Debian
4.4.4-1).

These are the valgrind error messages:

==27651== condition variable has not been initialized: cond 0x6174420
==27651==    at 0x4C267B9: pthread_cond_broadcast@*
(drd_pthread_intercepts.c:756)
==27651==    by 0x66DBCD2: ??? (in /usr/local/lib/libboost_log.so.1.42.0)
==27651==    by 0x6719E85: ??? (in /usr/local/lib/libboost_log.so.1.42.0)
==27651==    by 0x66C4BD2: ??? (in /usr/local/lib/libboost_log.so.1.42.0)
==27651==    by 0x7FF000561: ???
==27651==    by 0x722F63762F656771: ???
==27651==    by 0x2F6E69622F657068: ???
==27651==    by 0x722F726576726572: ???
==27651==    by 0x767265732D657068: ???
==27651==    by 0x2D2D00772D007264: ???
==27651==    by 0x72635F776F6C6C60: ???
==27651==    by 0x62645F65746164: ???
==27651==
==27651== condition variable has not been initialized: cond 0x6174420
==27651==    at 0x4C267B9: pthread_cond_broadcast@*
(drd_pthread_intercepts.c:756)
==27651==    by 0x66D7F1A:
boost::log_mt_posix::basic_core<char>::get() (in
/usr/local/lib/libboost_log.so.1.42.0)
==27651==    by 0xB5087C:
boost::log_mt_posix::sources::basic_logger<char,
boost::log_mt_posix::sources::severity_logger_mt<util::logging::severity_level>,
boost::log_mt_posix::sources::multi_thread_model<boost::log_mt_posix::aux::light_rw_mutex>
>::basic_logger() (basic_logger.hpp:122)
==27651==    by 0xB4F166:
boost::log_mt_posix::sources::basic_severity_logger<boost::log_mt_posix::sources::basic_logger<char,
boost::log_mt_posix::sources::severity_logger_mt<util::logging::severity_level>,
boost::log_mt_posix::sources::multi_thread_model<boost::log_mt_posix::aux::light_rw_mutex>
>, util::logging::severity_level>::basic_severity_logger()
(severity_feature.hpp:169)
==27651==    by 0xB4DA3D:
boost::log_mt_posix::sources::basic_composite_logger<char,
boost::log_mt_posix::sources::severity_logger_mt<util::logging::severity_level>,
boost::log_mt_posix::sources::multi_thread_model<boost::log_mt_posix::aux::light_rw_mutex>,
boost::mpl::vector1<boost::log_mt_posix::sources::severity<util::logging::severity_level>
> >::basic_composite_logger() (basic_logger.hpp:391)
==27651==    by 0xB4C771:
boost::log_mt_posix::sources::severity_logger_mt<util::logging::severity_level>::severity_logger_mt()
(severity_logger.hpp:77)
==27651==    by 0xB4BA3C:
__static_initialization_and_destruction_0(int, int) (Logging.cpp:35)
==27651==    by 0xB4BAC6: global constructors keyed to
_ZN4util7logging3aux9theLoggerE (Logging.cpp:215)
==27651==    by 0xB58095: ??? (in /home/jorge/vc/ripe/bin/server/ripe-server)
==27651==    by 0x9D3732: ??? (in /home/jorge/vc/ripe/bin/server/ripe-server)
==27651==
==27651== condition variable has not been initialized: cond 0x6174420
==27651==    at 0x4C267B9: pthread_cond_broadcast@*
(drd_pthread_intercepts.c:756)
==27651==    by 0x5F6AD14: ??? (in /usr/local/lib/libboost_thread.so.1.42.0)
==27651==    by 0x5F6AD48: boost::detail::get_current_thread_data()
(in /usr/local/lib/libboost_thread.so.1.42.0)
==27651==    by 0x5F6AD68: boost::detail::find_tss_data(void const*)
(in /usr/local/lib/libboost_thread.so.1.42.0)
==27651==    by 0x5F6ADD8: boost::detail::get_tss_data(void const*)
(in /usr/local/lib/libboost_thread.so.1.42.0)
==27651==    by 0x66D6FAB:
boost::log_mt_posix::basic_core<char>::implementation::init_thread_data()
(in /usr/local/lib/libboost_log.so.1.42.0)
==27651==    by 0x66D7619:
boost::log_mt_posix::basic_core<char>::open_record(boost::log_mt_posix::basic_attribute_set<char>
const&) (in /usr/local/lib/libboost_log.so.1.42.0)
==27651==    by 0x9F5432: boost::log_mt_posix::basic_record<char>
boost::log_mt_posix::sources::basic_logger<char,
boost::log_mt_posix::sources::severity_logger_mt<util::logging::severity_level>,
boost::log_mt_posix::sources::multi_thread_model<boost::log_mt_posix::aux::light_rw_mutex>
>::open_record_unlocked<boost::parameter::aux::tagged_argument<boost::log_mt_posix::keywords::tag::severity,
util::logging::severity_level const>
>(boost::parameter::aux::tagged_argument<boost::log_mt_posix::keywords::tag::severity,
util::logging::severity_level const> const&) (basic_logger.hpp:269)
==27651==    by 0x9F3EDE: boost::log_mt_posix::basic_record<char>
boost::log_mt_posix::sources::basic_severity_logger<boost::log_mt_posix::sources::basic_logger<char,
boost::log_mt_posix::sources::severity_logger_mt<util::logging::severity_level>,
boost::log_mt_posix::sources::multi_thread_model<boost::log_mt_posix::aux::light_rw_mutex>
>, util::logging::severity_level>::open_record_unlocked<boost::parameter::aux::tagged_argument<boost::log_mt_posix::keywords::tag::severity,
util::logging::severity_level const>
>(boost::parameter::aux::tagged_argument<boost::log_mt_posix::keywords::tag::severity,
util::logging::severity_level const> const&)
(severity_feature.hpp:226)
==27651==    by 0x9F2511: boost::log_mt_posix::basic_record<char>
boost::log_mt_posix::sources::basic_composite_logger<char,
boost::log_mt_posix::sources::severity_logger_mt<util::logging::severity_level>,
boost::log_mt_posix::sources::multi_thread_model<boost::log_mt_posix::aux::light_rw_mutex>,
boost::mpl::vector1<boost::log_mt_posix::sources::severity<util::logging::severity_level>
> >::open_record<boost::parameter::aux::tagged_argument<boost::log_mt_posix::keywords::tag::severity,
util::logging::severity_level const>
>(boost::parameter::aux::tagged_argument<boost::log_mt_posix::keywords::tag::severity,
util::logging::severity_level const> const&) (basic_logger.hpp:509)
==27651==    by 0xB4B5DF:
util::logging::init(util::logging::severity_level, std::string const&)
(Logging.cpp:190)
==27651==    by 0xB49DA0: util::logging::init(std::string const&,
std::string const&) (Logging.cpp:96)
==27651==
==27651== condition variable has not been initialized: cond 0x6174420
==27651==    at 0x4C267B9: pthread_cond_broadcast@*
(drd_pthread_intercepts.c:756)
==27651==    by 0x66D8D1A: ??? (in /usr/local/lib/libboost_log.so.1.42.0)
==27651==    by 0x66D9F43:
boost::log_mt_posix::aux::stream_provider<char>::allocate_compound(boost::log_mt_posix::basic_record<char>
const&) (in /usr/local/lib/libboost_log.so.1.42.0)
==27651==    by 0x9F3F72:
boost::log_mt_posix::aux::record_pump<boost::log_mt_posix::sources::severity_logger_mt<util::logging::severity_level>
>::record_pump(boost::log_mt_posix::sources::severity_logger_mt<util::logging::severity_level>&,
boost::log_mt_posix::basic_record<char> const&)
(record_ostream.hpp:293)
==27651==    by 0xB4B5FC:
util::logging::init(util::logging::severity_level, std::string const&)
(record_ostream.hpp:330)
==27651==    by 0xB49DA0: util::logging::init(std::string const&,
std::string const&) (Logging.cpp:96)
==27651==    by 0x9DB05C: util::Configuration::parseCommandLine(int,
char**) (Configuration.hpp:176)
==27651==    by 0x9D6C5C:
ripe_server::Configuration::Configuration(int, char**)
(Configuration.cpp:70)
==27651==    by 0xA48A86: main (posix_main.cpp:94)
==27651==


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