Page MenuHomePhabricator

rpc: Manage dumptxoutset rollback with RAII class
ClosedPublic

Authored by PiRK on Mon, May 5, 11:27.

Diff Detail

Repository
rABC Bitcoin ABC
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

PiRK requested review of this revision.Mon, May 5, 11:27

Tail of the build log:

[411/583] Linking C static library src/secp256k1/libsecp256k1.a
[412/583] Building CXX object src/wallet/CMakeFiles/wallet.dir/crypter.cpp.o
[413/583] Building CXX object src/wallet/CMakeFiles/wallet.dir/fees.cpp.o
[414/583] Building CXX object src/wallet/CMakeFiles/wallet.dir/load.cpp.o
[415/583] Building CXX object src/wallet/CMakeFiles/wallet.dir/interfaces.cpp.o
[416/583] Building CXX object src/wallet/CMakeFiles/wallet.dir/receive.cpp.o
[417/583] Building CXX object src/wallet/CMakeFiles/wallet.dir/rpc/encrypt.cpp.o
[418/583] Building CXX object src/wallet/CMakeFiles/wallet.dir/rpc/signmessage.cpp.o
[419/583] Building CXX object src/wallet/CMakeFiles/wallet.dir/rpc/util.cpp.o
[420/583] Building CXX object src/wallet/CMakeFiles/wallet.dir/rpc/backup.cpp.o
[421/583] Building CXX object src/wallet/CMakeFiles/wallet.dir/salvage.cpp.o
[422/583] Building CXX object src/wallet/CMakeFiles/wallet.dir/rpcwallet.cpp.o
[423/583] Building CXX object src/wallet/CMakeFiles/wallet.dir/scriptpubkeyman.cpp.o
[424/583] Building CXX object src/wallet/CMakeFiles/wallet.dir/sqlite.cpp.o
[425/583] Building CXX object src/wallet/CMakeFiles/wallet.dir/spend.cpp.o
[426/583] Building CXX object src/wallet/CMakeFiles/wallet.dir/transaction.cpp.o
[427/583] Installing component secp256k1
-- Install configuration: "RelWithDebInfo"
-- Install component: "secp256k1"
-- Installing: /results/artifacts/lib/libsecp256k1.a
-- Installing: /results/artifacts/include/secp256k1.h
-- Installing: /results/artifacts/include/secp256k1_preallocated.h
-- Installing: /results/artifacts/include/secp256k1_recovery.h
-- Installing: /results/artifacts/include/secp256k1_schnorr.h
[428/583] Building CXX object src/wallet/CMakeFiles/wallet.dir/walletutil.cpp.o
[429/583] Linking CXX static library src/libbitcoinconsensus.a
[430/583] Linking C executable src/secp256k1/internal-bench
[431/583] Building CXX object src/wallet/CMakeFiles/wallet.dir/walletdb.cpp.o
[432/583] Building CXX object src/seeder/CMakeFiles/seeder-base.dir/db.cpp.o
[433/583] Building CXX object src/seeder/CMakeFiles/seeder-base.dir/dns.cpp.o
[434/583] Building CXX object src/wallet/CMakeFiles/wallet-tool.dir/wallettool.cpp.o
[435/583] Building CXX object src/seeder/CMakeFiles/seeder-base.dir/bitcoin.cpp.o
[436/583] Linking C executable src/secp256k1/recover-bench
[437/583] Linking C executable src/secp256k1/sign-bench
[438/583] Building CXX object src/wallet/CMakeFiles/wallet.dir/wallet.cpp.o
[439/583] Building CXX object src/seeder/CMakeFiles/seeder-base.dir/options.cpp.o
[440/583] Building CXX object src/iguana/CMakeFiles/iguana.dir/iguana_formatter.cpp.o
[441/583] Building CXX object src/iguana/CMakeFiles/iguana.dir/iguana_interpreter.cpp.o
[442/583] Building CXX object src/iguana/CMakeFiles/iguana.dir/iguana.cpp.o
[443/583] Linking C executable src/secp256k1/ecmult-bench
[444/583] Building CXX object src/seeder/CMakeFiles/bitcoin-seeder.dir/main.cpp.o
[445/583] Linking C executable src/secp256k1/verify-bench
[446/583] Linking CXX static library src/libscript.a
[447/583] Linking CXX static library src/libcommon.a
[448/583] Linking CXX shared library src/libbitcoinconsensus.so.0.31.2
[449/583] Creating library symlink src/libbitcoinconsensus.so.0 src/libbitcoinconsensus.so
[450/583] Linking CXX executable src/bitcoin-cli
[451/583] Linking CXX executable src/iguana/iguana
[452/583] Linking CXX executable src/bitcoin-tx
[453/583] Linking CXX static library src/wallet/libwallet.a
[454/583] Building CXX object src/CMakeFiles/server.dir/rpc/blockchain.cpp.o
FAILED: src/CMakeFiles/server.dir/rpc/blockchain.cpp.o 
/usr/bin/ccache /usr/bin/clang++ -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/leveldb/helpers/memenv -I/work/src/. -I/work/abc-ci-builds/build-clang/src -I/work/src/univalue/include -I/work/abc-ci-builds/build-clang/src/crypto/.. -I/work/src/secp256k1/include -I/work/src/leveldb/include -isystem /usr/include/jemalloc -isystem /usr/include/miniupnpc -Werror -g -O2 -fPIC -fvisibility=hidden -fstack-protector-all -Wstack-protector -fcf-protection=full -fstack-clash-protection -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -Wall -Wextra -Wformat -Wgnu -Wvla -Wcast-align -Wunused-parameter -Wmissing-braces -Wthread-safety -Wrange-loop-analysis -Wredundant-decls -Wunreachable-code-loop-increment -Wsign-compare -Wconditional-uninitialized -Wdocumentation -Wformat-security -Wredundant-move -Woverloaded-virtual -Wshadow -Wshadow-field -Wno-unused-parameter -Wno-implicit-fallthrough -Wno-psabi -std=gnu++17 -MD -MT src/CMakeFiles/server.dir/rpc/blockchain.cpp.o -MF src/CMakeFiles/server.dir/rpc/blockchain.cpp.o.d -o src/CMakeFiles/server.dir/rpc/blockchain.cpp.o -c /work/src/rpc/blockchain.cpp
/work/src/rpc/blockchain.cpp:2677:33: error: field 'm_avalanche' will be initialized after field 'm_invalidate_index' [-Werror,-Wreorder-ctor]
        : m_chainman(chainman), m_avalanche(avalanche),
                                ^~~~~~~~~~~~~~~~~~~~~~
                                m_invalidate_index(index)
