Update libmultiprocess subtree to support reduced logging #33518

pull ryanofsky wants to merge 2 commits into bitcoin:master from ryanofsky:pr/subtree-6 changing 15 files +256 −74
  1. DrahtBot commented at 10:32 am on October 2, 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/33518.

    Reviews

    See the guideline for information on the review process.

    Type Reviewers
    ACK Sjors, theuni

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

  2. maflcko commented at 10:54 am on October 2, 2025: member

    Looks like the tsan CI failed?

    https://github.com/bitcoin/bitcoin/actions/runs/18190498400/job/51784277326?pr=33518#step:9:5885

    0SUMMARY: ThreadSanitizer: data race (/home/admin/actions-runner/_work/_temp/build/src/ipc/libmultiprocess/test/mptest+0x6ee095) (BuildId: 0a10180b43648715b83845ce52ff1702609db59d) in kj::Refcounted::disposeImpl(void*) const
    
  3. ryanofsky commented at 11:43 am on October 2, 2025: contributor

    Looks like the tsan CI failed?

    Also happens in the 30.x PR (https://github.com/bitcoin/bitcoin/actions/runs/18190672725/job/51784809732?pr=33519) so interesting that it doesn’t happen with -fsanitize=thread job in libmultiprocess repository (https://github.com/bitcoin-core/libmultiprocess/actions/runs/18190339842/job/51783802159). Will debug.

  4. maflcko commented at 12:02 pm on October 2, 2025: member
    I think the nix config is not using an instrumented libcpp, which could be a reason for the difference? C.f. USE_INSTRUMENTED_LIBCPP="Thread".
  5. ryanofsky commented at 1:35 pm on October 2, 2025: contributor

    I think the nix config is not using an instrumented libcpp, which could be a reason for the difference?

    Yes, that was the reason! Enabling “-DLLVM_USE_SANITIZER=Thread” for libcxx in nix lets me reproduce this. Will make a PR updating the CI job and fixing the bug, once I figure out what the bug is

    EDIT: This turned out not to be true. Building libc++ with -DLLVM_USE_SANITIZER=Thread did trigger tsan errors related to use of stdout, but these are not the same errors happening here. The tsan errors happening here show up when building cap’n proto with -fsanitize=thread and are just caused by a test bug introduced in https://github.com/bitcoin-core/libmultiprocess/pull/214

  6. ryanofsky referenced this in commit 7eb1da120a on Oct 2, 2025
  7. ryanofsky referenced this in commit 1cfe54149d on Oct 2, 2025
  8. ryanofsky referenced this in commit 73d22ba2e9 on Oct 2, 2025
  9. fanquake marked this as a draft on Oct 3, 2025
  10. fanquake referenced this in commit 7240cdb35c on Oct 3, 2025
  11. fanquake referenced this in commit 6c7113cb07 on Oct 3, 2025
  12. fanquake referenced this in commit 7189bd447a on Oct 3, 2025
  13. fanquake referenced this in commit 1434642b38 on Oct 3, 2025
  14. ryanofsky commented at 9:35 pm on October 3, 2025: contributor

    Note: This PR (and also #33519) is blocked on https://github.com/bitcoin-core/libmultiprocess/pull/222 to fix CI errors here. If that PR is reviewed and merged, this PR can be updated to include it and taken out of draft state.

    https://github.com/bitcoin-core/libmultiprocess/pull/224 would also be nice to include here as it fixes the LLM linter typos pointed out above.

  15. ryanofsky referenced this in commit f4344ae87d on Oct 7, 2025
  16. ryanofsky force-pushed on Oct 7, 2025
  17. Squashed 'src/ipc/libmultiprocess/' changes from 47d79db8a552..a4f929696490
    a4f929696490 Merge bitcoin-core/libmultiprocess#224: doc: fix typos
    f4344ae87da0 Merge bitcoin-core/libmultiprocess#222: test, ci: Fix threadsanitizer errors in mptest
    1434642b3804 doc: fix typos
    73d22ba2e930 test: Fix tsan race in thread busy test
    b74e1bba014d ci: Use tsan-instrumented cap'n proto in sanitizers job
    c332774409ad test: Fix failing exception check in new thread busy test
    ca3c05d56709 test: Use KJ_LOG instead of std::cout for logging
    7eb1da120ab6 ci: Use tsan-instrumented libcxx in sanitizers job
    ec86e4336e98 Merge bitcoin-core/libmultiprocess#220: Add log levels and advertise them to users via logging callback
    515ce93ad349 Logging: Pass LogData struct to logging callback
    213574ccc43d Logging: reclassify remaining log messages
    e4de0412b430 Logging: Break out expensive log messages and classify them as Trace
    408874a78fdc Logging: Use new logging macros
    67b092d835cd Logging: Disable logging if messsage level is less than the requested level
    d0a1ba7ebf21 Logging: add log levels to mirror Core's
    463a8296d188 Logging: Disable moving or copying Logger
    83a2e10c0b03 Logging: Add an EventLoop constructor to allow for user-specified log options
    58cf47a7fc8c Merge bitcoin-core/libmultiprocess#221: test default PassField impl handles output parameters
    db03a663f514 Merge bitcoin-core/libmultiprocess#214: Fix crash on simultaneous IPC calls using the same thread
    afcc40b0f1e8 Merge bitcoin-core/libmultiprocess#213: util+doc: Clearer errors when attempting to run examples + polished docs
    6db669628387 test In|Out parameter
    29cf2ada75ea test default PassField impl handles output parameters
    1238170f68e8 test: simultaneous IPC calls using same thread
    eb069ab75d83 Fix crash on simultaneous IPC calls using the same thread
    ec03a9639ab5 doc: Precision and typos
    2b4348193551 doc: Where possible, remove links to ryanofsky/bitcoin/
    286fe469c9c9 util: Add helpful error message when failing to execute file
    
    git-subtree-dir: src/ipc/libmultiprocess
    git-subtree-split: a4f92969649018ca70f949a09148bccfeaecd99a
    0f01e1577f
  18. Merge commit '0f01e1577f7c6734eb345139a12aba329ef22a5f' into pr/subtree-6 eda91b07fd
  19. ryanofsky referenced this in commit a4f9296964 on Oct 7, 2025
  20. ryanofsky force-pushed on Oct 7, 2025
  21. ryanofsky commented at 2:20 pm on October 7, 2025: contributor

    Updated 0e3fd1142c45f8feced5a4cfff3ed654e450310f -> 2e24e1c7331105ab141b3d734c19a2ccf857c293 (pr/subtree-6.1 -> pr/subtree-6.2, compare) adding https://github.com/bitcoin-core/libmultiprocess/pull/222 to fix CI errors

    Updated 2e24e1c7331105ab141b3d734c19a2ccf857c293 -> eda91b07fd9f2a6af3c31659d51f51aacf8989c4 (pr/subtree-6.2 -> pr/subtree-6.3, compare) adding https://github.com/bitcoin-core/libmultiprocess/pull/224 to fix typos reported by Drahtbot

  22. ryanofsky marked this as ready for review on Oct 7, 2025
  23. Sjors commented at 3:11 pm on October 7, 2025: member

    utACK eda91b07fd9f2a6af3c31659d51f51aacf8989c4

    Just checked the subtree update validity. Will do some testing with #33517 and https://github.com/Sjors/sv2-tp/pull/34.

  24. theuni approved
  25. theuni commented at 5:09 pm on October 7, 2025: member

    utACK eda91b07fd9f2a6af3c31659d51f51aacf8989c4.

    The upstream changes are good ones and this is a good time to sync up.

  26. fanquake merged this on Oct 10, 2025
  27. fanquake closed this on Oct 10, 2025


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-10-10 21:13 UTC

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