Skip to content
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

Merged

Conversation

PastaPastaPasta
Copy link
Member

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.

  • I have performed a self-review of my own code
  • I have commented my code, particularly in hard-to-understand areas
  • I have added or updated relevant unit/integration/functional/e2e tests
  • I have made corresponding changes to the documentation
  • I have assigned this pull request to a milestone (for repository code-owners and collaborators only)

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
@PastaPastaPasta PastaPastaPasta added this to the 22 milestone Oct 25, 2024
contrib/linearize/linearize-data.py Outdated Show resolved Hide resolved
UdjinM6
UdjinM6 previously approved these changes Oct 26, 2024
Copy link

@UdjinM6 UdjinM6 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

utACK 49a3686

Copy link
Collaborator

@kwvg kwvg left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, minor suggestions

src/leveldb/include/leveldb/status.h Outdated Show resolved Hide resolved
test/functional/p2p_ibd_stalling.py Show resolved Hide resolved
fanquake and others added 20 commits October 26, 2024 19:14
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
Copy link

@UdjinM6 UdjinM6 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

utACK b654479

Copy link
Collaborator

@kwvg kwvg left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

utACK b654479

@PastaPastaPasta PastaPastaPasta merged commit 565f2db into dashpay:develop Oct 27, 2024
37 checks passed
@@ -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) {
Copy link
Collaborator

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

Copy link
Collaborator

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):
Copy link
Collaborator

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

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

fixed: #6373

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks!

@PastaPastaPasta PastaPastaPasta deleted the develop-trivial-2024-10-25-pr1 branch October 29, 2024 13:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants