AI-generated analysisPublished automatically and not human-verified. Validated context appears in community notes below.
← Watch feed
Low 32 Bitcoin

Squashed 'src/ipc/libmultiprocess/' changes from 47d79db8a552..a4f929696490

Public commit record

What the developer wrote

Authored by Ryan Ofsky

91/100 · Strong
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
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context✓ Mentions testing or verification✓ Links an issue, advisory, or supporting reference
The short version

What changed, and why it matters

This is a routine subtree update for the libmultiprocess library used by Bitcoin Core. The bulk of the changes are developer-facing improvements: adding log levels, fixing typos, updating CI sanitizer settings, and adding tests. The most notable functional change is a fix for a crash that could occur when multiple IPC calls were made on the same thread at the same time. The fix makes the code throw a controlled 'thread busy' error instead of crashing. It is a stability/reliability improvement rather than a traditional security vulnerability fix.

Recommended action

Treat as a normal dependency/subtree update. Review the 'thread busy' fix for correctness in Bitcoin Core's IPC usage, run existing IPC and sanitizer tests, and monitor upstream libmultiprocess for any follow-up fixes. No urgent security response is indicated by the commit itself.

Security signals we found

01

Fix for crash on simultaneous IPC calls using the same thread (libmultiprocess PR #214)

02

Waiter::post now returns false on duplicate post instead of asserting

03

PassField throws std::runtime_error('thread busy') when thread is busy

04

Logging refactor with severity levels and filtering

05

CI sanitizer configuration updates (ThreadSanitizer, TSan-instrumented libc++/capnproto)

Risk score

Why this scored 32/100

Our methodology →
Potential impact 8/30
Exploitability 5/25
Stealth signal 4/15
Affected reach 6/15
Confidence 6/10
Evidence quality 3/5
Human-validated context

Community notes

Notes can correct, qualify, or add evidence to the AI analysis. Every note shown here has been validated by a human moderator.

No validated notes yet.

The AI analysis stands alone for now. Submit a note if you can add evidence or important context.