Source-Changes-D archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: CVS commit: src

On Fri, May 29, 2015 at 04:26:33PM +0200, J. Hannken-Illjes wrote:
> With this change some programs fail with
> 	assertion "pthread__tsd_destructors[key] != NULL" failed
> 	file src/lib/libpthread/pthread_tsd.c", line 169,
> 	function "pthread__add_specific"
> Machine is amd64, 16 cores, KVM host.  Among others "gunzip" fails.
> Reverting this commit removes the failure.

I have seen that with older libc: setting breackpoints on 
pthread_key_create() and pthread_setspecific() shows that malloc()
calls the later without calling the former, which is a bug. It
worked before previously, pthread__tsd_destructors[] was not zero'ed 
and contained random data. I tested filling the array with non NULL 
random data and the assertion is not fired anymore.

More recent libc did not seem to have the problem. How old is yours?
Can you confirm the pthread_key_create()/pthread_setspecific() test?

Emmanuel Dreyfus

Home | Main Index | Thread Index | Old Index