[RFC] ipc: Check / enforce exception support #36058

issue hebasto opened this issue on August 22, 2026
  1. hebasto commented at 6:02 PM on August 22, 2026: member

    When configured with -DENABLE_IPC=ON, the Bitcoin Core codebase expects the underlying KJ library to be built with exception support. If it is not, the interface_ipc.py and interface_ipc_mining.py functional tests fail, as shown in https://github.com/hebasto/bitcoin-core-nightly/actions/runs/32576370006/job/97039239853. When this behavior is not set explicitly via the KJ_NO_EXCEPTIONS macro, it is autodetected in the c++/src/kj/common.h header.

    Instead of relying on autodetection, it seems reasonable to:

    1. Check that all related dependencies, including the kj and capnproto libraries, are built with exception support.

    2. Enforce exception support in depends/packages/capnp.mk.

    3. Enforce exception support for the targets in src/ipc/libmultiprocess/.

  2. hebasto added the label Build system on Aug 22, 2026
  3. 151henry151 commented at 3:33 AM on August 24, 2026: contributor

    Draft PR for the three items: #36060

    I put the check in Core cmake so we don't touch the libmultiprocess subtree. Finding libkj from the parent isn't great; I can move the check into libmultiprocess if that's preferable.

    KJ_NO_EXCEPTIONS=0 on Core does not rebuild libkj. Configure fails when the library was built without exception support.


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-08-24 13:51 UTC

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