depends: Update libmultiprocess library before converting to subtree #31740

pull ryanofsky wants to merge 2 commits into bitcoin:master from ryanofsky:pr/bumptree changing 8 files +36 −50
  1. ryanofsky commented at 4:46 pm on January 27, 2025: contributor

    This should be the final update to the libmultiprocess package via the depends system. It brings in the libmultiprocess cmake changes from https://github.com/chaincodelabs/libmultiprocess/pull/136 needed to support building as subtree. After this, followup PR #31741 will add libmultiprocess as a git subtree and depends will just use the git subtree instead of hardcoding its own version hash.

    Since there have been libmultiprocess API changes since the last update, this commit also updates bitcoin code to be compatible with them.

    This update has the following new changes since previous update #31105:

    https://github.com/chaincodelabs/libmultiprocess/pull/121 ProxyClientBase: avoid static_cast to partially constructed object https://github.com/chaincodelabs/libmultiprocess/pull/120 proxy-types.h: add static_assert to detect int/enum size mismatch https://github.com/chaincodelabs/libmultiprocess/pull/127 ProxyClientBase: avoid static_cast to partially destructed object https://github.com/chaincodelabs/libmultiprocess/pull/129 Fix “disconnected: write(m_post_fd, &buffer, 1): Broken pipe” EventLoop shutdown races. https://github.com/chaincodelabs/libmultiprocess/pull/130 refactor: Add CleanupRun function to dedup clean list code https://github.com/chaincodelabs/libmultiprocess/pull/131 doc: fix startAsyncThread comment https://github.com/chaincodelabs/libmultiprocess/pull/133 Fix debian “libatomic not found” error in downstream builds https://github.com/chaincodelabs/libmultiprocess/pull/94 c++ 20 cleanups https://github.com/chaincodelabs/libmultiprocess/pull/135 refactor: proxy-types.h API cleanup https://github.com/chaincodelabs/libmultiprocess/pull/136 cmake: Support being included with add_subdirectory https://github.com/chaincodelabs/libmultiprocess/pull/137 doc: Fix broken markdown links

  2. depends: Update libmultiprocess library before converting to subtree
    This should be the final update to the libmultiprocess package via the depends
    system. It brings in the libmultiprocess cmake changes from
    https://github.com/chaincodelabs/libmultiprocess/pull/136 needed to support
    building as subtree. After this, a followup PR will add libmultiprocess as a
    git subtree and depends will just use the git subtree instead of hardcoding its
    own version hash.
    
    Since there have been libmultiprocess API changes since the last update, this
    commit also updates bitcoin code to be compatible with them.
    
    This update brings in the following changes:
    
    https://github.com/chaincodelabs/libmultiprocess/pull/121 ProxyClientBase: avoid static_cast to partially constructed object
    https://github.com/chaincodelabs/libmultiprocess/pull/120 proxy-types.h: add static_assert to detect int/enum size mismatch
    https://github.com/chaincodelabs/libmultiprocess/pull/127 ProxyClientBase: avoid static_cast to partially destructed object
    https://github.com/chaincodelabs/libmultiprocess/pull/129 Fix "disconnected: write(m_post_fd, &buffer, 1): Broken pipe" EventLoop shutdown races.
    https://github.com/chaincodelabs/libmultiprocess/pull/130 refactor: Add CleanupRun function to dedup clean list code
    https://github.com/chaincodelabs/libmultiprocess/pull/131 doc: fix startAsyncThread comment
    https://github.com/chaincodelabs/libmultiprocess/pull/133 Fix debian "libatomic not found" error in downstream builds
    https://github.com/chaincodelabs/libmultiprocess/pull/94 c++ 20 cleanups
    https://github.com/chaincodelabs/libmultiprocess/pull/135 refactor: proxy-types.h API cleanup
    https://github.com/chaincodelabs/libmultiprocess/pull/136 cmake: Support being included with add_subdirectory
    https://github.com/chaincodelabs/libmultiprocess/pull/137 doc: Fix broken markdown links
    2221c8814d
  3. test: Add test for IPC serialization bug
    Add regression test for serialization bug in IPC mining code that is not
    currently being called anywhere reported:
    
    https://github.com/Sjors/bitcoin/issues/71
    https://github.com/chaincodelabs/libmultiprocess/issues/122
    4e0aa1835b
  4. DrahtBot commented at 4:46 pm on January 27, 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/31740.

    Reviews

    See the guideline for information on the review process.

    Type Reviewers
    ACK Sjors, vasild, TheCharlatan

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

    Conflicts

    Reviewers, this pull request conflicts with the following ones:

    • #31564 (Add checkblock RPC and checkBlock() to Mining interface by Sjors)
    • #29409 (multiprocess: Add capnp wrapper for Chain interface by ryanofsky)
    • #19461 (multiprocess: Add bitcoin-gui -ipcconnect option by ryanofsky)
    • #19460 (multiprocess: Add bitcoin-wallet -ipcconnect option by ryanofsky)
    • #10102 (Multiprocess bitcoin by ryanofsky)

    If you consider this pull request important, please also help to review the conflicting pull requests. Ideally, start with the one that should be merged first.

  5. DrahtBot added the label Build system on Jan 27, 2025
  6. ryanofsky force-pushed on Jan 27, 2025
  7. ryanofsky commented at 6:48 pm on January 27, 2025: contributor
    Updated 9983eb6f6bc731099c8222a9390f48a38465f478 -> 4e0aa1835b3e980ceda29ec90e7115d7fef53f51 (pr/bumptree.1 -> pr/bumptree.2, compare) to include https://github.com/chaincodelabs/libmultiprocess/pull/137 and make the linter happy in #31741
  8. Sjors commented at 8:39 am on January 28, 2025: member

    ACK 4e0aa1835b3e980ceda29ec90e7115d7fef53f51

    I tested most of the changes with #30975 and reviewed some of them.

    https://github.com/ryanofsky/libmultiprocess/compare/abe254b9734f2e2b220d1456de195532d6e6ac1e...07c917f7ca910d66abc6d3873162fc9061704074

  9. vasild approved
  10. vasild commented at 11:12 am on January 28, 2025: contributor
    ACK 4e0aa1835b3e980ceda29ec90e7115d7fef53f51
  11. TheCharlatan approved
  12. TheCharlatan commented at 11:14 am on January 29, 2025: contributor
    ACK 4e0aa1835b3e980ceda29ec90e7115d7fef53f51
  13. fanquake merged this on Jan 29, 2025
  14. fanquake closed this on Jan 29, 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-02-05 18:13 UTC

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