Some analysis of starting a Gnome session under valgrind

Kjartan Maraas kmaraas at broadpark.no
Wed Dec 8 09:55:25 UTC 2004


tir, 21,.09.2004 kl. 16.47 -0400, skrev Owen Taylor:
> On Tue, 2004-09-21 at 16:26 -0400, Colin Walters wrote:
> 
> > It's my understanding that ORBit often allocates large buffers and
> > writes the whole thing even after only using a small portion, this works
> > in the CORBA protocol.  You can compile ORBit with some special
> > configure option to make it initialize the buffers.
> > 
> > > - pango read_line raises a strange pthread mutex error:
> > >   pthread_mutex_lock/trylock: mutex has invalid owner
> > >   in pthread_mutex_lock called by pango_read_line from pango_find_map
> > 
> > This one is odd, maybe Owen has an idea.
> 
> Presumably it's the flockfile() funlockfile() calls in that function.
> I can't see anything in this that looks wrong, so it's probably 
> a bad valgrind/libc interaction.
> 
I've been looking at this a bit more and it seems that pango should be
ok. valgrind seems to be mapping flockfile/funlockfile to
pthread_mutex_lock/unlock directly, is this the right thing to do?

pango_read_line() uses flockfile/funlockfile on the stream passed in but
still valgrind complains that a locked mutex is being free'd by way of
fclose() in read_modules() in modules.c:501. Does this suggest a race
between two threads calling these functions maybe?

Cheers
Kjartan




More information about the Fedora-desktop-list mailing list