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

Reply via email to