This is the default, see https://packages.ubuntu.com/noble/clang, so likely more widely used. Thus, it seems better to use clang-18, instead of clang-16 in the valgrind CI tasks.
ci: Bump valgrind tasks to clang-18 #31273
pull maflcko wants to merge 1 commits into bitcoin:master from maflcko:2411-ci-valgrind-18 changing 2 files +7 −7-
maflcko commented at 3:57 PM on November 11, 2024: member
-
ci: Bump valgrind task to clang-18 faa8ac8e92
-
DrahtBot commented at 3:58 PM on November 11, 2024: contributor
<!--e57a25ab6845829454e8d69fc972939a-->
The following sections might be updated with supplementary metadata relevant to reviewers and maintainers.
<!--006a51241073e994b41acfe9ec718e94-->
Code Coverage & Benchmarks
For details see: https://corecheck.dev/bitcoin/bitcoin/pulls/31273.
<!--021abf342d371248e50ceaed478a90ca-->
Reviews
See the guideline for information on the review process. A summary of reviews will appear here.
- DrahtBot added the label Tests on Nov 11, 2024
-
l0rinc commented at 4:08 PM on November 11, 2024: contributor
better to use clang-18 [...] in the valgrind CI tasks
Why only for
valgrindtasks and not e.g.00_setup_env_native_nowallet_libbitcoinkernel.sh? To have a wider variety of versions? -
fanquake commented at 4:09 PM on November 11, 2024: member
Last time I checked this, this needed additional suppressions (maybe only for aarch64)? Is that no-longer the case?
-
fanquake commented at 4:10 PM on November 11, 2024: member
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
-
maflcko commented at 4:51 PM on November 11, 2024: member
Ah, I guess that'd be #29635.
I only found on Debian Trixie: (possibly fixed with valgrind 3.23?)
# uname --machine && valgrind --version && clang-19 --version x86_64 valgrind-3.20.0 Debian clang version 19.1.3 (1) Target: x86_64-pc-linux-gnu Thread model: posix InstalledDir: /usr/lib/llvm-19/bin2024-11-11T13:31:48.924322Z [tes==12188== Source and destination overlap in memcpy_chk(0x1ffeffca88, 0x1ffeffca84, 8) ==12188== at 0x484EE22: __memcpy_chk (in /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so) ==12188== by 0x518D184: memmove (string_fortified.h:36) ==12188== by 0x518D184: inet_pton6 (inet_pton.c:226) ==12188== by 0x51A13B7: text_to_binary_address (getaddrinfo.c:917) ==12188== by 0x51A13B7: gaih_inet (getaddrinfo.c:1168) ==12188== by 0x51A13B7: getaddrinfo (getaddrinfo.c:2391) ==12188== by 0x1163BD2: WrappedGetAddrInfo(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool) (./netbase.cpp:63) ==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) ==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) ==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) ==12188== by 0x11649EB: operator() (std_function.h:591) ==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) ==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) ==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) ==12188== by 0x5AE734: net_tests::cnetaddr_tostring_canonical_ipv6::test_method() (./test/net_tests.cpp:323) ==12188== by 0x5ADCE6: net_tests::cnetaddr_tostring_canonical_ipv6_invoker() (./test/net_tests.cpp:276) ==12188== by 0x22112F: operator() (function_template.hpp:771) ==12188== by 0x22112F: operator() (execution_monitor.ipp:1395) ==12188== by 0x22112F: boost::detail::function::function_obj_invoker0<boost::detail::forward, int>::invoke(boost::detail::function::function_buffer&) (function_template.hpp:137) ==12188== by 0x1C9738: operator() (function_template.hpp:771) ==12188== by 0x1C9738: do_invoke<boost::shared_ptr<boost::detail::translator_holder_base>, boost::function<int ()> > (execution_monitor.ipp:308) ==12188== by 0x1C9738: boost::execution_monitor::catch_signals(boost::function<int ()> const&) (execution_monitor.ipp:910) ==12188== { <insert_a_suppression_name_here> Memcheck:Overlap fun:__memcpy_chk fun:memmove fun:inet_pton6 fun:text_to_binary_address fun:gaih_inet fun:getaddrinfo fun:_Z18WrappedGetAddrInfoRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEb 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> 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> fun:_ZNSt17_Function_handlerIFSt6vectorI8CNetAddrSaIS1_EERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEbEPSC_E9_M_invokeERKSt9_Any_dataSB_Ob fun:operator() fun:_ZL12LookupInternRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEjbSt8functionIFSt6vectorI8CNetAddrSaIS9_EES6_bEE fun:_Z10LookupHostRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEjbSt8functionIFSt6vectorI8CNetAddrSaIS9_EES6_bEE fun:_Z10LookupHostRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEbSt8functionIFSt6vectorI8CNetAddrSaIS9_EES6_bEE fun:_ZN9net_tests32cnetaddr_tostring_canonical_ipv611test_methodEv fun:_ZN9net_testsL40cnetaddr_tostring_canonical_ipv6_invokerEv fun:operator() fun:operator() fun:_ZN5boost6detail8function21function_obj_invoker0INS0_7forwardEiE6invokeERNS1_15function_bufferE fun:operator() fun:do_invoke<boost::shared_ptr<boost::detail::translator_holder_base>, boost::function<int ()> > fun:_ZN5boost17execution_monitor13catch_signalsERKNS_8functionIFivEEE } - maflcko marked this as a draft on Nov 11, 2024
- maflcko closed this on Nov 12, 2024
- maflcko deleted the branch on Nov 12, 2024
- bitcoin locked this on Nov 12, 2025