macOS + REDUCE_EXPORTS: Cap'n Proto misidentifies kj::Exception as unknown non-KJ exception #34723

issue ryanofsky opened this issue on March 3, 2026
  1. ryanofsky commented at 6:24 PM on March 3, 2026: contributor

    macOS builds with REDUCE_EXPORTS currently cause Cap'n Proto RPC to report:

    remote exception: unknown non-KJ exception of type: kj::Exception
    

    instead of expected typed exception messages. Tests currently contain a workaround to accept this behavior.

    This issue tracks investigating and fixing the underlying exception type visibility/RTTI problem and removing the workaround.

    Related: #34422 (review)

  2. fanquake added the label macOS on Mar 3, 2026
  3. fanquake added the label interfaces on Mar 3, 2026
  4. alfonsoromanz referenced this in commit b5ea42d898 on Apr 6, 2026
  5. alfonsoromanz commented at 5:55 PM on April 6, 2026: contributor

    I think I found the root cause and opened #35014 with a fix. CI fails the subtree lint since the change is in type-context.h (libmultiprocess subtree). Should this go through bitcoin-core/libmultiprocess first?

  6. bitcoin blocked a user on Apr 6, 2026
  7. ryanofsky commented at 6:08 PM on April 6, 2026: contributor

    I think I found the root cause and opened #35014 with a fix. CI fails the subtree lint since the change is in type-context.h (libmultiprocess subtree). Should this go through bitcoin-core/libmultiprocess first?

    Thanks! It's probably good you opened #35014 first since the macos test passing there helps verify the fix works, but yes the next step should be to open a libmultiprocess PR.

  8. alfonsoromanz commented at 6:28 PM on April 6, 2026: contributor

    I think I found the root cause and opened #35014 with a fix. CI fails the subtree lint since the change is in type-context.h (libmultiprocess subtree). Should this go through bitcoin-core/libmultiprocess first?

    Thanks! It's probably good you opened #35014 first since the macos test passing there helps verify the fix works, but yes the next step should be to open a libmultiprocess PR.

    Thanks! opened the libmultiprocess PR: bitcoin-core/libmultiprocess#268

  9. alfonsoromanz referenced this in commit 74660af347 on Apr 6, 2026
  10. bitcoin deleted a comment on Apr 7, 2026
  11. ryanofsky referenced this in commit 3edbe8f67c on Apr 7, 2026
  12. achow101 closed this on Apr 7, 2026

  13. pull[bot] referenced this in commit d2844c6a4f on Apr 7, 2026

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-04-21 18:12 UTC

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