Co-authored-by: Pieter Wuille <pieter@wuille.net>
This is a partial backport of core#25284
https://github.com/bitcoin/bitcoin/pull/25284/commits/aaaa3fa9477eef9ea72e4a501d130c57b47b470a
Differential D19054
Replace READWRITEAS macro with AsBase wrapping function Authored by PiRK on Fri, Dec 5, 11:46. Tags None Subscribers None
Details
Co-authored-by: Pieter Wuille <pieter@wuille.net> This is a partial backport of core#25284 ninja all check-all
Diff Detail
Event TimelineComment Actions Build Bitcoin ABC Diffs / Diff Testing (build-without-wallet) failed.
Tail of the build log: [0m[1;30mwallet_txn_clone.py --mineblock | ○ Skipped | 0 s
[0m[1;30mwallet_txn_doublespend.py | ○ Skipped | 0 s
[0m[1;30mwallet_txn_doublespend.py --mineblock | ○ Skipped | 0 s
[0m[1;30mwallet_watchonly.py | ○ Skipped | 0 s
[0m[1;30mwallet_watchonly.py --usecli | ○ Skipped | 0 s
[0m[1m
ALL | ✓ Passed | 1000 s (accumulated)
[0mRuntime: 86 s
[198/501] Building CXX object src/seeder/test/CMakeFiles/test-seeder.dir/message_writer_tests.cpp.o
FAILED: src/seeder/test/CMakeFiles/test-seeder.dir/message_writer_tests.cpp.o
/usr/bin/ccache /usr/bin/c++ -DBOOST_ALL_NO_LIB -DBOOST_NO_CXX98_FUNCTION_BASE -DBUILD_BITCOIN_INTERNAL -DENABLE_AVX2 -DENABLE_SHANI -DENABLE_SSE41 -DHAVE_BUILD_INFO -DHAVE_CONFIG_H -DHAVE_CONSENSUS_LIB -DLEVELDB_ATOMIC_PRESENT -DLEVELDB_PLATFORM_POSIX -DOS_LINUX -I/work/src/. -I/work/abc-ci-builds/build-without-wallet/src -I/work/src/univalue/include -I/work/abc-ci-builds/build-without-wallet/src/crypto/.. -I/work/src/secp256k1/include -I/work/src/leveldb/include -isystem /usr/include/jemalloc -isystem /usr/include/miniupnpc -Werror -g -O2 -fPIE -fvisibility=hidden -fstack-reuse=none -fstack-protector-all -Wstack-protector -fcf-protection=full -fstack-clash-protection -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -Wall -Wextra -Wformat -Wvla -Wcast-align -Wunused-parameter -Wmissing-braces -Wredundant-decls -Wsign-compare -Wduplicated-branches -Wduplicated-cond -Wlogical-op -Wformat-security -Wredundant-move -Woverloaded-virtual -Wno-unused-parameter -Wno-implicit-fallthrough -Wno-psabi -std=gnu++20 -MD -MT src/seeder/test/CMakeFiles/test-seeder.dir/message_writer_tests.cpp.o -MF src/seeder/test/CMakeFiles/test-seeder.dir/message_writer_tests.cpp.o.d -o src/seeder/test/CMakeFiles/test-seeder.dir/message_writer_tests.cpp.o -c /work/src/seeder/test/message_writer_tests.cpp
In file included from /usr/include/c++/12/bits/char_traits.h:46,
from /usr/include/c++/12/string:40,
from /work/src/./crypto/sha256.h:10,
from /work/src/./hash.h:12,
from /work/src/seeder/test/message_writer_tests.cpp:5:
In function ‘constexpr decltype (::new(void*(0)) _Tp) std::construct_at(_Tp*, _Args&& ...) [with _Tp = byte; _Args = {const byte&}]’,
inlined from ‘static constexpr std::_Require<std::__and_<std::__not_<typename std::allocator_traits< <template-parameter-1-1> >::__construct_helper<_Tp, _Args>::type>, std::is_constructible<_Tp, _Args ...> > > std::allocator_traits< <template-parameter-1-1> >::_S_construct(_Alloc&, _Tp*, _Args&& ...) [with _Tp = std::byte; _Args = {const std::byte&}; _Alloc = zero_after_free_allocator<std::byte>]’ at /usr/include/c++/12/bits/alloc_traits.h:263:21,
inlined from ‘static constexpr decltype (std::allocator_traits< <template-parameter-1-1> >::_S_construct(__a, __p, (forward<_Args>)(std::allocator_traits< <template-parameter-1-1> >::construct::__args)...)) std::allocator_traits< <template-parameter-1-1> >::construct(_Alloc&, _Tp*, _Args&& ...) [with _Tp = std::byte; _Args = {const std::byte&}; _Alloc = zero_after_free_allocator<std::byte>]’ at /usr/include/c++/12/bits/alloc_traits.h:364:16,
inlined from ‘constexpr _ForwardIterator std::__uninitialized_copy_a(_InputIterator, _InputIterator, _ForwardIterator, _Allocator&) [with _InputIterator = const byte*; _ForwardIterator = byte*; _Allocator = zero_after_free_allocator<byte>]’ at /usr/include/c++/12/bits/stl_uninitialized.h:352:25,
inlined from ‘constexpr void std::vector<_Tp, _Alloc>::_M_range_insert(iterator, _ForwardIterator, _ForwardIterator, std::forward_iterator_tag) [with _ForwardIterator = const std::byte*; _Tp = std::byte; _Alloc = zero_after_free_allocator<std::byte>]’ at /usr/include/c++/12/bits/vector.tcc:769:34,
inlined from ‘constexpr void std::vector<_Tp, _Alloc>::_M_insert_dispatch(iterator, _InputIterator, _InputIterator, std::__false_type) [with _InputIterator = const std::byte*; _Tp = std::byte; _Alloc = zero_after_free_allocator<std::byte>]’ at /usr/include/c++/12/bits/stl_vector.h:1779:19,
inlined from ‘constexpr std::vector<_Tp, _Alloc>::iterator std::vector<_Tp, _Alloc>::insert(const_iterator, _InputIterator, _InputIterator) [with _InputIterator = const std::byte*; <template-parameter-2-2> = void; _Tp = std::byte; _Alloc = zero_after_free_allocator<std::byte>]’ at /usr/include/c++/12/bits/stl_vector.h:1481:22,
inlined from ‘void DataStream::write(Span<const std::byte>)’ at /work/src/./streams.h:352:19,
inlined from ‘void ser_writedata64(Stream&, uint64_t) [with Stream = CDataStream]’ at /work/src/./serialize.h:83:12,
inlined from ‘void Serialize(Stream&, uint64_t) [with Stream = CDataStream]’ at /work/src/./serialize.h:279:20,
inlined from ‘CDataStream& CDataStream::operator<<(const T&) [with T = long unsigned int]’ at /work/src/./streams.h:413:20,
inlined from ‘void message_writer_tests::simple_header_and_payload_message_writer_test::test_method()’ at /work/src/seeder/test/message_writer_tests.cpp:43:43:
/usr/include/c++/12/bits/stl_construct.h:97:14: error: writing 8 bytes into a region of size 4 [-Werror=stringop-overflow=]
97 | { return ::new((void*)__location) _Tp(std::forward<_Args>(__args)...); }
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/x86_64-linux-gnu/c++/12/bits/c++allocator.h:33,
from /usr/include/c++/12/bits/allocator.h:46,
from /usr/include/c++/12/string:41:
In member function ‘_Tp* std::__new_allocator<_Tp>::allocate(size_type, const void*) [with _Tp = std::byte]’,
inlined from ‘constexpr _Tp* std::allocator< <template-parameter-1-1> >::allocate(std::size_t) [with _Tp = std::byte]’ at /usr/include/c++/12/bits/allocator.h:188:40,
inlined from ‘static constexpr std::allocator_traits< <template-parameter-1-1> >::pointer std::allocator_traits< <template-parameter-1-1> >::allocate(_Alloc&, size_type) [with _Alloc = zero_after_free_allocator<std::byte>]’ at /usr/include/c++/12/bits/alloc_traits.h:318:28,
inlined from ‘constexpr std::_Vector_base<_Tp, _Alloc>::pointer std::_Vector_base<_Tp, _Alloc>::_M_allocate(std::size_t) [with _Tp = std::byte; _Alloc = zero_after_free_allocator<std::byte>]’ at /usr/include/c++/12/bits/stl_vector.h:378:33,
inlined from ‘constexpr std::_Vector_base<_Tp, _Alloc>::pointer std::_Vector_base<_Tp, _Alloc>::_M_allocate(std::size_t) [with _Tp = std::byte; _Alloc = zero_after_free_allocator<std::byte>]’ at /usr/include/c++/12/bits/stl_vector.h:375:7,
inlined from ‘constexpr void std::vector<_Tp, _Alloc>::_M_range_insert(iterator, _ForwardIterator, _ForwardIterator, std::forward_iterator_tag) [with _ForwardIterator = const std::byte*; _Tp = std::byte; _Alloc = zero_after_free_allocator<std::byte>]’ at /usr/include/c++/12/bits/vector.tcc:787:40,
inlined from ‘constexpr void std::vector<_Tp, _Alloc>::_M_insert_dispatch(iterator, _InputIterator, _InputIterator, std::__false_type) [with _InputIterator = const std::byte*; _Tp = std::byte; _Alloc = zero_after_free_allocator<std::byte>]’ at /usr/include/c++/12/bits/stl_vector.h:1779:19,
inlined from ‘constexpr std::vector<_Tp, _Alloc>::iterator std::vector<_Tp, _Alloc>::insert(const_iterator, _InputIterator, _InputIterator) [with _InputIterator = const std::byte*; <template-parameter-2-2> = void; _Tp = std::byte; _Alloc = zero_after_free_allocator<std::byte>]’ at /usr/include/c++/12/bits/stl_vector.h:1481:22,
inlined from ‘void DataStream::write(Span<const std::byte>)’ at /work/src/./streams.h:352:19,
inlined from ‘void ser_writedata32(Stream&, uint32_t) [with Stream = CDataStream]’ at /work/src/./serialize.h:73:12,
inlined from ‘void Serialize(Stream&, int32_t) [with Stream = CDataStream]’ at /work/src/./serialize.h:270:20,
inlined from ‘CDataStream& CDataStream::operator<<(const T&) [with T = int]’ at /work/src/./streams.h:413:20,
inlined from ‘void message_writer_tests::simple_header_and_payload_message_writer_test::test_method()’ at /work/src/seeder/test/message_writer_tests.cpp:43:23:
/usr/include/c++/12/bits/new_allocator.h:137:55: note: destination object of size 4 allocated by ‘operator new’
137 | return static_cast<_Tp*>(_GLIBCXX_OPERATOR_NEW(__n * sizeof(_Tp)));
| ^
cc1plus: all warnings being treated as errors
[212/501] Running bitcoin-qt test suite
PASSED: bitcoin-qt test suite
[223/501] Running pow test suite
PASSED: pow test suite
[486/501] Running bitcoin test suite
PASSED: bitcoin test suite
ninja: build stopped: cannot make progress due to previous errors.
Build build-without-wallet failed with exit code 1Comment Actions looks like this introduces more problems, when I was hoping it could help with D19046 problems. I don't have a strong reason to backport this (or D19046) immediately, it just seemed like a good idea to try to finish that other backport after I grabbed a couple of commits I needed. Comment Actions Build Bitcoin ABC Diffs / Diff Testing (build-diff) failed.
Tail of the build log: [0m[0;32mwallet_watchonly.py | ✓ Passed | 1 s [0m[0;32mwallet_watchonly.py --usecli | ✓ Passed | 1 s [0m[1;30mchronik_avalanche.py | ○ Skipped | 0 s [0m[1;30mchronik_block.py | ○ Skipped | 0 s [0m[1;30mchronik_block_header.py | ○ Skipped | 0 s [0m[1;30mchronik_block_info.py | ○ Skipped | 0 s [0m[1;30mchronik_block_txs.py | ○ Skipped | 0 s [0m[1;30mchronik_blockchain_info.py | ○ Skipped | 0 s [0m[1;30mchronik_blocks.py | ○ Skipped | 0 s [0m[1;30mchronik_chronik_info.py | ○ Skipped | 0 s [0m[1;30mchronik_cors.py | ○ Skipped | 0 s [0m[1;30mchronik_disable_token_index.py | ○ Skipped | 0 s [0m[1;30mchronik_disallow_prune.py | ○ Skipped | 0 s [0m[1;30mchronik_electrum_basic.py | ○ Skipped | 0 s [0m[1;30mchronik_electrum_blockchain.py | ○ Skipped | 0 s [0m[1;30mchronik_lokad_id_group.py | ○ Skipped | 0 s [0m[1;30mchronik_mempool_conflicts.py | ○ Skipped | 0 s [0m[1;30mchronik_mempool_disconnectpool.py | ○ Skipped | 0 s [0m[1;30mchronik_pause.py | ○ Skipped | 0 s [0m[1;30mchronik_plugin_groups.py | ○ Skipped | 0 s [0m[1;30mchronik_plugins.py | ○ Skipped | 0 s [0m[1;30mchronik_plugins_setup.py | ○ Skipped | 0 s [0m[1;30mchronik_raw_tx.py | ○ Skipped | 0 s [0m[1;30mchronik_resync.py | ○ Skipped | 0 s [0m[1;30mchronik_script_confirmed_txs.py | ○ Skipped | 0 s [0m[1;30mchronik_script_history.py | ○ Skipped | 0 s [0m[1;30mchronik_script_unconfirmed_txs.py | ○ Skipped | 0 s [0m[1;30mchronik_script_utxos.py | ○ Skipped | 0 s [0m[1;30mchronik_scripthash.py | ○ Skipped | 0 s [0m[1;30mchronik_serve.py | ○ Skipped | 0 s [0m[1;30mchronik_shutdown.py | ○ Skipped | 0 s [0m[1;30mchronik_spent_by.py | ○ Skipped | 0 s [0m[1;30mchronik_token_alp.py | ○ Skipped | 0 s [0m[1;30mchronik_token_broadcast_txs.py | ○ Skipped | 0 s [0m[1;30mchronik_token_burn.py | ○ Skipped | 0 s [0m[1;30mchronik_token_id_group.py | ○ Skipped | 0 s [0m[1;30mchronik_token_parse_failure.py | ○ Skipped | 0 s [0m[1;30mchronik_token_script_group.py | ○ Skipped | 0 s [0m[1;30mchronik_token_slp_fungible.py | ○ Skipped | 0 s [0m[1;30mchronik_token_slp_mint_vault.py | ○ Skipped | 0 s [0m[1;30mchronik_token_slp_nft1.py | ○ Skipped | 0 s [0m[1;30mchronik_tx.py | ○ Skipped | 0 s [0m[1;30mchronik_tx_removal_order.py | ○ Skipped | 0 s [0m[1;30mchronik_unconfirmed_txs.py | ○ Skipped | 0 s [0m[1;30mchronik_ws.py | ○ Skipped | 0 s [0m[1;30mchronik_ws_avalanche.py | ○ Skipped | 0 s [0m[1;30mchronik_ws_ordering.py | ○ Skipped | 0 s [0m[1;30mchronik_ws_ping.py | ○ Skipped | 0 s [0m[1;30mchronik_ws_script.py | ○ Skipped | 0 s [0m[1;30mfeature_bind_port_discover.py | ○ Skipped | 0 s [0m[1;30mfeature_bind_port_externalip.py | ○ Skipped | 0 s [0m[1;30minterface_usdt_net.py | ○ Skipped | 0 s [0m[1;30minterface_usdt_utxocache.py | ○ Skipped | 0 s [0m[1;30minterface_usdt_validation.py | ○ Skipped | 0 s [0m[1m ALL | ✓ Passed | 1224 s (accumulated) [0mRuntime: 102 s ninja: build stopped: cannot make progress due to previous errors. Build build-diff failed with exit code 1 |