1 error generated.
ninja: build stopped: cannot make progress due to previous errors.
Build build-clang failed with exit code 1

Tail of the build log:

[396/581] Building CXX object src/CMakeFiles/bitcoin-tx.dir/bitcoin-tx.cpp.o
[397/581] Linking CXX executable src/bitcoin-tx
[398/581] Building CXX object src/CMakeFiles/bitcoind.dir/bitcoind.cpp.o
[399/581] Building CXX object src/test/CMakeFiles/testutil.dir/util/logging.cpp.o
[400/581] Building CXX object src/test/CMakeFiles/testutil.dir/util/blockindex.cpp.o
[401/581] Building CXX object src/CMakeFiles/server.dir/wallet/init.cpp.o
[402/581] Building CXX object src/test/CMakeFiles/testutil.dir/util/coins.cpp.o
[403/581] Building CXX object src/test/CMakeFiles/testutil.dir/util/str.cpp.o
[404/581] Building CXX object src/CMakeFiles/bitcoin-wallet.dir/bitcoin-wallet.cpp.o
[405/581] Building CXX object src/CMakeFiles/server.dir/validation.cpp.o
[406/581] Building CXX object src/test/CMakeFiles/testutil.dir/util/random.cpp.o
[407/581] Building CXX object src/test/CMakeFiles/testutil.dir/util/transaction_utils.cpp.o
[408/581] Building CXX object src/CMakeFiles/server.dir/rpc/misc.cpp.o
[409/581] Building CXX object src/test/CMakeFiles/testutil.dir/util/net.cpp.o
[410/581] Building CXX object src/test/CMakeFiles/testutil.dir/util/blockfilter.cpp.o
[411/581] Building CXX object src/wallet/CMakeFiles/wallet.dir/context.cpp.o
[412/581] Building CXX object src/wallet/CMakeFiles/wallet.dir/bdb.cpp.o
[413/581] Building CXX object src/wallet/CMakeFiles/wallet.dir/coinselection.cpp.o
[414/581] Building CXX object src/test/CMakeFiles/testutil.dir/util/mining.cpp.o
[415/581] Building CXX object src/wallet/CMakeFiles/wallet.dir/coincontrol.cpp.o
[416/581] Building CXX object src/wallet/CMakeFiles/wallet.dir/db.cpp.o
[417/581] Building CXX object src/wallet/CMakeFiles/wallet.dir/crypter.cpp.o
[418/581] Building CXX object src/test/CMakeFiles/testutil.dir/util/txmempool.cpp.o
[419/581] Building CXX object src/test/CMakeFiles/testutil.dir/util/validation.cpp.o
[420/581] Building CXX object src/CMakeFiles/server.dir/rpc/net.cpp.o
[421/581] Building CXX object src/test/CMakeFiles/testutil.dir/util/wallet.cpp.o
[422/581] Building CXX object src/CMakeFiles/server.dir/rpc/mining.cpp.o
[423/581] Building CXX object src/wallet/CMakeFiles/wallet.dir/fees.cpp.o
[424/581] Building CXX object src/wallet/CMakeFiles/wallet.dir/load.cpp.o
[425/581] Building CXX object src/wallet/CMakeFiles/wallet.dir/receive.cpp.o
[426/581] Building CXX object src/CMakeFiles/server.dir/rpc/avalanche.cpp.o
[427/581] Building CXX object src/CMakeFiles/server.dir/rpc/rawtransaction.cpp.o
[428/581] Building CXX object src/wallet/CMakeFiles/wallet.dir/interfaces.cpp.o
[429/581] Building CXX object src/wallet/CMakeFiles/wallet.dir/rpc/signmessage.cpp.o
[430/581] Building CXX object src/wallet/CMakeFiles/wallet.dir/rpc/encrypt.cpp.o
[431/581] Building CXX object src/wallet/CMakeFiles/wallet.dir/sqlite.cpp.o
[432/581] Building CXX object src/wallet/CMakeFiles/wallet.dir/salvage.cpp.o
[433/581] Building CXX object src/wallet/CMakeFiles/wallet.dir/rpc/util.cpp.o
[434/581] Building CXX object src/wallet/CMakeFiles/wallet.dir/rpc/backup.cpp.o
[435/581] Building CXX object src/wallet/CMakeFiles/wallet.dir/transaction.cpp.o
[436/581] Building CXX object src/seeder/CMakeFiles/seeder-base.dir/dns.cpp.o
[437/581] Building CXX object src/wallet/CMakeFiles/wallet.dir/scriptpubkeyman.cpp.o
[438/581] Building CXX object src/wallet/CMakeFiles/wallet.dir/rpcwallet.cpp.o
[439/581] Building CXX object src/wallet/CMakeFiles/wallet.dir/walletutil.cpp.o
[440/581] Building CXX object src/iguana/CMakeFiles/iguana.dir/iguana_formatter.cpp.o
[441/581] Building CXX object src/seeder/CMakeFiles/seeder-base.dir/db.cpp.o
[442/581] Building CXX object src/seeder/CMakeFiles/seeder-base.dir/options.cpp.o
[443/581] Building CXX object src/iguana/CMakeFiles/iguana.dir/iguana_interpreter.cpp.o
[444/581] Building CXX object src/iguana/CMakeFiles/iguana.dir/iguana.cpp.o
[445/581] Linking CXX executable src/iguana/iguana
[446/581] Building CXX object src/seeder/CMakeFiles/bitcoin-seeder.dir/main.cpp.o
[447/581] Building CXX object src/test/CMakeFiles/testutil.dir/util/setup_common.cpp.o
[448/581] Building CXX object src/wallet/CMakeFiles/wallet.dir/spend.cpp.o
[449/581] Building CXX object src/wallet/CMakeFiles/wallet.dir/walletdb.cpp.o
[450/581] Building CXX object src/wallet/CMakeFiles/wallet-tool.dir/wallettool.cpp.o
[451/581] Building CXX object src/seeder/CMakeFiles/seeder-base.dir/bitcoin.cpp.o
[452/581] Building CXX object src/wallet/CMakeFiles/wallet.dir/wallet.cpp.o
[453/581] Linking CXX static library src/wallet/libwallet.a
ninja: build stopped: cannot make progress due to previous errors.
Build build-clang-tidy failed with exit code 1

