clang-18
, instead of clang-16
in the valgrind CI tasks.
clang-18
, instead of clang-16
in the valgrind CI tasks.
The following sections might be updated with supplementary metadata relevant to reviewers and maintainers.
For details see: https://corecheck.dev/bitcoin/bitcoin/pulls/31273.
See the guideline for information on the review process. A summary of reviews will appear here.
better to use clang-18 […] in the valgrind CI tasks
Why only for valgrind
tasks and not e.g. 00_setup_env_native_nowallet_libbitcoinkernel.sh
? To have a wider variety of versions?
Why only for valgrind tasks and not e.g. 00_setup_env_native_nowallet_libbitcoinkernel.sh?
Probably because of the reason listed in 00_setup_env_native_nowallet_libbitcoinkernel.sh
:
Use minimum supported python3.10 (or best-effort 3.11) and clang-16, see doc/dependencies.md
Ah, I guess that’d be #29635.
I only found on Debian Trixie: (possibly fixed with valgrind 3.23?)
0# uname --machine && valgrind --version && clang-19 --version
1x86_64
2valgrind-3.20.0
3Debian clang version 19.1.3 (1)
4Target: x86_64-pc-linux-gnu
5Thread model: posix
6InstalledDir: /usr/lib/llvm-19/bin
02024-11-11T13:31:48.924322Z [tes==12188== Source and destination overlap in memcpy_chk(0x1ffeffca88, 0x1ffeffca84, 8)
1==12188== at 0x484EE22: __memcpy_chk (in /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so)
2==12188== by 0x518D184: memmove (string_fortified.h:36)
3==12188== by 0x518D184: inet_pton6 (inet_pton.c:226)
4==12188== by 0x51A13B7: text_to_binary_address (getaddrinfo.c:917)
5==12188== by 0x51A13B7: gaih_inet (getaddrinfo.c:1168)
6==12188== by 0x51A13B7: getaddrinfo (getaddrinfo.c:2391)
7==12188== by 0x1163BD2: WrappedGetAddrInfo(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool) (./netbase.cpp:63)
8==12188== by 0x116A79A: __invoke_impl<std::vector<CNetAddr, std::allocator<CNetAddr> >, std::vector<CNetAddr, std::allocator<CNetAddr> > (*&)(const std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > &, bool), const std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > &, bool> (invoke.h:61)
9==12188== by 0x116A79A: __invoke_r<std::vector<CNetAddr, std::allocator<CNetAddr> >, std::vector<CNetAddr, std::allocator<CNetAddr> > (*&)(const std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > &, bool), const std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > &, bool> (invoke.h:114)
10==12188== by 0x116A79A: std::_Function_handler<std::vector<CNetAddr, std::allocator<CNetAddr> > (std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool), std::vector<CNetAddr, std::allocator<CNetAddr> > (*)(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool)>::_M_invoke(std::_Any_data const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool&&) (std_function.h:290)
11==12188== by 0x11649EB: operator() (std_function.h:591)
12==12188== by 0x11649EB: LookupIntern(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned int, bool, std::function<std::vector<CNetAddr, std::allocator<CNetAddr> > (std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool)>) (???:164)
13==12188== by 0x116458D: LookupHost(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned int, bool, std::function<std::vector<CNetAddr, std::allocator<CNetAddr> > (std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool)>) (./netbase.cpp:186)
14==12188== by 0x1164DBB: LookupHost(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool, std::function<std::vector<CNetAddr, std::allocator<CNetAddr> > (std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool)>) (./netbase.cpp:191)
15==12188== by 0x5AE734: net_tests::cnetaddr_tostring_canonical_ipv6::test_method() (./test/net_tests.cpp:323)
16==12188== by 0x5ADCE6: net_tests::cnetaddr_tostring_canonical_ipv6_invoker() (./test/net_tests.cpp:276)
17==12188== by 0x22112F: operator() (function_template.hpp:771)
18==12188== by 0x22112F: operator() (execution_monitor.ipp:1395)
19==12188== by 0x22112F: boost::detail::function::function_obj_invoker0<boost::detail::forward, int>::invoke(boost::detail::function::function_buffer&) (function_template.hpp:137)
20==12188== by 0x1C9738: operator() (function_template.hpp:771)
21==12188== by 0x1C9738: do_invoke<boost::shared_ptr<boost::detail::translator_holder_base>, boost::function<int ()> > (execution_monitor.ipp:308)
22==12188== by 0x1C9738: boost::execution_monitor::catch_signals(boost::function<int ()> const&) (execution_monitor.ipp:910)
23==12188==
24{
25 <insert_a_suppression_name_here>
26 Memcheck:Overlap
27 fun:__memcpy_chk
28 fun:memmove
29 fun:inet_pton6
30 fun:text_to_binary_address
31 fun:gaih_inet
32 fun:getaddrinfo
33 fun:_Z18WrappedGetAddrInfoRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEb
34 fun:__invoke_impl<std::vector<CNetAddr, std::allocator<CNetAddr> >, std::vector<CNetAddr, std::allocator<CNetAddr> > (*&)(const std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > &, bool), const std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > &, bool>
35 fun:__invoke_r<std::vector<CNetAddr, std::allocator<CNetAddr> >, std::vector<CNetAddr, std::allocator<CNetAddr> > (*&)(const std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > &, bool), const std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > &, bool>
36 fun:_ZNSt17_Function_handlerIFSt6vectorI8CNetAddrSaIS1_EERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEbEPSC_E9_M_invokeERKSt9_Any_dataSB_Ob
37 fun:operator()
38 fun:_ZL12LookupInternRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEjbSt8functionIFSt6vectorI8CNetAddrSaIS9_EES6_bEE
39 fun:_Z10LookupHostRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEjbSt8functionIFSt6vectorI8CNetAddrSaIS9_EES6_bEE
40 fun:_Z10LookupHostRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEbSt8functionIFSt6vectorI8CNetAddrSaIS9_EES6_bEE
41 fun:_ZN9net_tests32cnetaddr_tostring_canonical_ipv611test_methodEv
42 fun:_ZN9net_testsL40cnetaddr_tostring_canonical_ipv6_invokerEv
43 fun:operator()
44 fun:operator()
45 fun:_ZN5boost6detail8function21function_obj_invoker0INS0_7forwardEiE6invokeERNS1_15function_bufferE
46 fun:operator()
47 fun:do_invoke<boost::shared_ptr<boost::detail::translator_holder_base>, boost::function<int ()> >
48 fun:_ZN5boost17execution_monitor13catch_signalsERKNS_8functionIFivEEE
49}