On Sun, Jun 20, 2010 at 9:30 PM, Howard Chu <h...@symas.com> wrote:
> Howard Chu wrote:
>> The BerkeleyDB library uses blocks of persistent shared memory to store its
>> environment state, which includes arrays of interprocess shared mutexes.
>> Running an app that uses BDB under valgrind/drd gives a ton of "The object at
>> address 0xXXXXXXX is not a mutex." apparently because drd didn't see the
>> mutex_init call. (And it won't see it, because the environment and those
>> mutexes were initialized by some process other than the one being tested.) Is
>> there a way to tell DRD that these mutexes are actually valid, and stop
>> complaining about them?
>
> I changed my test so that the environment initialization occurs in the same
> process as the main test, but valgrind 3.4.1 still gave a bunch of "not a
> mutex" errors. Upgrading to 3.5.0 seems to have fixed that though, so this
> seems to be a solved problem.

You need indeed Valgrind 3.5.0 for proper support of process-shared
mutexes in DRD. More details about the 3.5.0 release can be found in
the Valgrind release notes
(http://valgrind.org/docs/manual/dist.news.html).

Note: if you are using Boost, it's better to use the trunk instead of
version 3.5.0.

Bart.

------------------------------------------------------------------------------
ThinkGeek and WIRED's GeekDad team up for the Ultimate 
GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the 
lucky parental unit.  See the prize list and enter to win: 
http://p.sf.net/sfu/thinkgeek-promo
_______________________________________________
Valgrind-users mailing list
Valgrind-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/valgrind-users

Reply via email to