paulfloyd / freebsd_valgrind

Git repo used to Upstream the FreeBSD Port of Valgrind
GNU General Public License v2.0
15 stars 4 forks source link

drd/tests/std_mutex is failing [clang] #124

Closed paulfloyd closed 4 years ago

paulfloyd commented 4 years ago

Indirectly because of issue #123 I had a GCC built version of this file for a long time. When I build it with clang it generates many errors. Like


Thread 3:
Conflicting load by thread 3 at 0x........ size 4
   at 0x........: std::__1::__thread_specific_ptr<std::__1::__thread_struct>::set_pointer(std::__1::__thread_struct*) (include/c++/v1/thread:201)
   by 0x........: void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, main::$_0> >(void*) (include/c++/v1/thread:286)
   by 0x........: vgDrd_thread_wrapper (drd_pthread_intercepts.c:?)
   by 0x........: (within libpthread-?.?.so)
Allocation context: BSS section of libc++.so.1

Conflicting load by thread 3 at 0x........ size 4
   at 0x........: pthread_setspeci(within libpthread-?.?.so)
   by 0x........: std::__1::__libcpp_tls_set(int, void*) (include/c++/v1/__threading_support:392)
   by 0x........: std::__1::__thread_specific_ptr<std::__1::__thread_struct>::set_pointer(std::__1::__thread_struct*) (include/c++/v1/thread:201)
   by 0x........: void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, main::$_0> >(void*) (include/c++/v1/thread:286)
   by 0x........: vgDrd_thread_wrapper (drd_pthread_intercepts.c:?)
   by 0x........: (within libpthread-?.?.so)
Allocation context: BSS section of libthr.so.3

Conflicting store by thread 3 at 0x........ size 8
   at 0x........: memset (vg_replace_strmem.c:?)
   by 0x........: (within libpthread-?.?.so)
   by 0x........: (within libpthread-?.?.so)
   by 0x........: pthread_setspeci(within libpthread-?.?.so)
   by 0x........: std::__1::__libcpp_tls_set(int, void*) (include/c++/v1/__threading_support:392)
   by 0x........: std::__1::__thread_specific_ptr<std::__1::__thread_struct>::set_pointer(std::__1::__thread_struct*) (include/c++/v1/thread:201)
   by 0x........: void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, main::$_0> >(void*) (include/c++/v1/thread:286)
   by 0x........: vgDrd_thread_wrapper (drd_pthread_intercepts.c:?)
   by 0x........: (within libpthread-?.?.so)
Allocation context: unknown.
paulfloyd commented 4 years ago

Added a few std::mutex suppresssions with this push To https://github.com/paulfloyd/freebsd_valgrind.git 535ffab3f..cc81ac0ec freebsd -> freebsd