Multiprocess tracking issue #28722

issue ryanofsky opened this issue on October 24, 2023
  1. ryanofsky commented at 6:22 PM on October 24, 2023: contributor

    This issue will be updated to reflect the current state of bitcoin core multiprocess support.


    PRs for review related to building & releasing:

    PRs for review related to mining:

    PRs for review related wallet & gui & cli:

    PRs for review related to bitcoin wrapper

    Issues:

    PRs / issues closed:

    • ~#10242~ <!-- merged 2017-04-21 -->
    • ~#10295~ <!-- merged 2017-05-23 -->
    • ~#10600~ <!-- merged 2017-11-15 -->
    • ~#10244~ <!-- merged 2018-04-05 -->
    • ~#10605~ <!-- merged 2018-08-31 -->
    • ~#14636~ <!-- merged 2018-11-07 -->
    • ~#14437~ <!-- merged 2018-11-09 -->
    • ~#14711~ <!-- merged 2019-01-30 -->
    • ~#15342~ <!-- merged 2019-02-05 -->
    • ~#15373~ <!-- merged 2019-02-11 -->
    • ~#15288~ <!-- merged 2019-03-04 -->
    • ~#15531~ <!-- merged 2019-03-05 -->
    • ~#10973~ <!-- merged 2019-03-21 -->
    • ~#16839~ <!-- merged 2019-10-30 -->
    • ~#17906~ <!-- merged 2020-01-14 -->
    • ~#18278~ <!-- merged 2020-03-23 -->
    • ~#16367~ <!-- merged 2020-04-10 -->
    • ~#17999~ <!-- merged 2020-04-10 -->
    • ~#18743~ <!-- merged 2020-05-07 -->
    • ~#18587~ <!-- merged 2020-05-20 -->
    • ~#18677~ <!-- merged 2020-05-21 -->
    • ~#20494~ <!-- merged 2020-12-01 -->
    • ~#20046~ <!-- merged 2020-12-10 -->
    • ~#21035~ <!-- merged 2021-03-15 -->
    • ~#21732~ <!-- merged 2021-04-23 -->
    • ~#19160~ <!-- merged 2021-04-27 -->
    • ~#22216~ <!-- merged 2021-06-11 -->
    • ~#22214~ <!-- merged 2021-06-12 -->
    • ~#22218~ <!-- merged 2021-07-22 -->
    • ~bitcoin-core/gui#360~ <!-- merged 2021-08-12 -->
    • ~#22215~ <!-- merged 2021-08-18 -->
    • ~#22217~ <!-- merged 2021-08-22 -->
    • ~#19101~ <!-- merged 2021-08-19 -->
    • ~#22848~ <!-- merged 2021-09-06 -->
    • ~#22219~ <!-- merged 2021-09-16 -->
    • ~#23003~ <!-- merged 2021-10-13 -->
    • ~#23006~ <!-- merged 2021-10-26 -->
    • ~#23004~ <!-- merged 2021-11-15 -->
    • ~#23005~ <!-- merged 2021-11-15 -->
    • ~#23499~ <!-- merged 2021-11-16 -->
    • ~#28721~ <!-- merged 2023-11-13 -->
    • ~#28907~ <!-- merged 2023-11-22 -->
    • ~#28978~ <!-- merged 2024-01-02 -->
    • ~#28921~ <!-- merged 2024-01-23 -->
    • ~#28929~ <!-- merged 2024-05-15 -->
    • ~#30509~ <!-- merged 2024-09-09 -->
    • ~#30510~ <!-- merged 2024-09-25 -->
    • ~#31196~ <!-- merged 2024-12-18 -->
    • ~#31197~ <!-- merged 2024-12-17 -->
    • ~#30940~ <!-- merged 2024-09-27 -->
    • ~#30955~ <!-- merged 2024-10-10 -->
    • ~#31105~ <!-- merged 2024-10-21 -->
    • ~#31003~ <!-- closed 2024-11-14 -->
    • ~#31288~ <!-- merged 2024-11-20 -->
    • ~#31480~ <!-- merged 2024-12-12 -->
    • ~#31318~ <!-- merged 2024-12-17 -->
    • ~#31196~ <!-- merged 2024-12-18 -->
    • ~#31740~ <!-- merged 2025-01-29 -->
    • ~#31151~ <!-- closed 2025-01-27 -->
    • ~#31455~ <!-- closed 2025-02-03 -->
    • ~#31763~ <!-- closed 2025-02-03 -->
    • ~#31815~ <!-- closed 2025-02-10 -->
    • ~#31834~ <!-- merged 2025-02-11 -->
    • ~#31945~ <!-- merged 2025-02-25 -->
    • ~#31283~ <!-- merged 2025-03-12 -->
    • ~#31827~ <!-- closed 2025-02-21 -->
    • ~#31564~ <!-- closed 2025-03-04 -->
    • ~#31866~ <!-- merged 2025-03-20 -->
    • ~#31992~ <!-- merged 2025-03-29 -->
    • ~#31741~ <!-- merged 2025-04-11 -->
    • ~#30975~ <!-- closed 2025-04-11 -->
    • ~#31785~ <!-- merged 2025-04-14 -->
    • ~#32271~ <!-- merged 2025-04-17 -->
    • ~#32378~ <!-- merged 2025-05-14 -->
    • ~#31375~ <!-- merged 2025-05-27 -->
    • ~#32634~ <!-- merged 2025-05-29 -->
    • ~#32641~ <!-- merged 2025-05-30 -->
    • ~#32690~ <!-- merged 2025-06-11 -->
    • ~#31981~ <!-- merged 2025-06-19 -->
    • ~#32760~ <!-- merged 2025-06-16 -->
    • ~#32781~ <!-- merged 2025-06-23 -->
    • ~#31679~ <!-- merged 2025-08-07 -->
    • ~#31802~ <!-- merged 2025-08-20 -->
    • ~#32345~ <!-- merged 2025-08-18 -->
    • ~#33190~ <!-- closed 2025-08-19 -->
    • ~#33222~ <!-- merged 2025-08-21 -->
    • ~#33233~ <!-- merged 2025-08-22 -->
    • ~#33241~ <!-- merged 2025-08-25 -->
    • ~#33219~ <!-- closed 2025-08-26 -->
    • ~#33235~ <!-- merged 2025-09-04 -->
    • ~#33290~ <!-- closed 2025-09-05 -->
    • ~#33315~ <!-- closed 2025-09-05 -->
    • ~#33201~ <!-- merged 2025-09-05 -->
    • ~#33322~ <!-- merged 2025-09-08 -->
    • ~#33176~ <!-- closed 2025-09-08 -->
    • ~#33308~ <!-- merged 2025-09-08 -->
    • ~#33279~ <!-- closed 2025-09-08 -->
    • ~#33281~ <!-- closed 2025-09-08 -->
    • ~#33312~ <!-- merged 2025-09-08 -->
    • ~#33256~ <!-- closed 2025-09-08 -->
    • ~#33342~ <!-- merged 2025-09-09 -->
    • ~#33348~ <!-- merged 2025-09-09 -->
    • ~#33372~ <!-- closed 2025-09-12 -->
    • ~#33380~ <!-- merged 2025-09-16 -->
    • ~#33412~ <!-- merged 2025-09-19 -->
    • ~#33244~ <!-- closed 2025-09-19 -->
    • ~#33277~ <!-- closed 2025-09-19 -->
    • ~#33374~ <!-- closed 2025-09-20 -->
    • ~#33459~ <!-- merged 2025-09-23 -->
    • ~#33229~ <!-- merged 2025-09-25 -->
    • ~#33417~ <!-- closed 2025-09-18 -->
    • ~#33420~ <!-- merged 2025-09-18 -->
    • ~#31618~ <!-- closed 2025-10-06 -->
    • ~#33518~ <!-- merged 2025-10-10 -->
    • ~#33519~ <!-- merged 2025-10-16 -->
    • ~#33517~ <!-- merged 2025-10-14 -->
    • ~#33647~ <!-- closed 2025-10-20 -->
    • ~#32275~ <!-- closed 2025-10-13 -->
    • ~#30983~ <!-- closed 2025-10-27 -->
    • ~#31109~ <!-- closed 2025-10-27 -->
    • ~#31756~ <!-- closed 2025-10-27 -->
    • ~#33439~ <!-- closed 2025-10-27 -->
    • ~#31098~ <!-- closed 2025-10-28 -->
    • ~#33749~ <!-- merged 2025-10-31 -->
    • ~#33445~ <!-- merged 2025-11-04 -->
    • ~#33676~ <!-- merged 2025-11-10 -->
    • ~#33575~ <!-- closed 2025-11-10 -->
    • ~#33745~ <!-- merged 2025-11-12 -->
    • ~#33511~ <!-- merged 2025-11-12 -->
    • ~#33554~ <!-- closed 2025-11-18 -->
    • ~#33884~ <!-- closed 2025-11-20 -->
    • ~#33880~ <!-- merged 2025-11-20 -->
    • ~#33890~ <!-- closed 2025-11-20 -->
    • ~#33463~ <!-- closed 2025-11-24 -->
    • ~#33996~ <!-- merged 2025-12-03 -->
    • ~#33774~ <!-- merged 2025-12-04 -->
    • ~#33623~ <!-- merged 2025-12-09 -->
    • ~#34030~ <!-- closed 2025-12-11 -->
    • ~#34003~ <!-- merged 2025-12-16 -->
    • ~#34102~ <!-- merged 2025-12-30 -->
    • ~#33819~ <!-- merged 2026-01-13 -->
    • ~#34363~ <!-- merged 2026-01-21 -->
    • ~#34187~ <!-- closed 2026-01-21 -->
    • ~#33576~ <!-- closed 2026-01-22 -->
    • ~#34016~ <!-- closed 2026-01-28 -->
    • ~#32420~ <!-- merged 2026-02-02 -->
    • ~#33936~ <!-- closed 2026-02-04 -->
    • ~#34452~ <!-- merged 2026-02-07 -->
    • ~#34568~ <!-- merged 2026-02-20 -->
    • ~#34284~ <!-- closed 2026-02-20 -->
    • ~#33965~ <!-- merged 2026-02-12 -->
    • ~#34184~ <!-- merged 2026-02-24 -->
    • ~#33994~ <!-- closed 2026-02-25 -->
    • ~#34661~ <!-- merged 2026-02-27 -->
    • ~#34422~ <!-- merged 2026-03-03 -->
    • ~#33923~ <!-- closed 2026-03-03 -->
    • ~#34250~ <!-- closed 2026-03-03 -->
    • ~#34706~ <!-- merged 2026-03-04 -->
    • ~#34715~ <!-- merged 2026-03-04 -->
    • ~#34711~ <!-- closed 2026-03-04 -->
    • ~#34756~ <!-- closed 2026-03-09 -->
    • ~#34797~ <!-- closed 2026-03-11 -->
    • ~#34664~ <!-- closed 2026-03-11 -->
    • ~#34818~ <!-- merged 2026-03-12 -->
    • ~#34825~ <!-- merged 2026-03-16 -->
    • ~#33897~ <!-- closed 2026-03-19 -->
    • ~#34845~ <!-- closed 2026-03-19 -->
    • ~#33795~ <!-- closed 2026-03-21 -->
    • ~#34727~ <!-- merged 2026-03-24 -->
    • ~#33341~ <!-- closed 2026-03-24 -->
    • ~#33402~ <!-- closed 2026-03-27 -->
    • ~#34804~ <!-- closed 2026-03-30 -->
    • ~#32297~ <!-- merged 2026-03-30 -->
    • ~#32802~ <!-- closed 2026-03-31 -->
    • ~#34952~ <!-- closed 2026-03-31 -->
    • ~#34777~ <!-- closed 2026-04-01 -->
    • ~#34782~ <!-- closed 2026-04-01 -->
    • ~#34975~ <!-- closed 2026-04-03 -->
    • ~#34014~ <!-- closed 2026-04-05 -->
    • ~#33385~ <!-- merged 2026-04-07 -->
    • ~#35010~ <!-- closed 2026-04-07 -->
    • ~#34977~ <!-- merged 2026-04-07 -->
    • ~#35014~ <!-- merged 2026-04-07 -->
    • ~#34723~ <!-- closed 2026-04-07 -->
    • ~#35028~ <!-- closed 2026-04-08 -->
    • ~#35036~ <!-- closed 2026-04-09 -->

    Links:

  2. ?
    added_to_project_v2 achow101
  3. ?
    project_v2_item_status_changed achow101
  4. fanquake referenced this in commit 29c2c90362 on Nov 13, 2023
  5. fanquake referenced this in commit a238356823 on Nov 22, 2023
  6. achow101 referenced this in commit d036a86815 on Jan 2, 2024
  7. achow101 referenced this in commit 2f218c664b on Jan 23, 2024
  8. ?
    removed_from_project_v2 achow101
  9. achow101 referenced this in commit 71f0f2273f on May 15, 2024
  10. achow101 referenced this in commit df3f63ccfa on Sep 9, 2024
  11. achow101 referenced this in commit 65f6e7078b on Sep 25, 2024
  12. PastaPastaPasta referenced this in commit 2786b58bf6 on Sep 27, 2024
  13. PastaPastaPasta referenced this in commit ba3378899e on Sep 27, 2024
  14. PastaPastaPasta referenced this in commit 3d589cd31e on Sep 27, 2024
  15. PastaPastaPasta referenced this in commit 6a454fb19f on Sep 28, 2024
  16. PastaPastaPasta referenced this in commit 630e767be7 on Oct 1, 2024
  17. fanquake referenced this in commit ba0a4391ff on Feb 25, 2025
  18. hebasto referenced this in commit 4c1906a500 on Mar 29, 2025
  19. fanquake referenced this in commit b2bb27f40c on Apr 11, 2025
  20. sipa commented at 5:52 PM on April 15, 2025: member

    Please let me know if this is already implemented, being discussed elsewhere, or if this is not the right place for it.

    Would it make sense to (not now, or even necessarily in the short term), make bitcoin-cli (or bitcoin rpc, with the wrapper binary) support IPC communication with bitcoin-node, which would gain an "RPC-over-IPC" service? Since IPC supports communication over a UNIX socket, and there has been discussion about what would be needed to make RPC support UNIX sockets, this seems like an easy way to achieve the same thing.

    This cannot be a replacement for the TCP/IP-based RPC functionality, as it would lack authentication control, but enable an easy, efficient, configuration-free way of executing RPC commands?

  21. ryanofsky commented at 7:21 PM on April 15, 2025: contributor

    re: #28722 (comment)

    This is an interesting idea. Another place to discuss it might be #5029, depending on what goal of the change is. There are links to different unix socket implementations in #5029, and according to #31194, supporting unix socket RPC calls is a top reason for wanting to drop the dependency on libevent (which is done in #32061).

    Probably the cleanest way to support RPCs over a unix socket would be to send JSON-RPC requests directly over the socket as discussed in the previous issues. But it would be pretty easy to implement a new IPC interface similar to the IPC mining interface which could allow bitcoin-cli or another client to make RPC method calls over the IPC socket. I could make a small PR to implement that if it would be interesting. The interface could be as simple as something like:

    interface Rpc $Proxy.wrap("interfaces::Rpc") {
        callMethod [@0](/bitcoin-bitcoin/contributor/0/) (context :Proxy.Context, request :Text) -> (result :Text);
    };
    

    if it just passes JSON requests and responses. Though probably the interface should be more structured and use separate fields for things like wallet names and user names.

    there has been discussion about what would be needed to make RPC support UNIX sockets, this seems like an easy way to achieve the same thing.

    Yes, this should be easier to implement than other approaches. The relative downsides are that it would be more internally complicated, and more awkward to write external clients for, since it would require capnproto.

    EDIT: Implemented this a draft PR in #32297

  22. ryanofsky referenced this in commit 0d9473f0ca on Apr 17, 2025
  23. ryanofsky referenced this in commit df40f46571 on Apr 17, 2025
  24. ryanofsky referenced this in commit e770c0273a on Apr 18, 2025
  25. ryanofsky referenced this in commit 0394da2fec on Apr 18, 2025
  26. ryanofsky referenced this in commit 113b46d310 on Apr 21, 2025
  27. ?
    added_to_project_v2 fanquake
  28. ryanofsky referenced this in commit a671f5a31d on May 22, 2025
  29. ryanofsky referenced this in commit 15f8e6b034 on May 22, 2025
  30. achow101 referenced this in commit 012f347685 on May 27, 2025
  31. ryanofsky referenced this in commit e58e680bf7 on Jun 4, 2025
  32. ryanofsky referenced this in commit 2007d174e7 on Jun 4, 2025
  33. ryanofsky referenced this in commit 89865a1be4 on Jun 24, 2025
  34. ryanofsky referenced this in commit 7bab20107e on Jul 7, 2025
  35. ryanofsky referenced this in commit 51f6c12979 on Jul 7, 2025
  36. DashCoreAutoGuix referenced this in commit a8622d45c3 on Jul 30, 2025
  37. DashCoreAutoGuix referenced this in commit 885654f285 on Jul 30, 2025
  38. DashCoreAutoGuix referenced this in commit 6df2c577c9 on Aug 6, 2025
  39. DashCoreAutoGuix referenced this in commit 2d38312f80 on Aug 7, 2025
  40. fanquake referenced this in commit 2bb06bcaf2 on Aug 7, 2025
  41. DashCoreAutoGuix referenced this in commit dacdfb87e3 on Aug 8, 2025
  42. fanquake referenced this in commit f58de8749e on Aug 18, 2025
  43. achow101 referenced this in commit 31b29f8eb6 on Sep 25, 2025
  44. glozow added the label Tracking Issue on Oct 9, 2025
  45. ryanofsky referenced this in commit 05756469c0 on Oct 15, 2025
  46. ryanofsky referenced this in commit abc3169fd1 on Oct 15, 2025
  47. ryanofsky referenced this in commit 71fd233e33 on Dec 12, 2025
  48. ryanofsky referenced this in commit 1d03a85454 on Dec 12, 2025
  49. ryanofsky referenced this in commit e96b79482b on Jan 7, 2026
  50. ryanofsky referenced this in commit ccf3ee4e49 on Jan 7, 2026
  51. ryanofsky referenced this in commit 5540616db9 on Mar 2, 2026
  52. ryanofsky referenced this in commit 8d614bfa47 on Mar 2, 2026
  53. achow101 referenced this in commit c97ac44c34 on Mar 30, 2026