Tail of the build log:

[410/583] Building CXX object src/wallet/CMakeFiles/wallet.dir/coincontrol.cpp.o
[411/583] Building CXX object src/wallet/CMakeFiles/wallet.dir/context.cpp.o
[412/583] Building CXX object src/wallet/CMakeFiles/wallet.dir/coinselection.cpp.o
[413/583] Building CXX object src/wallet/CMakeFiles/wallet.dir/db.cpp.o
[414/583] Building CXX object src/wallet/CMakeFiles/wallet.dir/crypter.cpp.o
[415/583] Building CXX object src/wallet/CMakeFiles/wallet.dir/fees.cpp.o
[416/583] Building CXX object src/wallet/CMakeFiles/wallet.dir/interfaces.cpp.o
[417/583] Building CXX object src/wallet/CMakeFiles/wallet.dir/load.cpp.o
[418/583] Building CXX object src/test/CMakeFiles/testutil.dir/util/txmempool.cpp.o
[419/583] Building CXX object src/wallet/CMakeFiles/wallet.dir/receive.cpp.o
[420/583] Building CXX object src/wallet/CMakeFiles/wallet.dir/rpc/backup.cpp.o
[421/583] Building CXX object src/wallet/CMakeFiles/wallet.dir/rpc/encrypt.cpp.o
[422/583] Building CXX object src/wallet/CMakeFiles/wallet.dir/rpc/util.cpp.o
[423/583] Building CXX object src/wallet/CMakeFiles/wallet.dir/rpcwallet.cpp.o
[424/583] Building CXX object src/wallet/CMakeFiles/wallet.dir/rpc/signmessage.cpp.o
[425/583] Building CXX object src/wallet/CMakeFiles/wallet.dir/salvage.cpp.o
[426/583] Building CXX object src/wallet/CMakeFiles/wallet.dir/scriptpubkeyman.cpp.o
[427/583] Building CXX object src/wallet/CMakeFiles/wallet.dir/sqlite.cpp.o
[428/583] Building CXX object src/wallet/CMakeFiles/wallet.dir/spend.cpp.o
[429/583] Building CXX object src/wallet/CMakeFiles/wallet.dir/transaction.cpp.o
[430/583] Building CXX object src/wallet/CMakeFiles/wallet.dir/wallet.cpp.o
[431/583] Building CXX object src/wallet/CMakeFiles/wallet.dir/walletutil.cpp.o
[432/583] Building CXX object src/wallet/CMakeFiles/wallet.dir/walletdb.cpp.o
[433/583] Building CXX object src/wallet/CMakeFiles/wallet-tool.dir/wallettool.cpp.o
[434/583] Building CXX object src/seeder/CMakeFiles/seeder-base.dir/db.cpp.o
[435/583] Building CXX object src/seeder/CMakeFiles/seeder-base.dir/dns.cpp.o
[436/583] Building CXX object src/seeder/CMakeFiles/seeder-base.dir/options.cpp.o
[437/583] Building CXX object src/seeder/CMakeFiles/bitcoin-seeder.dir/main.cpp.o
[438/583] Building CXX object src/iguana/CMakeFiles/iguana.dir/iguana.cpp.o
[439/583] Building CXX object src/iguana/CMakeFiles/iguana.dir/iguana_formatter.cpp.o
[440/583] Building CXX object src/iguana/CMakeFiles/iguana.dir/iguana_interpreter.cpp.o
[441/583] Building CXX object src/test/CMakeFiles/testutil.dir/util/validation.cpp.o
[442/583] Linking CXX executable src/iguana/iguana
[443/583] Linking CXX static library src/wallet/libwallet.a
[444/583] Building CXX object src/seeder/CMakeFiles/seeder-base.dir/bitcoin.cpp.o
[445/583] Building CXX object src/CMakeFiles/server.dir/node/interfaces.cpp.o
[446/583] Building CXX object src/CMakeFiles/server.dir/rest.cpp.o
[447/583] Building CXX object src/CMakeFiles/server.dir/rpc/net.cpp.o
[448/583] Building CXX object src/CMakeFiles/server.dir/rpc/misc.cpp.o
[449/583] Building CXX object src/test/CMakeFiles/testutil.dir/util/setup_common.cpp.o
[450/583] Building CXX object src/CMakeFiles/server.dir/rpc/mining.cpp.o
[451/583] Building CXX object src/CMakeFiles/server.dir/init.cpp.o
[452/583] Building CXX object src/CMakeFiles/server.dir/rpc/rawtransaction.cpp.o
[453/583] Building CXX object src/CMakeFiles/server.dir/rpc/avalanche.cpp.o
[454/583] Building CXX object src/CMakeFiles/server.dir/rpc/blockchain.cpp.o
FAILED: src/CMakeFiles/server.dir/rpc/blockchain.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/leveldb/helpers/memenv -I/work/src/. -I/work/abc-ci-builds/build-diff/src -I/work/src/univalue/include -I/work/abc-ci-builds/build-diff/src/crypto/.. -I/work/src/secp256k1/include -I/work/src/leveldb/include -isystem /usr/include/jemalloc -isystem /usr/include/miniupnpc -Werror -g -O2 -fPIC -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++17 -MD -MT src/CMakeFiles/server.dir/rpc/blockchain.cpp.o -MF src/CMakeFiles/server.dir/rpc/blockchain.cpp.o.d -o src/CMakeFiles/server.dir/rpc/blockchain.cpp.o -c /work/src/rpc/blockchain.cpp
/work/src/rpc/blockchain.cpp: In constructor ‘TemporaryRollback::TemporaryRollback(ChainstateManager&, avalanche::Processor*, const CBlockIndex&)’:
/work/src/rpc/blockchain.cpp:2671:33: error: ‘TemporaryRollback::m_avalanche’ will be initialized after [-Werror=reorder]
 2671 |     avalanche::Processor *const m_avalanche;
      |                                 ^~~~~~~~~~~
