This is the mail archive of the
libc-help@sourceware.org
mailing list for the glibc project.
valgrind detects invalid writes in _dl_allocate_tls* functions.
- From: PaweÅ Sikora <pluto at agmk dot net>
- To: libc-help at sourceware dot org
- Date: Tue, 27 Oct 2009 11:33:31 +0100
- Subject: valgrind detects invalid writes in _dl_allocate_tls* functions.
hi,
i'm currently testing new toolchain on my application and getting
random sigsegv. the application uses threads for simple background
processing and works fine on earlier gcc-4.3/glibc-2.8/boost.thread triplet.
now on gcc-4.4/glibc-2.10.1/boost.thread valgrind reports such errors:
Invalid write of size 8
at 0x40100F2: _dl_allocate_tls_init (in /lib64/ld-2.10.1.so)
by 0x5992C3C: pthread_create@@GLIBC_2.2.5 (in /lib64/libpthread-2.10.1.so)
by 0x54E0483: boost::thread::start_thread()
(...)
Address 0x12f4ff30 is 0 bytes after a block of size 400 alloc'd
at 0x4C21401: calloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-
linux.so)
by 0x40108FE: _dl_allocate_tls (in /lib64/ld-2.10.1.so)
by 0x5992FD0: pthread_create@@GLIBC_2.2.5 (in /lib64/libpthread-2.10.1.so)
by 0x54E0483: boost::thread::start_thread()
(...)
Invalid write of size 1
at 0x4010105: _dl_allocate_tls_init (in /lib64/ld-2.10.1.so)
by 0x5992C3C: pthread_create@@GLIBC_2.2.5 (in /lib64/libpthread-2.10.1.so)
by 0x54E0483: boost::thread::start_thread()
(...)
Address 0x12f4ff38 is 8 bytes after a block of size 400 alloc'd
at 0x4C21401: calloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-
linux.so)
by 0x40108FE: _dl_allocate_tls (in /lib64/ld-2.10.1.so)
by 0x5992FD0: pthread_create@@GLIBC_2.2.5 (in /lib64/libpthread-2.10.1.so)
by 0x54E0483: boost::thread::start_thread()
(...)
i suppose that something was wrongly compiled by new gcc but i don't know
how to isolate core of the problem. could anyone help me to track this?
thanks in advance.