Contributors
Linked (view graph)
#10102 Multiprocess bitcoin#10242 [qt] Don't call method on null WalletModel object#10244 Refactor: separate gui from wallet and node#10295 [qt] Move some WalletModel functions into CWallet#10600 Make feebumper class stateless#10605 Add AssertLockHeld assertions in CWallet::ListCoins#10973 Refactor: separate wallet from node#14437 Refactor: Start to separate wallet from node#14636 Avoid using numeric_limits for sequence numbers and lock times#14711 Remove uses of chainActive and mapBlockIndex in wallet code#15288 Remove wallet -> node global function calls#15342 Suggested wallet code cleanups from #14711#15373 Move ParseConfirmTarget from rpc/mining to rpc/util#15531 Suggested interfaces::Chain cleanups from #15288#16367 Multiprocess build support#16839 Replace Connman and BanMan globals with NodeContext local#17906 gui: Set CConnman byte counters earlier to avoid uninitialized reads#17999 refactor: Add ChainClient setMockTime, getWallets methods#18278 interfaces: Describe and follow some code conventions#18587 gui: Avoid wallet tryGetBalances calls in WalletModel::pollBalanceChanged#18677 Multiprocess build support#18743 depends: Add --sysroot option to mac os native compile flags#19101 refactor: remove ::vpwallets and related global variables#19160 multiprocess: Add basic spawn and IPC support#19460 multiprocess: Add bitcoin-wallet -ipcconnect option#19461 multiprocess: Add bitcoin-gui -ipcconnect option#20046 depends: Set CMAKE_INSTALL_RPATH for native packages#20494 refactor: Move node and wallet code out of src/interfaces#21035 Remove pointer cast in CRPCTable::dumpArgMap#21732 MOVEONLY: Move common init code to init/common#22214 refactor: Rearrange fillPSBT arguments#22215 refactor: Add FoundBlock.found member#22216 refactor: Make SetupServerArgs callable without NodeContext#22217 refactor: Avoid wallet code writing node settings file#22218 multiprocess: Add ipc::Context and ipc::capnp::Context structs#22219 multiprocess: Start using init makeNode, makeChain, etc methods#22848 MOVEONLY: Expose BanMapToJson / BanMapFromJson#23003 multiprocess: Make interfaces::Chain::isTaprootActive non-const#23004 multiprocess: add interfaces::ExternalSigner class#23005 multiprocess: Delay wallet client construction#23006 multiprocess: Add new bitcoin-gui, bitcoin-qt, bitcoin-wallet init implementations#23015 RFC: Add multiprocess fuzz target#23499 multiprocess: Add interfaces::Node::broadCastTransaction method#28721 multiprocess compatibility updates#28907 depends: bump libmultiprocess to fix capnproto deprecation warnings#28921 multiprocess: Add basic type conversion hooks#28929 serialization: Support for multiple parameters#28978 doc: Add multiprocess design doc#29409 multiprocess: Add capnp wrapper for Chain interface#30437 ipc: add bitcoin-mine test program#30509 multiprocess: Add -ipcbind option to bitcoin-node#30510 multiprocess: Add IPC wrapper for Mining interface#30940 depends: Fix build with `MULTIPROCESS=1` in Guix environment#30955 Mining interface: getCoinbaseMerklePath() and submitSolution()#30975 ci: build multiprocess on most jobs#30983 RFC: Multiprocess binaries and packaging options#31003 Add waitFeesChanged() to Mining interface#31098 Stratum v2 via IPC Mining Interface tracking issue#31105 Update libmultiprocess library#31109 Mining Interface doesn't allow for Bitcoin Core to create blocks when it wants#31151 ci: intermittent issue in rpc_misc.py node0 stderr terminate called after throwing an instance of 'kj::ExceptionImpl' [15:12:14.943] what(): mp/proxy.cpp:242: disconnected: write(m_post_fd, &buffer, 1): Broken pipe#31196 Prune mining interface#31197 refactor: mining interface 30955 followups#31283 Add waitNext() to BlockTemplate interface#31288 Add destroy to BlockTemplate schema#31318 Drop script_pub_key arg from createNewBlock#31375 multiprocess: Add bitcoin wrapper executable#31455 multiprocess: build failure on Alpine with depends & `DEBUG=1`#31480 refactor: Fix "modernize-use-starts-ends-with" clang-tidy warning#31564 Add checkblock RPC and checkBlock() to Mining interface#31618 multiprocess: `ipc_tests` fail on *BSD#31679 cmake: Install internal binaries to <prefix>/libexec/#31740 depends: Update libmultiprocess library before converting to subtree#31741 multiprocess: Add libmultiprocess git subtree#31756 RFC: Adding bitcoin-{node,gui} binaries for IPC in 30.0 release#31763 Pass custom DEP_OPTS and CONFIG_FLAGS to guix-build#31785 Have createNewBlock() wait for tip, make rpc handle shutdown during long poll and wait methods#31802 Add bitcoin-{node,gui} to release binaries for IPC#31815 multiprocess: Lock CapnpProtocol::m_loop with mutex#31827 Rename bitcoin-wallet?#31834 build: disable bitcoin-node if daemon is not built#31866 test, refactor: Add TestNode.binaries to hold binary paths#31945 depends: Update libmultiprocess library to fix CI failures#31981 Add checkBlock() to Mining interface#31992 cmake: Avoid fuzzer "multiple definition of `main'" errors#32271 doc: Document WITH_EXTERNAL_LIBMULTIPROCESS build option better#32275 Release Schedule for 30.0#32297 bitcoin-cli: Add -ipcconnect option#32345 ipc: Handle unclean shutdowns better#32378 interfaces: refactor: move `Mining` and `BlockTemplate` implementation to miner#32387 ipc: add windows support#32420 mining, ipc: omit dummy extraNonce from coinbase#32634 build: Add resource file and manifest to `bitcoin.exe`#32641 Update libmultiprocess subtree to fix clang-tidy errors#32669 upstream: capnp V2 doesn't support compilation with GCC (yet?)#32690 depends: fix multiprocess build on OpenBSD (apply capnp patch, correct SHA256SUM command)#32760 depends: capnp 1.2.0#32781 refactor: modernize deprecated ipc headers#32802 IPC via TCP Sockets#32898 POC: IPC tracing interface#33176 build: indefinite mpgen hang on Ubuntu 22.04#33190 build: Enable ENABLE_IPC option by default#33201 Add functional test for IPC interface#33219 depends: `native_libmultiprocess` fails to build on OpenBSD#33222 miner: clamp options instead of asserting#33229 multiprocess: Don't require bitcoin -m argument when IPC options are used#33233 doc: follow-ups to "Add bitcoin-{node,gui} to release binaries for IPC"#33235 build: set ENABLE_IPC to OFF when fuzzing#33241 Update libmultiprocess subtree to fix build issues#33244 intermittent timeout in mptest unit test#33256 ci: tidy job is producing output#33277 intermittent Segmentation fault in mptest IPC path (callFnAsyncParams)#33279 build: clang build broken on Debian Bookworm#33281 clang-tidy: disable clang-analyzer UndefinedBinaryOperatorResult warning#33290 build: suggest -DENABLE_IPC=OFF when missing capnp#33308 doc: fix `LIBRARY_PATH` comment#33312 clang-tidy: Disable `UndefinedBinaryOperatorResult` check in `src/ipc`#33315 build: suggest -DENABLE_IPC=OFF when missing capnp#33322 Update libmultiprocess subtree to improve build and logs#33341 ipc: crash on `submitSolution` call with invalid coinbase#33342 guix: strip binaries in libexec#33348 contrib: add bitcoin binary to gen-manpages#33372 mining: log failed blocks in submitSolution()#33374 mining: add applySolution() to interface#33380 test: Add submitblock test in interface_ipc#33385 contrib: Add bash completion for new bitcoin command#33387 Assertion hit on shutdown of bitcoin-node with connected mining interface client#33402 contrib: Add zsh completion scripts#33412 Update libmultiprocess subtree to fix intermittent mptest hang#33417 Test interface_ipc.py fails with Duplicate ID error when libmultiprocess is installed system-wide#33420 test: Avoid interface_ipc.py Duplicate ID errors#33421 node: add `BlockTemplateCache`#33439 How to backport libmultiprocess changes?#33445 ci: Update Clang in "tidy" job#33459 doc: remove unrelated `bitcoin-wallet` binary from `libbitcoin_ipc` description#33463 `bitcoin-node` is unkillable after mining IPC connection is established#33511 init: Fix Ctrl-C shutdown hangs during wait calls#33517 multiprocess: Fix high overhead from message logging#33518 Update libmultiprocess subtree to support reduced logging#33519 Update libmultiprocess subtree in 30.x branch#33554 [`v30.0rc3`]`bitcoin-node` aborts with mining IPC interface usage#33575 RFC: Cancelling waitNext calls in the IPC mining interface#33576 29.x: using a local libmultiprocess install will no-longer work#33623 doc: document capnproto and libmultiprocess deps in 29.x#33647 [`v30.0`] `createNewBlock` never returns#33676 interfaces: enable cancelling running `waitNext` calls#33745 mining: check witness commitment in submitBlock#33747 contrib: zsh and fish completions for bitcoin wrapper executable#33749 test: ipc: resolve symlinks in `which capnp`#33756 Header-only support for waitNext()#33774 cmake: Move IPC tests to `ipc/test`#33777 Mining interface tracking issue#33795 test: Ignore error message give from python because of PYTHON_GIL#33819 mining: getCoinbase() returns struct instead of raw tx#33880 test: Fix race condition in IPC interface block progation test#33884 interface_ipc functional test failing in CI#33890 mining: add requestedOutputs field, e.g. for merged mining#33897 rfc: virtio-vsock for RPC and IPC#33899 Block template memory management (for IPC clients)#33922 mining: add getMemoryLoad() and track template non-mempool memory footprint#33923 should concurrent IPC requests directed to the same thread cause a crash?#33936 mining: pass missing context to createNewBlock() and checkBlock()#33940 Memory leak when using IPC mining interface#33965 mining: fix -blockreservedweight shadows IPC option#33966 refactor: disentangle miner startup defaults from runtime options#33994 Mining IPC `createNewBlock` should not return before IBD is over#33996 contrib: fix manpage generation#34003 test: interface_ipc.py minor fixes and cleanup#34014 mptest hangs, when run in a loop#34016 test: `interface_ipc.py` might start skipping if installed capnp version changes#34020 mining: add getTransactions(ByWitnessID) IPC methods#34030 consider adding a new `interface RawTxFeed` on Mining IPC#34102 depends: capnp 1.3.0#34184 mining: add cooldown to createNewBlock() immediately after IBD#34187 Intermittent issue in rpc_misc.py: test_framework.authproxy.JSONRPCException: 'echoipc' RPC took longer than 1200.000000 seconds.#34250 crash during IPC cleanup after `interruptWait()` is called#34284 ipc, test: Add tests for unclean disconnect and thread busy behavior#34363 Update libmultiprocess subtree to avoid occasional rpc_misc.py timeout#34422 Update libmultiprocess subtree to be more stable with rust IPC client#34452 test: split interface_ipc.py#34568 mining: Break compatibility with existing IPC mining clients#34644 mining: add submitBlock to IPC Mining interface#34661 ipc mining: Prevent ``Assertion `m_node.chainman' failed`` errors on early startup#34664 IPC server crashes on early client connection (assertion failure in `proxy.h` and `interfaces.cpp`)#34672 mining: add reason/debug to `submitSolution` and unify with `submitBlock`#34706 doc: Improve dependencies.md IPC documentation#34711 src/ipc/libmultiprocess/src/mp/proxy.cpp:416:44: runtime error: member access within null pointer of type 'mp::Waiter'#34715 test: avoid interface_ipc.py race and null pointer dereference#34723 macOS + REDUCE_EXPORTS: Cap'n Proto misidentifies kj::Exception as unknown non-KJ exception#34727 test: Add IPC wake-up test and reuse mining context#34732 i386 segv in #0 0xf7a49ce0 in kj::operator*(kj::_::Stringifier, kj::Exception const&) (/lib/i386-linux-gnu/libkj-1.1.0.so+0x38ce0)#34756 ipc: AddressSanitizer: SEGV nptl/pthread_mutex_lock.c:80:23 in __pthread_mutex_lock#34777 ipc: AddressSanitizer: heap-use-after-free in `capnp::CallContext<ipc::capnp::messages::BlockTemplate::GetBlockParams, ipc::capnp::messages::BlockTemplate::GetBlockResults>::getParams()`#34782 mptest: mp::CancelMonitor: AddressSanitizer: stack-use-after-return#34797 Improved CustomBuildField for std::optional in IPC/libmultiprocess#34804 Update libmultiprocess subtree to fix race conditions on disconnects#34818 doc: fix process name typo in multiprocess.md#34825 depends: capnp 1.4.0#34845 refactor: generalize IPC ParseAddress to use sockaddr_storage#34860 mining: always pad scriptSig at low heights, drop include_dummy_extranonce#34906 contrib: Add zsh completion scripts#34928 ci: subtree lint scope#34952 Update libmultiprocess subtree in 31.x branch to fix race conditions on disconnects#34975 spawn_tests: failed: expected WIFEXITED(status) && WEXITSTATUS(status) == 0#34977 Update libmultiprocess subtree to fix test timeout#34978 init: Reserve file descriptors for IPC connections#34981 multiprocess: expose existing interfaces or design new ones?#35010 refactor: replace memcpy with std::copy and add size asserts in IPC capnp serialization#35014 test: remove macOS REDUCE_EXPORTS exception workaround#35028 [31.x] Backports + rc3#35036 ipc: support per-address max-connections options on -ipcbind#35037 ipc: support per-address max-connections options on -ipcbind#35084 ipc: Support for windows support#35118 fuzz: add ipc round-trip fuzz target

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: 2026-05-02 12:13 UTC

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