/work/src/rpc/blockchain.cpp:2670:24: error:   ‘const CBlockIndex& TemporaryRollback::m_invalidate_index’ [-Werror=reorder]
 2670 |     const CBlockIndex &m_invalidate_index;
      |                        ^~~~~~~~~~~~~~~~~~
/work/src/rpc/blockchain.cpp:2674:5: error:   when initialized here [-Werror=reorder]
 2674 |     TemporaryRollback(ChainstateManager &chainman,
      |     ^~~~~~~~~~~~~~~~~
cc1plus: all warnings being treated as errors
ninja: build stopped: cannot make progress due to previous errors.
Build build-diff failed with exit code 1

Tail of the build log:

[410/583] Building CXX object src/wallet/CMakeFiles/wallet.dir/coinselection.cpp.o
[411/583] Building CXX object src/wallet/CMakeFiles/wallet.dir/context.cpp.o
[412/583] Building CXX object src/test/CMakeFiles/testutil.dir/util/txmempool.cpp.o
[413/583] Building CXX object src/wallet/CMakeFiles/wallet.dir/crypter.cpp.o
[414/583] Building CXX object src/wallet/CMakeFiles/wallet.dir/db.cpp.o
[415/583] Building CXX object src/wallet/CMakeFiles/wallet.dir/fees.cpp.o
[416/583] Building CXX object src/wallet/CMakeFiles/wallet.dir/interfaces.cpp.o
[417/583] Linking CXX executable src/bitcoin-tx
[418/583] Building CXX object src/wallet/CMakeFiles/wallet.dir/load.cpp.o
[419/583] Building CXX object src/wallet/CMakeFiles/wallet.dir/receive.cpp.o
[420/583] Building CXX object src/wallet/CMakeFiles/wallet.dir/rpcwallet.cpp.o
[421/583] Building CXX object src/wallet/CMakeFiles/wallet.dir/rpc/encrypt.cpp.o
[422/583] Building CXX object src/wallet/CMakeFiles/wallet.dir/rpc/backup.cpp.o
[423/583] Building CXX object src/wallet/CMakeFiles/wallet.dir/rpc/signmessage.cpp.o
[424/583] Building CXX object src/wallet/CMakeFiles/wallet.dir/rpc/util.cpp.o
[425/583] Building CXX object src/wallet/CMakeFiles/wallet.dir/salvage.cpp.o
[426/583] Building CXX object src/wallet/CMakeFiles/wallet.dir/scriptpubkeyman.cpp.o
[427/583] Building CXX object src/wallet/CMakeFiles/wallet.dir/spend.cpp.o
[428/583] Building CXX object src/wallet/CMakeFiles/wallet.dir/sqlite.cpp.o
[429/583] Building CXX object src/wallet/CMakeFiles/wallet.dir/transaction.cpp.o
[430/583] Building CXX object src/wallet/CMakeFiles/wallet.dir/walletdb.cpp.o
[431/583] Building CXX object src/wallet/CMakeFiles/wallet.dir/walletutil.cpp.o
[432/583] Building CXX object src/wallet/CMakeFiles/wallet.dir/wallet.cpp.o
[433/583] Building CXX object src/wallet/CMakeFiles/wallet-tool.dir/wallettool.cpp.o
[434/583] Building CXX object src/seeder/CMakeFiles/seeder-base.dir/db.cpp.o
[435/583] Building CXX object src/seeder/CMakeFiles/seeder-base.dir/dns.cpp.o
[436/583] Building CXX object src/seeder/CMakeFiles/seeder-base.dir/options.cpp.o
[437/583] Building CXX object src/test/CMakeFiles/testutil.dir/util/validation.cpp.o
[438/583] Building CXX object src/seeder/CMakeFiles/bitcoin-seeder.dir/main.cpp.o
[439/583] Building CXX object src/iguana/CMakeFiles/iguana.dir/iguana.cpp.o
[440/583] Building CXX object src/iguana/CMakeFiles/iguana.dir/iguana_interpreter.cpp.o
[441/583] Building CXX object src/iguana/CMakeFiles/iguana.dir/iguana_formatter.cpp.o
[442/583] Linking CXX executable src/iguana/iguana
[443/583] Building CXX object src/seeder/CMakeFiles/seeder-base.dir/bitcoin.cpp.o
[444/583] Linking CXX static library src/wallet/libwallet.a
[445/583] Building CXX object src/CMakeFiles/server.dir/rest.cpp.o
[446/583] Building CXX object src/CMakeFiles/server.dir/rpc/net.cpp.o
[447/583] Building CXX object src/CMakeFiles/server.dir/node/interfaces.cpp.o
[448/583] Building CXX object src/CMakeFiles/server.dir/rpc/misc.cpp.o
[449/583] Building CXX object src/CMakeFiles/server.dir/rpc/mining.cpp.o
[450/583] Building CXX object src/test/CMakeFiles/testutil.dir/util/setup_common.cpp.o
[451/583] Building CXX object src/CMakeFiles/server.dir/rpc/rawtransaction.cpp.o
[452/583] Building CXX object src/CMakeFiles/server.dir/init.cpp.o
[453/583] Building CXX object src/CMakeFiles/server.dir/rpc/avalanche.cpp.o
[454/583] Building CXX object src/CMakeFiles/server.dir/rpc/blockchain.cpp.o
FAILED: src/CMakeFiles/server.dir/rpc/blockchain.cpp.o 
/usr/bin/ccache /usr/bin/c++ -DABORT_ON_FAILED_ASSUME -DBOOST_ALL_NO_LIB -DBOOST_NO_CXX98_FUNCTION_BASE -DBUILD_BITCOIN_INTERNAL -DDEBUG -DDEBUG_LOCKORDER -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/leveldb/helpers/memenv -I/work/src/. -I/work/abc-ci-builds/build-debug/src -I/work/src/univalue/include -I/work/abc-ci-builds/build-debug/src/crypto/.. -I/work/src/secp256k1/include -I/work/src/leveldb/include -isystem /usr/include/jemalloc -isystem /usr/include/miniupnpc -Werror -O0 -fPIC -fvisibility=hidden -g3 -ftrapv -fstack-reuse=none -fstack-protector-all -Wstack-protector -fcf-protection=full -fstack-clash-protection -U_FORTIFY_SOURCE -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++17 -MD -MT src/CMakeFiles/server.dir/rpc/blockchain.cpp.o -MF src/CMakeFiles/server.dir/rpc/blockchain.cpp.o.d -o src/CMakeFiles/server.dir/rpc/blockchain.cpp.o -c /work/src/rpc/blockchain.cpp
/work/src/rpc/blockchain.cpp: In constructor ‘TemporaryRollback::TemporaryRollback(ChainstateManager&, avalanche::Processor*, const CBlockIndex&)’:
/work/src/rpc/blockchain.cpp:2671:33: error: ‘TemporaryRollback::m_avalanche’ will be initialized after [-Werror=reorder]
 2671 |     avalanche::Processor *const m_avalanche;
      |                                 ^~~~~~~~~~~
/work/src/rpc/blockchain.cpp:2670:24: error:   ‘const CBlockIndex& TemporaryRollback::m_invalidate_index’ [-Werror=reorder]
 2670 |     const CBlockIndex &m_invalidate_index;
      |                        ^~~~~~~~~~~~~~~~~~
/work/src/rpc/blockchain.cpp:2674:5: error:   when initialized here [-Werror=reorder]
 2674 |     TemporaryRollback(ChainstateManager &chainman,
      |     ^~~~~~~~~~~~~~~~~
cc1plus: all warnings being treated as errors
ninja: build stopped: cannot make progress due to previous errors.
Build build-debug failed with exit code 1

Tail of the build log:

[518/658] Building CXX object src/CMakeFiles/bitcoinkernel.dir/util/sock.cpp.o
[519/658] Building C object src/secp256k1/CMakeFiles/sign-bench.dir/src/bench_sign.c.o
[520/658] Building C object src/secp256k1/CMakeFiles/ecmult-bench.dir/src/bench_ecmult.c.o
[521/658] Building CXX object src/CMakeFiles/bitcoinkernel.dir/avalanche/processor.cpp.o
[522/658] Building C object src/secp256k1/CMakeFiles/internal-bench.dir/src/bench_internal.c.o
[523/658] Building CXX object src/CMakeFiles/bitcoind.dir/bitcoind.cpp.o
[524/658] Building CXX object src/test/CMakeFiles/testutil.dir/util/blockindex.cpp.o
[525/658] Building CXX object src/test/CMakeFiles/testutil.dir/util/coins.cpp.o
[526/658] Building CXX object src/test/CMakeFiles/testutil.dir/util/logging.cpp.o
[527/658] Building CXX object src/CMakeFiles/bitcoin-chainstate.dir/bitcoin-chainstate.cpp.o
[528/658] Building CXX object src/test/CMakeFiles/testutil.dir/util/blockfilter.cpp.o
[529/658] Building CXX object src/test/CMakeFiles/testutil.dir/util/random.cpp.o
[530/658] Building CXX object src/test/CMakeFiles/testutil.dir/util/str.cpp.o
[531/658] Building CXX object src/test/CMakeFiles/testutil.dir/util/net.cpp.o
[532/658] Building CXX object src/test/CMakeFiles/testutil.dir/util/transaction_utils.cpp.o
[533/658] Building CXX object src/test/CMakeFiles/testutil.dir/util/mining.cpp.o
[534/658] Building CXX object src/seeder/CMakeFiles/seeder-base.dir/dns.cpp.o
[535/658] Building CXX object src/test/CMakeFiles/testutil.dir/util/wallet.cpp.o
[536/658] Building CXX object src/seeder/CMakeFiles/seeder-base.dir/db.cpp.o
[537/658] Building CXX object src/test/CMakeFiles/testutil.dir/util/txmempool.cpp.o
[538/658] Building CXX object src/test/CMakeFiles/testutil.dir/util/setup_common.cpp.o
[539/658] Building CXX object src/iguana/CMakeFiles/iguana.dir/iguana_interpreter.cpp.o
[540/658] Building CXX object src/seeder/CMakeFiles/seeder-base.dir/options.cpp.o
[541/658] Building CXX object src/iguana/CMakeFiles/iguana.dir/iguana_formatter.cpp.o
[542/658] Building CXX object src/seeder/CMakeFiles/bitcoin-seeder.dir/main.cpp.o
[543/658] Building CXX object src/test/CMakeFiles/testutil.dir/util/validation.cpp.o
[544/658] Building CXX object src/seeder/CMakeFiles/seeder-base.dir/bitcoin.cpp.o
[545/658] Building CXX object src/iguana/CMakeFiles/iguana.dir/iguana.cpp.o
[546/658] Linking C static library src/secp256k1/libsecp256k1.a
[547/658] Linking C executable src/secp256k1/verify-bench
[548/658] Linking C executable src/secp256k1/recover-bench
[549/658] Linking C executable src/secp256k1/sign-bench
[550/658] Linking C executable src/secp256k1/internal-bench
[551/658] Linking C executable src/secp256k1/ecmult-bench
[552/658] Linking CXX static library src/libbitcoinconsensus.a
[553/658] Linking CXX static library src/libscript.a
[554/658] Linking CXX static library src/libcommon.a
[555/658] Linking CXX shared library src/libbitcoinconsensus.so.0.31.2
[556/658] Creating library symlink src/libbitcoinconsensus.so.0 src/libbitcoinconsensus.so
[557/658] Linking CXX executable src/iguana/iguana
[558/658] Linking CXX executable src/bitcoin-cli
[559/658] Linking CXX executable src/bitcoin-tx
[560/658] Linking CXX static library src/libbitcoinkernel.a
[561/658] Linking CXX executable src/bitcoin-chainstate
[562/658] Building CXX object src/CMakeFiles/server.dir/rpc/blockchain.cpp.o
FAILED: src/CMakeFiles/server.dir/rpc/blockchain.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/leveldb/helpers/memenv -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 -fPIC -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++17 -MD -MT src/CMakeFiles/server.dir/rpc/blockchain.cpp.o -MF src/CMakeFiles/server.dir/rpc/blockchain.cpp.o.d -o src/CMakeFiles/server.dir/rpc/blockchain.cpp.o -c /work/src/rpc/blockchain.cpp
/work/src/rpc/blockchain.cpp: In constructor ‘TemporaryRollback::TemporaryRollback(ChainstateManager&, avalanche::Processor*, const CBlockIndex&)’:
/work/src/rpc/blockchain.cpp:2671:33: error: ‘TemporaryRollback::m_avalanche’ will be initialized after [-Werror=reorder]
 2671 |     avalanche::Processor *const m_avalanche;
      |                                 ^~~~~~~~~~~
/work/src/rpc/blockchain.cpp:2670:24: error:   ‘const CBlockIndex& TemporaryRollback::m_invalidate_index’ [-Werror=reorder]
 2670 |     const CBlockIndex &m_invalidate_index;
      |                        ^~~~~~~~~~~~~~~~~~
/work/src/rpc/blockchain.cpp:2674:5: error:   when initialized here [-Werror=reorder]
 2674 |     TemporaryRollback(ChainstateManager &chainman,
      |     ^~~~~~~~~~~~~~~~~
cc1plus: all warnings being treated as errors
ninja: build stopped: cannot make progress due to previous errors.
Build build-without-wallet failed with exit code 1
PiRK planned changes to this revision.Mon, May 5, 12:11

fix -Werror=reorder warning

This revision is now accepted and ready to land.Mon, May 5, 13:41