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
  1. ryanofsky commented at 4:39 pm on September 17, 2025: contributor
    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.
  2. 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.
    e9c52272eb
  3. DrahtBot added the label Tests on Sep 17, 2025
  4. DrahtBot commented at 4:40 pm on September 17, 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/33420.

    Reviews

    See the guideline for information on the review process.

    Type Reviewers
    ACK zaidmstrr
    Concept ACK Sjors

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

    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]

    drahtbot_id_5_m

  5. zaidmstrr commented at 4:46 pm on September 17, 2025: contributor

    Tested ACK e9c5227

    This fixes the issue and is also mentioned here.

  6. 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 libmultiprocess using (sudo) make install (https://github.com/bitcoin-core/libmultiprocess/blob/master/doc/install.md). capnp is installed via Homebrew.

  7. fanquake added the label Needs backport (30.x) on Sep 18, 2025
  8. 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.
  9. zaidmstrr commented at 10:06 am on September 18, 2025: contributor

    Here are the steps to reproduce the error in Ubuntu based systems:

    1. Install libmultiprocess library system using sudo make install
    2. Then install capnp system-wide. You can refer this for the installation. After succesfully downloading the capnp library you can check using the which capnp command, which outputs the default location of the installed binary. In most of the cases the location was /usr/local/bin/capnp.
    3. Now run the interface_ipc.py test.
  10. fanquake commented at 10:19 am on September 18, 2025: member

    Thanks, repro’d:

     0Remaining jobs: [interface_ipc.py]
     11/1 - interface_ipc.py failed, Duration: 1 s
     2
     3stdout:
     42025-09-18T10:18:46.257357Z TestFramework (INFO): PRNG seed is: 5267162394658679552
     52025-09-18T10:18:46.257836Z TestFramework (INFO): Initializing test directory /tmp/test_runner_₿_🏃_20250918_101846/interface_ipc_0
     6
     7
     8stderr:
     9terminate called after throwing an instance of 'kj::ExceptionImpl'
    10  what():  mp/proxy.capnp:0: failed: Duplicate ID [@0xcc316e3f71a040fb](/bitcoin-bitcoin/contributor/0xcc316e3f71a040fb/).
    11
    12
    13
    14TEST             | STATUS    | DURATION
    15
    16interface_ipc.py | ✖ Failed  | 1 s
    17
    18ALL              | ✖ Failed  | 1 s (accumulated) 
    19Runtime: 1 s
    
  11. fanquake merged this on Sep 18, 2025
  12. fanquake closed this on Sep 18, 2025

  13. fanquake referenced this in commit 56fb74ee89 on Sep 18, 2025
  14. fanquake removed the label Needs backport (30.x) on Sep 18, 2025
  15. fanquake commented at 10:36 am on September 18, 2025: member
    Backported to 30.x in #33424.
  16. 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 /usr and a locally build libmultiprocess installed in /usr/local the bug won’t happen. They both need to be installed in /usr or /usr/local or other prefix.


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-26 15:13 UTC

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