-
Notifications
You must be signed in to change notification settings - Fork 39k
Multiprocess tracking issue #28722
Copy link
Copy link
Open
Labels
Tracking IssueTracks longer-running projects and releases. Gathers TODOs, issues, PRs, and status updates.Tracks longer-running projects and releases. Gathers TODOs, issues, PRs, and status updates.
Metadata
Metadata
Assignees
Labels
Tracking IssueTracks longer-running projects and releases. Gathers TODOs, issues, PRs, and status updates.Tracks longer-running projects and releases. Gathers TODOs, issues, PRs, and status updates.
Type
Fields
Give feedbackNo fields configured for issues without a type.
Projects
StatusShow more project fields
No status
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:
submitSolutionand unify withsubmitBlock#34672BlockTemplateCache#33421submitSolutionand unify withsubmitBlock#34672PRs for review related wallet & gui & cli:
PRs for review related to
bitcoinwrapperIssues:
Branches:
PRs / issues closed:
[qt] Don't call method on null WalletModel object #10242[qt] Move some WalletModel functions into CWallet #10295Make feebumper class stateless #10600Refactor: separate gui from wallet and node #10244Add AssertLockHeld assertions in CWallet::ListCoins #10605Avoid using numeric_limits for sequence numbers and lock times #14636Refactor: Start to separate wallet from node #14437Remove uses of chainActive and mapBlockIndex in wallet code #14711Suggested wallet code cleanups from #14711 #15342Move ParseConfirmTarget from rpc/mining to rpc/util #15373Remove wallet -> node global function calls #15288Suggested interfaces::Chain cleanups from #15288 #15531Refactor: separate wallet from node #10973Replace Connman and BanMan globals with NodeContext local #16839gui: Set CConnman byte counters earlier to avoid uninitialized reads #17906interfaces: Describe and follow some code conventions #18278Multiprocess build support #16367refactor: Add ChainClient setMockTime, getWallets methods #17999depends: Add --sysroot option to mac os native compile flags #18743gui: Avoid wallet tryGetBalances calls in WalletModel::pollBalanceChanged #18587Multiprocess build support #18677refactor: Move node and wallet code out of src/interfaces #20494depends: Set CMAKE_INSTALL_RPATH for native packages #20046Remove pointer cast in CRPCTable::dumpArgMap #21035MOVEONLY: Move common init code to init/common #21732multiprocess: Add basic spawn and IPC support #19160refactor: Make SetupServerArgs callable without NodeContext #22216refactor: Rearrange fillPSBT arguments #22214multiprocess: Add ipc::Context and ipc::capnp::Context structs #22218Unregister wallet notifications before unloading wallets bitcoin-core/gui#360refactor: Add FoundBlock.found member #22215refactor: Avoid wallet code writing node settings file #22217refactor: remove ::vpwallets and related global variables #19101MOVEONLY: Expose BanMapToJson / BanMapFromJson #22848multiprocess: Start using init makeNode, makeChain, etc methods #22219multiprocess: Make interfaces::Chain::isTaprootActive non-const #23003multiprocess: Add new bitcoin-gui, bitcoin-qt, bitcoin-wallet init implementations #23006multiprocess: add interfaces::ExternalSigner class #23004multiprocess: Delay wallet client construction #23005multiprocess: Add interfaces::Node::broadCastTransaction method #23499multiprocess compatibility updates #28721depends: bump libmultiprocess to fix capnproto deprecation warnings #28907doc: Add multiprocess design doc #28978multiprocess: Add basic type conversion hooks #28921serialization: Support for multiple parameters #28929multiprocess: Add -ipcbind option to bitcoin-node #30509multiprocess: Add IPC wrapper for Mining interface #30510Prune mining interface #31196refactor: mining interface 30955 followups #31197depends: Fix build withMULTIPROCESS=1in Guix environment #30940Mining interface: getCoinbaseMerklePath() and submitSolution() #30955Update libmultiprocess library #31105Add waitFeesChanged() to Mining interface #31003Add destroy to BlockTemplate schema #31288refactor: Fix "modernize-use-starts-ends-with" clang-tidy warning #31480Drop script_pub_key arg from createNewBlock #31318Prune mining interface #31196depends: Update libmultiprocess library before converting to subtree #31740ci: 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 #31151multiprocess: build failure on Alpine with depends &DEBUG=1#31455Pass custom DEP_OPTS and CONFIG_FLAGS to guix-build #31763multiprocess: Lock CapnpProtocol::m_loop with mutex #31815build: disable bitcoin-node if daemon is not built #31834depends: Update libmultiprocess library to fix CI failures #31945Add waitNext() to BlockTemplate interface #31283Rename bitcoin-wallet? #31827Add checkblock RPC and checkBlock() to Mining interface #31564test, refactor: Add TestNode.binaries to hold binary paths #31866cmake: Avoid fuzzer "multiple definition of `main'" errors #31992multiprocess: Add libmultiprocess git subtree #31741ci: build multiprocess on most jobs #30975Have createNewBlock() wait for tip, make rpc handle shutdown during long poll and wait methods #31785doc: Document WITH_EXTERNAL_LIBMULTIPROCESS build option better #32271interfaces: refactor: moveMiningandBlockTemplateimplementation to miner #32378multiprocess: Add bitcoin wrapper executable #31375build: Add resource file and manifest tobitcoin.exe#32634Update libmultiprocess subtree to fix clang-tidy errors #32641depends: fix multiprocess build on OpenBSD (apply capnp patch, correct SHA256SUM command) #32690Add checkBlock() to Mining interface #31981depends: capnp 1.2.0 #32760refactor: modernize deprecated ipc headers #32781cmake: Install internal binaries to <prefix>/libexec/ #31679Add bitcoin-{node,gui} to release binaries for IPC #31802ipc: Handle unclean shutdowns better #32345build: Enable ENABLE_IPC option by default #33190miner: clamp options instead of asserting #33222doc: follow-ups to "Add bitcoin-{node,gui} to release binaries for IPC" #33233Update libmultiprocess subtree to fix build issues #33241depends:native_libmultiprocessfails to build on OpenBSD #33219build: set ENABLE_IPC to OFF when fuzzing #33235build: suggest -DENABLE_IPC=OFF when missing capnp #33290build: suggest -DENABLE_IPC=OFF when missing capnp #33315Add functional test for IPC interface #33201Update libmultiprocess subtree to improve build and logs #33322build: indefinite mpgen hang on Ubuntu 22.04 #33176doc: fixLIBRARY_PATHcomment #33308build: clang build broken on Debian Bookworm #33279clang-tidy: disable clang-analyzer UndefinedBinaryOperatorResult warning #33281clang-tidy: DisableUndefinedBinaryOperatorResultcheck insrc/ipc#33312ci: tidy job is producing output #33256guix: strip binaries in libexec #33342contrib: add bitcoin binary to gen-manpages #33348mining: log failed blocks in submitSolution() #33372test: Add submitblock test in interface_ipc #33380Update libmultiprocess subtree to fix intermittent mptest hang #33412intermittent timeout in mptest unit test #33244intermittent Segmentation fault in mptest IPC path (callFnAsyncParams) #33277mining: add applySolution() to interface #33374doc: remove unrelatedbitcoin-walletbinary fromlibbitcoin_ipcdescription #33459multiprocess: Don't require bitcoin -m argument when IPC options are used #33229Test interface_ipc.py fails with Duplicate ID error when libmultiprocess is installed system-wide #33417test: Avoid interface_ipc.py Duplicate ID errors #33420multiprocess:ipc_testsfail on *BSD #31618Update libmultiprocess subtree to support reduced logging #33518Update libmultiprocess subtree in 30.x branch #33519multiprocess: Fix high overhead from message logging #33517[v30.0]createNewBlocknever returns #33647Release Schedule for 30.0 #32275RFC: Multiprocess binaries and packaging options #30983Mining Interface doesn't allow for Bitcoin Core to create blocks when it wants #31109RFC: Adding bitcoin-{node,gui} binaries for IPC in 30.0 release #31756How to backport libmultiprocess changes? #33439Stratum v2 via IPC Mining Interface tracking issue #31098test: ipc: resolve symlinks inwhich capnp#33749ci: Update Clang in "tidy" job #33445interfaces: enable cancelling runningwaitNextcalls #33676RFC: Cancelling waitNext calls in the IPC mining interface #33575mining: check witness commitment in submitBlock #33745init: Fix Ctrl-C shutdown hangs during wait calls #33511[v30.0rc3]bitcoin-nodeaborts with mining IPC interface usage #33554interface_ipc functional test failing in CI #33884test: Fix race condition in IPC interface block progation test #33880mining: add requestedOutputs field, e.g. for merged mining #33890bitcoin-nodeis unkillable after mining IPC connection is established #33463contrib: fix manpage generation #33996cmake: Move IPC tests toipc/test#33774doc: document capnproto and libmultiprocess deps in 29.x #33623consider adding a newinterface RawTxFeedon Mining IPC #34030test: interface_ipc.py minor fixes and cleanup #34003depends: capnp 1.3.0 #34102mining: getCoinbase() returns struct instead of raw tx #33819Update libmultiprocess subtree to avoid occasional rpc_misc.py timeout #34363Intermittent issue in rpc_misc.py: test_framework.authproxy.JSONRPCException: 'echoipc' RPC took longer than 1200.000000 seconds. #3418729.x: using a local libmultiprocess install will no-longer work #33576test:interface_ipc.pymight start skipping if installed capnp version changes #34016mining, ipc: omit dummy extraNonce from coinbase #32420mining: pass missing context to createNewBlock() and checkBlock() #33936test: split interface_ipc.py #34452mining: Break compatibility with existing IPC mining clients #34568ipc, test: Add tests for unclean disconnect and thread busy behavior #34284mining: fix -blockreservedweight shadows IPC option #33965mining: add cooldown to createNewBlock() immediately after IBD #34184Mining IPCcreateNewBlockshould not return before IBD is over #33994ipc mining: Prevent `Assertionm_node.chainman' failed`` errors on early startup #34661Update libmultiprocess subtree to be more stable with rust IPC client #34422should concurrent IPC requests directed to the same thread cause a crash? #33923crash during IPC cleanup afterinterruptWait()is called #34250doc: Improve dependencies.md IPC documentation #34706test: avoid interface_ipc.py race and null pointer dereference #34715src/ipc/libmultiprocess/src/mp/proxy.cpp:416:44: runtime error: member access within null pointer of type 'mp::Waiter' #34711ipc: AddressSanitizer: SEGV nptl/pthread_mutex_lock.c:80:23 in __pthread_mutex_lock #34756Improved CustomBuildField for std::optional in IPC/libmultiprocess #34797IPC server crashes on early client connection (assertion failure inproxy.handinterfaces.cpp) #34664doc: fix process name typo in multiprocess.md #34818depends: capnp 1.4.0 #34825rfc: virtio-vsock for RPC and IPC #33897refactor: generalize IPC ParseAddress to use sockaddr_storage #34845test: Ignore error message give from python because of PYTHON_GIL #33795test: Add IPC wake-up test and reuse mining context #34727ipc: crash onsubmitSolutioncall with invalid coinbase #33341contrib: Add zsh completion scripts #33402Update libmultiprocess subtree to fix race conditions on disconnects #34804bitcoin-cli: Add -ipcconnect option #32297IPC via TCP Sockets #32802Update libmultiprocess subtree in 31.x branch to fix race conditions on disconnects #34952ipc: AddressSanitizer: heap-use-after-free incapnp::CallContext<ipc::capnp::messages::BlockTemplate::GetBlockParams, ipc::capnp::messages::BlockTemplate::GetBlockResults>::getParams()#34777mptest: mp::CancelMonitor: AddressSanitizer: stack-use-after-return #34782spawn_tests: failed: expected WIFEXITED(status) && WEXITSTATUS(status) == 0 #34975mptest hangs, when run in a loop #34014contrib: Add bash completion for new bitcoin command #33385refactor: replace memcpy with std::copy and add size asserts in IPC capnp serialization #35010Update libmultiprocess subtree to fix test timeout #34977test: remove macOS REDUCE_EXPORTS exception workaround #35014macOS + REDUCE_EXPORTS: Cap'n Proto misidentifies kj::Exception as unknown non-KJ exception #34723[31.x] Backports + rc3 #35028ipc: support per-address max-connections options on -ipcbind #35036mining: always pad scriptSig at low heights, drop include_dummy_extranonce #34860refactor: disentangle miner startup defaults from runtime options #33966mining: add always_add_coinbase_commitment option #35393build: exclude libmultiprocess test target from compile commands #35401mining: add submitBlock to IPC Mining interface #34644Links: