On Sun, May 30, 2010 at 12:56 AM, Jorge Moraleda <[email protected]> wrote: > On Sat, May 29, 2010 at 10:56 PM, Bart Van Assche <[email protected]> wrote: >> On Sat, May 29, 2010 at 7:00 PM, Jorge Moraleda >> <[email protected]> wrote: >>> >>> I submitted a condition variable not initialized detected with >>> valgrind drd to the boost mailing list, but they report that it is a >>> false alarm: >>> >>> Date: Sat, 29 May 2010 09:29:23 +0400 >>> From: Andrey Semashev <[email protected]> >>> >>> On 05/29/2010 02:06 AM, Jorge Moraleda wrote: >>> > 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). >>> >>> It looks like a false alarm. The condition variable is defined and used >>> by boost::once, and it is initialized statically in the Boost.Thread >>> library. >>> >>> > These are the valgrind error messages: >>> >>> ==27651== condition variable has not been initialized: cond 0x6174420 >>> ==27651== at 0x4C267B9: pthread_cond_broadc...@* >>> (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== >>> [ ... ] >> >> Until version 3.5.0 DRD was complaining about every condition variable >> not initialized by calling pthread_cond_init(). Statically initialized >> condition variables should be handled properly by trunk r11139. Are >> you familiar with building Valgrind from the trunk ? If so, can you >> please test this fix ? > > Those errors were obtained with version 3.6.0 from svn compiled a few > weeks ago. I will download the latest one on Tuesday and try it.
After getting the latest valgrind from svn earlier today and rerunning my program I get the following error at start time (see below) followed by valgrind's termination. (as a sanity check, memcheck has no problem running). I have also upgraded boost log (which I run from svn) and my kernel (debian sid). I have no problem using drd on other programs (see separate message). ==18783== drd, a thread error detector ==18783== Copyright (C) 2006-2010, and GNU GPL'd, by Bart Van Assche. ==18783== Using Valgrind-3.6.0.SVN and LibVEX; rerun with -h for copyright info ==18783== Command: /home/jorge/vc/ripe/bin/features/compute-features ==18783== drd: drd_cond.c:420 (vgDrd_cond_pre_broadcast): Assertion 'DRD_(pthread_cond_initializer)' failed. ==18783== at 0x38018C57: report_and_quit (m_libcassert.c:191) ==18783== by 0x38018E90: vgPlain_assert_fail (m_libcassert.c:265) ==18783== by 0x38002AEB: vgDrd_cond_pre_broadcast (drd_cond.c:420) ==18783== by 0x38001D89: handle_client_request (drd_clientreq.c:359) ==18783== by 0x3805380E: vgPlain_scheduler (scheduler.c:1560) ==18783== by 0x3807CB14: run_a_thread_NORETURN (syswrap-linux.c:94) sched status: running_tid=1 Thread 1: status = VgTs_Runnable ==18783== at 0x4C287B9: pthread_cond_broadc...@* (drd_pthread_intercepts.c:771) ==18783== by 0x679FCD2: ??? (in /opt/boost/boost_1_42_0/stage/lib/libboost_log.so.1.42.0) ==18783== by 0x67DDE85: ??? (in /opt/boost/boost_1_42_0/stage/lib/libboost_log.so.1.42.0) ==18783== by 0x6788BD2: ??? (in /opt/boost/boost_1_42_0/stage/lib/libboost_log.so.1.42.0) Note: see also the FAQ in the source distribution. It contains workarounds to several common problems. In particular, if Valgrind aborted or crashed after identifying problems in your program, there's a good chance that fixing those problems will prevent Valgrind aborting or crashing, especially if it happened in m_mallocfree.c. If that doesn't help, please report this bug to: www.valgrind.org In the bug report, send all the above text, the valgrind version, and what OS and version you are using. Thanks. ------------------------------------------------------------------------------ _______________________________________________ Valgrind-users mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/valgrind-users
