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