Update libmultiprocess subtree to fix build issues #33241

pull ryanofsky wants to merge 2 commits into bitcoin:master from ryanofsky:pr/subtree-3 changing 11 files +128 −11
  1. ryanofsky commented at 9:59 pm on August 22, 2025: contributor

    Includes:

    These changes are needed to build fix libmultiprocess build issue that happens on OpenBSD and work around an incompatibility between GCC versions <14 and cap’nproto versions <0.9 when compiling with c++20 that was fixed upstream in https://github.com/capnproto/capnproto/pull/1170. The issues were reported:

    The fixes added CI jobs upstream to catch these issues earlier.

    The changes can be verified by running test/lint/git-subtree-check.sh src/ipc/libmultiprocess as described in developer notes and lint instructions

  2. Squashed 'src/ipc/libmultiprocess/' changes from b4120d34bad2..1b8d4a6f1e54
    1b8d4a6f1e54 Merge bitcoin-core/libmultiprocess#194: mpgen: Work around c++20 / capnproto 0.8 incompatibility
    f1fad396bf5f Merge bitcoin-core/libmultiprocess#195: ci: Add openbsd
    eed42f210d17 ci: Bump all tasks to actions/checkout@v5
    486a510bbeff ci: Remove ancient and problematic -lstdc++fs in mpexample
    dd40897efe79 Add missing thread include
    98414e7d2867 ci: Add openbsd
    dc3ba2204606 cmake, doc: Add check for CVE-2022-46149
    cb170d4913a2 Merge bitcoin-core/libmultiprocess#193: build: require CapnProto 0.7.0 or better
    8ceeaa6ae401 ci: Add olddeps job to test old dependencies versions
    c4cb758eccb5 mpgen: Work around c++20 / capnproto 0.8 incompatibility
    30930dff7b06 build: require CapnProto 0.7.0 or better
    
    git-subtree-dir: src/ipc/libmultiprocess
    git-subtree-split: 1b8d4a6f1e54b92708bd2ad627ec6d440a1daf3d
    dd68d0f40b
  3. Merge commit 'dd68d0f40b614474f24469fbe1ba02f8f9146b31' into pr/subtree-3 323b3fd272
  4. DrahtBot renamed this:
    Update libmultiprocess subtree to fix build issues
    Update libmultiprocess subtree to fix build issues
    on Aug 22, 2025
  5. DrahtBot commented at 9:59 pm on August 22, 2025: contributor

    The following sections might be updated with supplementary metadata relevant to reviewers and maintainers.

    Code Coverage & Benchmarks

    For details see: https://corecheck.dev/bitcoin/bitcoin/pulls/33241.

    Reviews

    See the guideline for information on the review process.

    Type Reviewers
    ACK hebasto, Sjors, achow101

    If your review is incorrectly listed, please react with 👎 to this comment and the bot will ignore it on the next update.

  6. DrahtBot added the label CI failed on Aug 22, 2025
  7. DrahtBot commented at 10:56 pm on August 22, 2025: contributor

    🚧 At least one of the CI tasks failed. Task ARM, unit tests, no functional tests: https://github.com/bitcoin/bitcoin/runs/48709103843 LLM reason (✨ experimental): The CI failure is caused by a test timeout during the execution of the ‘mptest’ test.

    Try to run the tests locally, according to the documentation. However, a CI failure may still happen due to a number of reasons, for example:

    • Possibly due to a silent merge conflict (the changes in this pull request being incompatible with the current code in the target branch). If so, make sure to rebase on the latest commit of the target branch.

    • A sanitizer issue, which can only be found by compiling with the sanitizer and running the affected test.

    • An intermittent issue.

    Leave a comment here, if you need help tracking down a confusing failure.

  8. DrahtBot removed the label CI failed on Aug 22, 2025
  9. maflcko commented at 6:10 am on August 23, 2025: member

    Task ARM, unit tests, no functional tests: https://github.com/bitcoin/bitcoin/runs/48709103843 LLM reason (✨ experimental): The CI failure is caused by a test timeout during the execution of the ‘mptest’ test.

    Unrelated, but this failure looks real? The unit test should normally pass in a few milliseconds, so taking 40 minutes seems odd?

    https://cirrus-ci.com/task/5714850606743552?logs=ci#L2822: [23:07:33.279] 3/148 Test [#3](/bitcoin-bitcoin/3/): mptest ............................... Passed 0.03 sec https://cirrus-ci.com/task/4911861373599744?logs=ci#L3101: [22:41:29.095] 148/148 Test [#3](/bitcoin-bitcoin/3/): mptest ...............................***Timeout 2400.10 sec

  10. TheCharlatan commented at 9:19 am on August 23, 2025: contributor

    failure looks real? The unit test should normally pass in a few milliseconds, so taking 40 minutes seems odd?

    I reproduced this by repeatedly calling mptest. Took about 50'000 tries until it hung indefinitely.

  11. hebasto commented at 1:22 pm on August 23, 2025: member

    I’ve tested this branch on OpenBSD. It works fine.

    However, building on NetBSD remains broken: https://github.com/bitcoin-core/libmultiprocess/pull/196.

  12. ryanofsky commented at 1:41 pm on August 23, 2025: contributor

    re: #33241 (comment)

    failure looks real? The unit test should normally pass in a few milliseconds, so taking 40 minutes seems odd?

    re: #33241 (comment)

    I reproduced this by repeatedly calling mptest. Took about 50'000 tries until it hung indefinitely.

    Yes the failure is real, and this is probably issue https://github.com/bitcoin-core/libmultiprocess/issues/189, which I also reproduced by running the unclean disconnect test thousands of times, and thought was more rare. I have a pretty clear idea of how I want to fix this now so will work on it.

  13. hebasto commented at 5:39 pm on August 23, 2025: member

    failure looks real? The unit test should normally pass in a few milliseconds, so taking 40 minutes seems odd?

    I reproduced this by repeatedly calling mptest. Took about 50'000 tries until it hung indefinitely.

    Is this a newly introduced issue, or does it also exist on the master branch?

  14. ryanofsky commented at 6:12 pm on August 23, 2025: contributor

    Is this a newly introduced issue, or does it also exist on the master branch?

    I’m not sure if it’s been seen in master but I would expect it happens in master. Seems unlikely any change in this PR would cause it, see #33244

  15. hebasto approved
  16. hebasto commented at 7:30 am on August 24, 2025: member
    ACK 323b3fd27283282f2f8eb1096f56f23d8230f2d6, I’ve reproduced the subtree update locally. The two issues noted in this PR are unrelated to its changes and can be addressed separately.
  17. Sjors commented at 8:45 am on August 25, 2025: member
    ACK 323b3fd27283282f2f8eb1096f56f23d8230f2d6
  18. maflcko added this to the milestone 30.0 on Aug 25, 2025
  19. achow101 commented at 8:37 pm on August 25, 2025: member

    ACK 323b3fd27283282f2f8eb1096f56f23d8230f2d6

    Verified the subtree update and that it fixes the Ubuntu issue (after removing the 0.8.0 restriction).

  20. achow101 merged this on Aug 25, 2025
  21. achow101 closed this on Aug 25, 2025


github-metadata-mirror

This is a metadata mirror of the GitHub repository bitcoin/bitcoin. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2025-09-02 12:13 UTC

This site is hosted by @0xB10C
More mirrored repositories can be found on mirror.b10c.me