-
Notifications
You must be signed in to change notification settings - Fork 1.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
backport: trivial 2024 10 25 pr1 #6362
backport: trivial 2024 10 25 pr1 #6362
Conversation
019ad73 depends: set RANLIB for CMake (fanquake) 43cfb42 depends: set NM for CMake (fanquake) 1e4412b depends: set AR for CMake (fanquake) Pull request description: Needed for bitcoin#21778. Should be more correct in any case. ACKs for top commit: theuni: utACK 019ad73. I didn't test, but I tried this approach on a few deps and it seemed to work as expected. TheCharlatan: ACK 019ad73 Tree-SHA512: 78cc8981456f7476cafca0e40fcc569e474b92004c8024d1c4268b6aab53175074a06ab17ebded8d706bf0a7f77401642dd38bb7ce2e4b04abdcd149d3d69969
…and -O0 141df0a crypto: disable asan for sha256_sse4 with clang and -O0 (Cory Fields) Pull request description: Clang is unable to compile the Transform function for that combination of options. Fixes bitcoin#29801. ACKs for top commit: achow101: ACK 141df0a Tree-SHA512: d74fdac5840ad7524edfde069fb43ae75c31146e90ecc58bbc7912ff57a02b068547431b1766afeed782272c0b93b0b41a286c1cf26ec55ce332d94ce917d810
5f2c1d8 guix: show *_FLAGS variables in pre-build output (fanquake) Pull request description: For example: ```bash # ADDITIONAL_GUIX_COMMON_FLAGS set in the ENV ADDITIONAL_GUIX_ENVIRONMENT_FLAGS="--emulate-fhs" ./contrib/guix/guix-build <snip> INFO: Building f751991 for platform triple x86_64-linux-gnu: ...using reference timestamp: 1716905119 ...running at most 10 jobs ...from worktree directory: '/bitcoin' ...bind-mounted in container to: '/bitcoin' ...in build directory: '/bitcoin/guix-build-f75199182133/distsrc-f75199182133-x86_64-linux-gnu' ...bind-mounted in container to: '/distsrc-base/distsrc-f75199182133-x86_64-linux-gnu' ...outputting in: '/bitcoin/guix-build-f75199182133/output/x86_64-linux-gnu' ...bind-mounted in container to: '/outdir-base/x86_64-linux-gnu' ADDITIONAL FLAGS (if set) ADDITIONAL_GUIX_COMMON_FLAGS: --no-substitutes ADDITIONAL_GUIX_ENVIRONMENT_FLAGS: --emulate-fhs ADDITIONAL_GUIX_TIMEMACHINE_FLAGS: ``` ACKs for top commit: hebasto: ACK 5f2c1d8. Tree-SHA512: 85a6d508499b4ec1d6166343a1707b682d327b2fcfb2fb438571894478aac0062d21e1239b5092091ff98711c5c747151973c4f325a7a7c447d0e807166fcb07
b831468
to
49a3686
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
utACK 49a3686
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, minor suggestions
8acdf66 upnp: add compatibility for miniupnpc 2.2.8 (Cory Fields) Pull request description: Fixes bitcoin#30266 Miniupnpc 2.2.8 [changed the function signature of `UPNP_GetValidIGD`](miniupnp/miniupnp@c0a50ce#diff-5a0d7cff00628c2c64a617edb347c0f283e3a75e7df910e7e8438fc6db23f610R122) without taking much care with the abi :( ~This is the minimal change to cope with that. Also included in this PR is a temporary bump to 2.2.8 to verify that it builds correctly. I'm happy to revert that and discuss the bump separately, as miniupnpc bumps require some scrutiny.~ I believe that this is problematic if we build against one version and encounter a different one at runtime. This is not a problem for depends because we build statically. But for users who are self-building against shared system libs, care must be taken to run against the same version used for linking. Some quick digging shows that at least Ubuntu/Arch make the distinction between soversions: `libminiupnpc.so.17` -> `libminiupnpc.so.18`. So in practice, I suppose this shouldn't be much of a problem. Boooo for the upstream loose abi policy. ACKs for top commit: edilmedeiros: reACK 8acdf66 fanquake: ACK 8acdf66 Tree-SHA512: d2236ec8aef57a5c879065fbbe20080a14e4bf7b44c0bf506707eb946f72aa5837aba2fb2426d6853d21a9b77db5d72561d29d7ea645714d90309e11fe11d354
4289dd0 contrib: add R(UN)PATH check to ELF symbol-check (fanquake) Pull request description: Our binaries shouldn't contain any rpaths, or runpaths, so check that at release time. Guix build (aarch64): ```bash 14f1b54936f71aaf8fedb987e1c2f5642c34ac35f4856cdbd7bf7b4a9f42507c guix-build-4289dd02cce6/output/aarch64-linux-gnu/SHA256SUMS.part b120503ac4a37c160aa1bdc662348a2a662cb9b3d0477daa177e92afacab6a27 guix-build-4289dd02cce6/output/aarch64-linux-gnu/bitcoin-4289dd02cce6-aarch64-linux-gnu-debug.tar.gz 6416e3678aa13301ba2327e65dcd83afefd15d21c96c1b574cf616a65466a260 guix-build-4289dd02cce6/output/aarch64-linux-gnu/bitcoin-4289dd02cce6-aarch64-linux-gnu.tar.gz b7f11fa4abc034b32c208a9d642a0cafc0de693d49c8f3b28d1cf2d318af6826 guix-build-4289dd02cce6/output/arm-linux-gnueabihf/SHA256SUMS.part 7cf6269025b10bc5ad65cd98baba68b4b65d3caabcd4d62e7af892bbb16c253f guix-build-4289dd02cce6/output/arm-linux-gnueabihf/bitcoin-4289dd02cce6-arm-linux-gnueabihf-debug.tar.gz c136665417cc1f9254f4541c1161ea6d24d2325e4baa2dd4a306f67a1edf9c20 guix-build-4289dd02cce6/output/arm-linux-gnueabihf/bitcoin-4289dd02cce6-arm-linux-gnueabihf.tar.gz 37dd0359e073cbb38dcd6e17953d31e414ce27516c31b18ef6aa1bc9530dbed2 guix-build-4289dd02cce6/output/arm64-apple-darwin/SHA256SUMS.part 3d01f5db06e1b1cbebc5a5a4277ad3da8911afe35e111d4650e2beee6038cfdb guix-build-4289dd02cce6/output/arm64-apple-darwin/bitcoin-4289dd02cce6-arm64-apple-darwin-unsigned.tar.gz 9d8ad7cbdc1e154b33c138de21e7a0ffc8a8857b522db9272c70d5c10732460c guix-build-4289dd02cce6/output/arm64-apple-darwin/bitcoin-4289dd02cce6-arm64-apple-darwin-unsigned.zip 23f14eeaeac2e881e41543a796dfa65f132e89153281f9fbcb8019d08fff7eb2 guix-build-4289dd02cce6/output/arm64-apple-darwin/bitcoin-4289dd02cce6-arm64-apple-darwin.tar.gz b62d9e202e5414ebefe129e733beaee76b4f9b05a7dd20807fbbdbe24f27f692 guix-build-4289dd02cce6/output/dist-archive/bitcoin-4289dd02cce6.tar.gz 1301b33745b9016bbb7f038ee2004f630244deaa6575b6c75391cda2d8d3455d guix-build-4289dd02cce6/output/powerpc64-linux-gnu/SHA256SUMS.part 54e988c3d3fc204d4b232dcf24df8a80733c46e3adf9ea0c81a1637609fc1131 guix-build-4289dd02cce6/output/powerpc64-linux-gnu/bitcoin-4289dd02cce6-powerpc64-linux-gnu-debug.tar.gz 6acb3348d67d3e96a6f3a6e782ae088532b75d4b38cbfe249e114e07eafefdb6 guix-build-4289dd02cce6/output/powerpc64-linux-gnu/bitcoin-4289dd02cce6-powerpc64-linux-gnu.tar.gz cc30cfe72eefa498f347d825c57a19501d0c24330d2b4bcdfa432cf7a17880e8 guix-build-4289dd02cce6/output/riscv64-linux-gnu/SHA256SUMS.part a56144f8a816c6b62970c29d6c805fe7d26c4d1171e96379e1e6a53c7cb504f6 guix-build-4289dd02cce6/output/riscv64-linux-gnu/bitcoin-4289dd02cce6-riscv64-linux-gnu-debug.tar.gz 7d67eac59846d478b5ecefa1396d3214c2f9b394ec4de4c099b2b2304750e13e guix-build-4289dd02cce6/output/riscv64-linux-gnu/bitcoin-4289dd02cce6-riscv64-linux-gnu.tar.gz 2d1b1ec32f566ad37b7fb6e2d8b150389c0d02013fc99b12e9e93cb938cfdbc7 guix-build-4289dd02cce6/output/x86_64-apple-darwin/SHA256SUMS.part 1bb7a360974cc839499f82cf00dc6e59c3584a3094382086217eacb97b6da931 guix-build-4289dd02cce6/output/x86_64-apple-darwin/bitcoin-4289dd02cce6-x86_64-apple-darwin-unsigned.tar.gz 821a1587e285a8514a9f2ed9bec7d422e91d5f1db3cbb9e4c5ce4467298e692f guix-build-4289dd02cce6/output/x86_64-apple-darwin/bitcoin-4289dd02cce6-x86_64-apple-darwin-unsigned.zip 15956787628f5014adc53fe98fc995c56424c8e6c1e698283f65099751a61dbd guix-build-4289dd02cce6/output/x86_64-apple-darwin/bitcoin-4289dd02cce6-x86_64-apple-darwin.tar.gz 76e8a8275f27a5d2b4eb29c0440c5dfbecb0d9348362ff7defe989820d5ec80b guix-build-4289dd02cce6/output/x86_64-linux-gnu/SHA256SUMS.part 3c8b19f1a130ebb12a1ca4103fa283e71d909f09da5cef8047db1e7e7dfea162 guix-build-4289dd02cce6/output/x86_64-linux-gnu/bitcoin-4289dd02cce6-x86_64-linux-gnu-debug.tar.gz 87b3735cda595556e8adfd4de5c9cc966e9996cdb76b8f9dfa8c978d37397d40 guix-build-4289dd02cce6/output/x86_64-linux-gnu/bitcoin-4289dd02cce6-x86_64-linux-gnu.tar.gz fc535f76e6323fb0feeeee790865d0d2c8ea9d2c85d72a620acfb83546fb7628 guix-build-4289dd02cce6/output/x86_64-w64-mingw32/SHA256SUMS.part 9fd5d3b4e91fa8c4d137c9f8d2089c81f4c4165bb6ab9a404b163f7b363587fd guix-build-4289dd02cce6/output/x86_64-w64-mingw32/bitcoin-4289dd02cce6-win64-debug.zip b4658cdc94e70cd7b810a44770684b742d96d7d40d720cc54f209784e0ad4ad6 guix-build-4289dd02cce6/output/x86_64-w64-mingw32/bitcoin-4289dd02cce6-win64-setup-unsigned.exe e4557d1f8c1b0eb5014ad56d2a17a0a618c3ba7e6d073628e633382e1d4191aa guix-build-4289dd02cce6/output/x86_64-w64-mingw32/bitcoin-4289dd02cce6-win64-unsigned.tar.gz 3f9a104633f6962b0b8efb64a7d6be453f56617561e7f5b49a84ae191942ea5d guix-build-4289dd02cce6/output/x86_64-w64-mingw32/bitcoin-4289dd02cce6-win64.zip ``` ACKs for top commit: theuni: utACK 4289dd0 hebasto: ACK 4289dd0. Tree-SHA512: f2e1f6525f699e0d069c70f5e7f1a7e8f8758dcdaff778d49e671bc106a9592f9a7b25c4dbeeaf92b654646fd3b902ad45c8547fd1b28e3287933e8c1497333d
…ing gettxoutsetinfo 8ec24bd test: Added coverage to Block not found error using gettxoutsetinfo (kevkevinpal) Pull request description: #### Description There were no tests that checked for the `Block not found` error called in `ParseHashOrHeight` when using `gettxoutsetinfo`, this change adds coverage to it. You can see there are no tests that do the following by doing the below `grep -nri "Block not found.*gettxoutsetinfo" ./test/functional/` which leads to no results ACKs for top commit: achow101: ACK 8ec24bd tdb3: ACK 8ec24bd kristapsk: ACK 8ec24bd brunoerg: crACK 8ec24bd alfonsoromanz: Re ACK 8ec24bd Tree-SHA512: 2c61c681e7304c679cc3d7dd13af1b795780e85716c25c7423d68104e253d01271e048e21bc21be35dbc7ec1a4fde94e439542f3cfd669fe5a16478c5fa982ab
f170fe0 depends: update doc in Qt pwd patch (fanquake) Pull request description: Now that upstream has gotten around to fixing this. We don't need any more of the patch, and it likely wont apply to our version of Qt in any case. See: qt/qtbase@3388de6. ACKs for top commit: theuni: ACK f170fe0 Tree-SHA512: f6db8ccad591b1bf144ce71f873f42a115d394c432a95b6b855e3e32751e6331145e0d9676657599b25fd369af8c72c1bd34e192a7a1062c15f152421422a9ed
fa360b0 util: Use SteadyClock in RandAddSeedPerfmon (MarcoFalke) Pull request description: `GetTime` is mockable in tests and system-changeable in production. This should be fine and not lead to issues, but using `SteadyClock` is more correct in this context to do an expensive task only so often. ACKs for top commit: sipa: utACK fa360b0 TheCharlatan: ACK fa360b0 Tree-SHA512: 1958b9e9e356c9801ac981014b4b528cfc8ce6612853d8b45f6519b16f0b1839ff765abb8b3368b86f00958ddc6a686f6b90278c57a7ad4858bdf3ea33775cca
…s visible 992b1bb qt: keep focus on "Hide" while ModalOverlay is visible (Jadi) Pull request description: During the initial sync, the Tab moves the focus to the widgets of the main window, even when the ModalOverlay is visible. This creates some weird rectangular *selections on the screen*. This PR fixes this by keeping the focus on the "Hide" button while the ModalOverlay is visible. Fixes dashpay#783 ACKs for top commit: pablomartin4btc: Concept & approach ACK 992b1bb hebasto: re-ACK 992b1bb Tree-SHA512: f702a3fd51db4bc10780bccf76394e35a6b5fb45db72c9c23cd10d777106b08c61077d2d989003838921e76d2cb44f809399f31df76448e4305a6c2a71b5c6a3
23333b7 net: Allow DNS lookups on nodes with IPV6 lo only (Max Edwards) Pull request description: This is similar to (but does not fix) bitcoin#13155 which I believe is the same issue but in libevent. The issue is on a host that has IPV6 enabled but only a loopback IP address `-proxy=[::1]` will fail as `[::1]` is not considered valid by `getaddrinfo` with `AI_ADDRCONFIG` flag. I think the loopback interface should be considered valid and we have a functional test that will try to test this: `feature_proxy.py`. To replicate the issue, run `feature_proxy.py` inside a docker container that has IPV6 loopback ::1 address without specifically giving that container an external IPV6 address. This should be the default with recent versions of docker. IPV6 on loopback interface was enabled in docker engine 26 and later ([https://docs.docker.com/engine/release-notes/26.0/#bug-fixes-and-enhancements-2](https://docs.docker.com/engine/release-notes/26.0/#bug-fixes-and-enhancements-2)). `AI_ADDRCONFIG` was introduced to prevent slow DNS lookups on systems that were IPV4 only. References: Man section on `AI_ADDRCONFIG`: ``` If hints.ai_flags includes the AI_ADDRCONFIG flag, then IPv4 addresses are returned in the list pointed to by res only if the local system has at least one IPv4 address configured, and IPv6 addresses are returned only if the local system has at least one IPv6 address configured. The loopback address is not considered for this case as valid as a configured address. This flag is useful on, for ex‐ ample, IPv4-only systems, to ensure that getaddrinfo() does not return IPv6 socket addresses that would always fail in connect(2) or bind(2). ``` [AI_ADDRCONFIG considered harmful Wiki entry by Fedora](https://fedoraproject.org/wiki/QA/Networking/NameResolution/ADDRCONFIG) [Mozilla discussing slow DNS without AI_ADDRCONFIG and also localhost issues with it](https://bugzilla.mozilla.org/show_bug.cgi?id=467497) ACKs for top commit: achow101: ACK 23333b7 tdb3: ACK 23333b7 pinheadmz: ACK 23333b7 Tree-SHA512: 5ecd8c72d1e1c28e3ebff07346381d74eaddef98dca830f6d3dbf098380562fa68847d053c0d84cc8ed19a45148ceb5fb244e4820cf63dccb10ab3db53175020
ff4f3de depends: use CMake to build FreeType (fanquake) Pull request description: Switches Freetype to be built with CMake. ACKs for top commit: theuni: ACK ff4f3de hebasto: ACK ff4f3de, I've verified the actual compile options, they look sane. Tree-SHA512: e9e4348975998539fde88a84d110d53dbac50ae9cc3fa692d15e09313d6fdb6acb3bb23533786a645fc836091075b4487d6de42ef78ba3a44de46d06360aef4f
a517029 depends: switch to building expat with CMake (fanquake) Pull request description: Switch to building Expat with CMake, instead of Autotools. ACKs for top commit: hebasto: re-ACK a517029. Tree-SHA512: ca040545dd83fb81a8b209aa24cae6e22eaeff04f44bdabc4454adf6ea63d34f4ae27bd5980c65db2d2542e23eb2712102719023c262ab63a933c90b5999c11e
…ching to CMake a0314c1 depends: cleanup after qrencode build (fanquake) 745bf0f depends: cleanup after miniupnpc build (fanquake) 06d4aab depends: Cleanup postprocess commands after switching to CMake (Hennadii Stepanov) Pull request description: I overlooked this while reviewing bitcoin#29723, bitcoin#29835, and bitcoin#29880. ACKs for top commit: fanquake: ACK a0314c1 Tree-SHA512: debeffa7027e6213cc25c0652660ff0f36f51e63f688041d1d6cd6323e2c6cb02936fa0ecea86455b8c9874d6ea665684085189cfa523ca084792c57b0fb7c4e
…cross-compile c399c80 cleanse: Use SecureZeroMemory for mingw-w64 (release) builds (fanquake) Pull request description: This PR switches our Windows release builds to use the [`SecureZeroMemory()`](https://learn.microsoft.com/en-us/previous-versions/windows/desktop/legacy/aa366877(v=vs.85)) provided by mingw-w64. ACKs for top commit: sipa: utACK c399c80 TheCharlatan: ACK c399c80 Tree-SHA512: dbb20b16c85061d2f9408a3cf69cecc16765f8f61b25a1707146767b664c7ad0caf36975380814ef8e7c49a30199daebac6d5d7a3585354d1adac8e9770199c6
ec5e294 test: fix constructor of msg_tx (Martin Zumsande) Pull request description: In python, if the default value is a mutable object (here: a class) it is shared over all instances, so that one instance being changed would affect others to be changed as well. This was the source of bitcoin#30543, and possibly various other intermittent bugs in the functional tests, see bitcoin#29621 (comment). Fixes bitcoin#30543 Fixes bitcoin#29621 Fixes bitcoin#25128 ACKs for top commit: sipa: utACK ec5e294. I believe some linters even warn about doing this. maflcko: ACK ec5e294 vasild: ACK ec5e294 ❤️ theStack: ACK ec5e294 Tree-SHA512: a6204fb1a326de3f9aa965f345fd658f6a4dcf78731db25cc905ff6eb8d4eeb65d14cc316305eebd89387aec8748c57c3a4f4ca62408f8e5ee53f535b88b1411
89b1d5c depends: Fix `zeromq` build on OpenBSD (Hennadii Stepanov) Pull request description: On the master branch @ 66e82dc, the `zeromq` package fails to build on OpenBSD 7.5: ``` [ 19%] Building CXX object CMakeFiles/objects.dir/src/io_thread.cpp.o /home/hebasto/bitcoin/depends/work/build/amd64-unknown-openbsd7.5/zeromq/4.3.5-df5b1b9f936/src/io_thread.cpp:14:22: error: static_cast from 'std::nullptr_t' to 'poller_t::handle_t' (aka 'int') is not allowed _mailbox_handle (static_cast<poller_t::handle_t> (NULL)) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1 error generated. ``` This [regression](bitcoin#29723 (comment)) was overlooked by me in bitcoin#29723. This PR fixes the issue by backporting an upstream commit from zeromq/libzmq#4659. ACKs for top commit: theStack: tACK 89b1d5c Tree-SHA512: 48d22ea99dfd44c5adf858c74e64082390da27b8ccad8c0d5a91d4dabfa3d12267cef98e4bb8c088e4cd0ec477c242cb1d47aace5c88cd86f796715bba957ed8
a0a9a11 depends: fix ZMQ CMake getcachesize check (fanquake) Pull request description: Fixes bitcoin#30587. ACKs for top commit: maflcko: ACK a0a9a11 hebasto: ACK a0a9a11. On Ubuntu (s390x), I was able to reproduce bitcoin#30587. With this PR building `zeromq` succeeds. TheCharlatan: ACK a0a9a11 Tree-SHA512: 70ca50ebe8e36d5a10a2354a1fbed49f5f802ae5115e09686bccca7e5d1da35168e84a6cab40dd2c83f8918889cdfdcbd5d1cbe25273b844c8ddd21865ea6c51
fec74a8 doc: Update ccache website link (Hennadii Stepanov) Pull request description: ACKs for top commit: paplorinc: ACK fec74a8 tdb3: ACK fec74a8 hodlinator: ACK fec74a8 Tree-SHA512: 1331b6d37d1bfc124bbce08bb584235c0610671655d7a4a82882aba2aa73c3c741dce013e6ce9baba00a07bc26d4a9c5aa8da4abd38187ffe7b8a101e2366bda
16d8261 doc: Drop no longer needed workaround for WSL (Hennadii Stepanov) Pull request description: This PR effectively reverts commit 4f890ba from bitcoin#11437, which fixed some build issues on WSL seven years ago. Testing the current master branch @ 31a3ff5 on Windows 11 + WSL using Ubuntu 24.04 or Debian images, I noticed that the workaround is no longer required. Moreover, it doesn't affect the build process at all, which means the hashes of the built packages in depends remain the same and the `configure` log in the main build system remains the same as well. ACKs for top commit: sipsorcery: utACK 16d8261. Tree-SHA512: 703a2ac4647125c91aad47131e2723fd05af30b0cfae5677a26d3e89a77c2779e0197584208f3b378ed64dd7305512d9064fd073ec06517f86e9905af4ec8838
…64-posix` version ed83974 doc: Add note about distro's g++-mingw-w64-x86-64-posix version (Hennadii Stepanov) Pull request description: This PR stems from a requirement for the `g++` minimum supported version [being >= 11](bitcoin#29091): - https://packages.ubuntu.com/noble/g++-mingw-w64-x86-64-posix - https://packages.debian.org/bookworm/g++-mingw-w64-x86-64-posix ACKs for top commit: m3dwards: ACK ed83974 maflcko: review-only ACK ed83974 Tree-SHA512: a4c4d5239df5540b2dac922c2834c51337ec67310d596620bea02fe54334917e83da8954107c6a3fdd08143d1eac6a2cd4b0520ad023d7ccad8bcbdc4e03a7c0
8fee535 guix: fix suggested fake date for openssl -1.1.1l (Sjors Provoost) Pull request description: Using `2020-10-01` as the fake timestamp will cause many test failures with `/gnu/store/bfirgq65ndhf63nn4q6vlkbha9zd931q-openssl-1.1.1l.drv`. I didn't investigate why, but I guess because it's _before_ the test certificates were created. They expired in June 2022. I tried a month before that, which worked. Also fixes layout of instructions. ACKs for top commit: achow101: ACK 8fee535 maflcko: review ACK 8fee535 Tree-SHA512: df5dd3aa961e25bd57d0b8b73daeb3ec76856b06e35277f24b6b19be81774512228f75e2b779afa8ea92fcc39beb869f43e0c57fba19ad16a82812e7c0bea38b
… range in script 5b4f340 devtools, utxo-snapshot: Fix block height out of range (pablomartin4btc) Pull request description: <details> <summary>Fixing a <a href="https://github.com/bitcoin/bitcoin/pull/28553#pullrequestreview-2251032570">bug</a> in <code>utxo_snapshot.sh</code>.</summary> ``` /contrib/devtools/utxo_snapshot.sh 840000 snapshot2.dat ./src/bitcoin-cli -datadir=${AU_DATADIR} Do you want to disable network activity (setnetworkactive false) before running invalidateblock? (Y/n): Disabling network activity false error code: -8 error message: Block height out of range ``` And the user will see the following in the node and it would stay there if not reset: ``` 2024-08-21T14:44:13Z UpdateTip: new best=00000000000000afa0cd000a16e244f56032735d41acd32ac00337aceb2a5240 height=235382 version=0x00000002 log2_work=69.987697 tx=17492185 date='2013-05-09T23:54:32Z' progress=0.016219 cache=71.0MiB(571085txo) 2024-08-21T14:44:13Z UpdateTip: new best=0000000000000087c5e0b820afff496b95ba44ad64640c73b234d3261d3f99d2 height=235383 version=0x00000002 log2_work=69.987750 tx=17492341 date='2013-05-09T23:54:47Z' progress=0.016219 cache=71.0MiB(571291txo) 2024-08-21T14:44:13Z UpdateTip: new best=000000000000014a4b5fddf3c8abb6209247255ca9e8df786b271dd1b2ac82a6 height=235384 version=0x00000002 log2_work=69.987804 tx=17492344 date='2013-05-10T00:20:18Z' progress=0.016219 cache=71.0MiB(571297txo) 2024-08-21T14:44:13Z SetNetworkActive: false ``` </details> This is a "temporary" fix until bitcoin#29553 gets merged, which will remove the script entirely. Handle the "Block height out of range" error gracefully by checking if the node has synchronized to or beyond the required block height, otherwise without this validation the node would keep the network disabled if the user selected that option. <details> <summary>Provide a user-friendly message if the block height is out of range and exit the script cleanly.</summary> ``` /contrib/devtools/utxo_snapshot.sh 840000 snapshot2.dat ./src/bitcoin-cli -datadir=${AU_DATADIR} Error: The node has not yet synchronized to block height 840001. Please wait until the node has synchronized past this block height and try again. ``` </details> ACKs for top commit: achow101: ACK 5b4f340 fjahr: tACK 5b4f340 Tree-SHA512: 2b71286b627872d7cfdb367e29361afa3806a7ef9d65075b93892b735ff2ab729069e2f7259d30262909e73cef17fb7dca231615cc1863968cd042f4a2a4f901
…in p2p_ibd_stalling fa5b58e test: Avoid intermittent block download timeout in p2p_ibd_stalling (MarcoFalke) Pull request description: Fixes bitcoin#30704 The goal of the test is to check the stalling timeout, not the block download timeout. On extremely slow hardware (for example qemu virtual hardware), downloading the 1023 blocks may take longer than the block download timeout. Fix it by pinning the time using mocktime, and only advance it when testing the stalling timeout. ACKs for top commit: tdb3: CR ACK fa5b58e brunoerg: utACK fa5b58e Tree-SHA512: 9a9221f264bea52be5e9fe81fd319f5a6970cd315cc5e9f5e2e049c5d84619b19b9f6f075cda8d34565c2d6c17a88fb57e195c66c271e40f73119a77caecb6d7
49a3686
to
b654479
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
utACK b654479
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
utACK b654479
@@ -58,7 +59,17 @@ std::vector<CNetAddr> WrappedGetAddrInfo(const std::string& name, bool allow_loo | |||
addrinfo* ai_res{nullptr}; | |||
const int n_err{getaddrinfo(name.c_str(), nullptr, &ai_hint, &ai_res)}; | |||
if (n_err != 0) { | |||
return {}; | |||
if ((ai_hint.ai_flags & AI_ADDRCONFIG) == AI_ADDRCONFIG) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
looks like this can fix our IPv6 on CI: #6038
I will test it
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@@ -1724,8 +1724,11 @@ class msg_tx: | |||
__slots__ = ("tx",) | |||
msgtype = b"tx" | |||
|
|||
def __init__(self, tx=CTransaction()): | |||
self.tx = tx | |||
def __init__(self, tx=None): |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
missing changes for class CMerkleBlock (same bug):
--- a/test/functional/test_framework/messages.py
+++ b/test/functional/test_framework/messages.py
@@ -1069,9 +1069,16 @@ class CPartialMerkleTree:
class CMerkleBlock:
__slots__ = ("header", "txn")
- def __init__(self, header=CBlockHeader(), txn=CPartialMerkleTree()):
+ def __init__(self, header=None, txn=None):
+ if header is None:
+ self.header = CBlockHeader()
+ else:
+ self.header = header
self.header = header
- self.txn = txn
+ if txn is None:
+ self.txn = CPartialMerkleTree()
+ else:
+ self.txn = txn
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
fixed: #6373
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks!
Issue being fixed or feature implemented
Trivial backports
What was done?
How Has This Been Tested?
built locally
Breaking Changes
Checklist:
Go over all the following points, and put an
x
in all the boxes that apply.