This change should fix issue #33417 reported by zaidmstrr. It's possible to reproduce the mp/proxy.capnp:0: failed: Duplicate ID [@0xcc316e3f71a040fb](/bitcoin-bitcoin/contributor/0xcc316e3f71a040fb/) error by installing libmultiprocess system-wide, or to one of the locations listed in the python test's imports list before the local libmultiprocess subtree, and then running the test.
test: Avoid interface_ipc.py Duplicate ID errors #33420
pull ryanofsky wants to merge 1 commits into bitcoin:master from ryanofsky:pr/ipc-pyimport changing 1 files +6 −1-
ryanofsky commented at 4:39 PM on September 17, 2025: contributor
-
e9c52272eb
test: Avoid interface_ipc.py Duplicate ID errors
This change should fix issue https://github.com/bitcoin/bitcoin/issues/33417 reported by zaidmstrr. It's possible to reproduce the `mp/proxy.capnp:0: failed: Duplicate ID @0xcc316e3f71a040fb` error by installing libmultiprocess system-wide, or to one of the locations listed in the python test's `imports` list before the local libmultiprocess subtree, and then running the test.
- DrahtBot added the label Tests on Sep 17, 2025
-
DrahtBot commented at 4:40 PM on September 17, 2025: contributor
<!--e57a25ab6845829454e8d69fc972939a-->
The following sections might be updated with supplementary metadata relevant to reviewers and maintainers.
<!--006a51241073e994b41acfe9ec718e94-->
Code Coverage & Benchmarks
For details see: https://corecheck.dev/bitcoin/bitcoin/pulls/33420.
<!--021abf342d371248e50ceaed478a90ca-->
Reviews
See the guideline for information on the review process.
If your review is incorrectly listed, please react with 👎 to this comment and the bot will ignore it on the next update.
<!--5faf32d7da4f0f540f40219e4f7537a3-->
LLM Linter (✨ experimental)
Possible typos and grammar issues:
- and there are not "failed: Duplicate ID @0xcc316e3f71a040fb" errors. -> and that there are no "failed: Duplicate ID @0xcc316e3f71a040fb" errors. [the clause needs "that" and "no" to be grammatical and clear]
<sup>drahtbot_id_5_m</sup>
-
Sjors commented at 5:07 PM on September 17, 2025: member
Concept ACK
That said, I'm unable to reproduce the issue on macOS. I installed
libmultiprocessusing(sudo) make install(https://github.com/bitcoin-core/libmultiprocess/blob/master/doc/install.md).capnpis installed via Homebrew. - fanquake added the label Needs backport (30.x) on Sep 18, 2025
-
fanquake commented at 9:53 AM on September 18, 2025: member
I also haven't reproduced the issue, using the steps provided. i.e installing libmulitprocess system-wide in a new VM, and then building Core & running
interface_ipc.py. Can someone list the steps to reach the failure, using a clean VM. -
zaidmstrr commented at 10:06 AM on September 18, 2025: contributor
Here are the steps to reproduce the error in Ubuntu based systems:
- Install
libmultiprocesslibrary system usingsudo make install - Then install
capnpsystem-wide. You can refer this for the installation. After succesfully downloading thecapnplibrary you can check using thewhich capnpcommand, which outputs the default location of the installed binary. In most of the cases the location was/usr/local/bin/capnp. - Now run the
interface_ipc.pytest.
- Install
-
fanquake commented at 10:19 AM on September 18, 2025: member
Thanks, repro'd:
Remaining jobs: [interface_ipc.py] 1/1 - interface_ipc.py failed, Duration: 1 s stdout: 2025-09-18T10:18:46.257357Z TestFramework (INFO): PRNG seed is: 5267162394658679552 2025-09-18T10:18:46.257836Z TestFramework (INFO): Initializing test directory /tmp/test_runner_₿_🏃_20250918_101846/interface_ipc_0 stderr: terminate called after throwing an instance of 'kj::ExceptionImpl' what(): mp/proxy.capnp:0: failed: Duplicate ID [@0xcc316e3f71a040fb](/bitcoin-bitcoin/contributor/0xcc316e3f71a040fb/). TEST | STATUS | DURATION interface_ipc.py | ✖ Failed | 1 s ALL | ✖ Failed | 1 s (accumulated) Runtime: 1 s - fanquake merged this on Sep 18, 2025
- fanquake closed this on Sep 18, 2025
- fanquake referenced this in commit 56fb74ee89 on Sep 18, 2025
- fanquake removed the label Needs backport (30.x) on Sep 18, 2025
-
ryanofsky commented at 10:50 AM on September 18, 2025: contributor
I also haven't reproduced the issue, using the steps provided. i.e installing libmulitprocess system-wide in a new VM, and then building Core & running
interface_ipc.py.Yeah, an additional requirement for the bug to happen is that cap'nproto and libmultiprocess need to be installed in the same prefix. If you are using a system provided cap'n proto installed in
/usrand a locally build libmultiprocess installed in/usr/localthe bug won't happen. They both need to be installed in/usror/usr/localor other prefix.