My understanding is that this doesn’t really matter much, e.g. tools like tidy and TSan won’t work better. They might produce slightly more readable output.
It should however work for the all the versions of capnp that we support.
Based on #201
My understanding is that this doesn’t really matter much, e.g. tools like tidy and TSan won’t work better. They might produce slightly more readable output.
It should however work for the all the versions of capnp that we support.
Based on #201
This bug is currently causing mptest "disconnecting and blocking" test to
occasionally hang as reported by maflcko in
https://github.com/bitcoin/bitcoin/issues/33244.
The bug was actually first reported by Sjors in
https://github.com/Sjors/bitcoin/pull/90#issuecomment-3024942087 and there are
more details about it in
https://github.com/bitcoin-core/libmultiprocess/issues/189.
The bug is caused by the "disconnecting and blocking" test triggering a
disconnect right before a server IPC call returns. This results in a race
between the IPC server thread and the onDisconnect handler in the event loop thread both
trying to destroy the server's request_threads ProxyClient<Thread> object when
the IPC call is done.
There was a lack of synchronization in this case, fixed here by adding
loop->sync() various places. There were also lock order issues where
Waiter::m_mutex could be incorrectly locked before EventLoop::m_mutex resulting
in a deadlock.
The following sections might be updated with supplementary metadata relevant to reviewers and maintainers.
See the guideline for information on the review process. A summary of reviews will appear here.
Reviewers, this pull request conflicts with the following ones:
If you consider this pull request important, please also help to review the conflicting pull requests. Ideally, start with the one that should be merged first.
Possible typos and grammar issues:
drahtbot_id_5_m
It should however work for the all the versions of capnp that we support.
I mainly opened this PR to test this assumption, since one of the jobs test early releases.
Feel free to close if it otherwise seems useless.
Review hint:
git show --color-moved=dimmed-zebra --color-moved-ws=ignore-space-change
Labels
Needs rebase