Update libmultiprocess subtree: ~v10 -> v13 - #113
Merged
Merged
Conversation
Collaborator
Author
|
I missed a tag, bitcoin-core/libmultiprocess#313. Will do another push to include the changes up to v13. |
Collaborator
Author
|
TSan CI failure was not related to this subtree update, but fixing it here anyway. |
Collaborator
Author
|
Added another commit to hopefully pre-empt the TSan failure in #101: https://github.com/stratum-mining/sv2-tp/actions/runs/29757121925/job/88402278147?pr=101 |
Collaborator
Author
|
Had to redo the subtree update in a not back-portable manner to avoid a merge conflict in the last TSan fix commit. |
e8de5c7b68 Merge bitcoin-core/libmultiprocess#305: refactor: memcpy to std::ranges::copy to work around ubsan warn 9307e68e5a Merge bitcoin-core/libmultiprocess#306: doc: Bump version 12 > 13 fac7b9b7f6 refactor: memcpy to std::ranges::copy to work around ubsan warn 1bd7025609 Merge bitcoin-core/libmultiprocess#297: test: add map serialization round-trip coverage 438fdd243d doc: Bump version 12 > 13 28e056576a Merge bitcoin-core/libmultiprocess#269: proxy: add local connection limit to ListenConnections 39a10ce895 proxy: add local connection limit to ListenConnections() 43172f52d9 test: add dedicated ListenConnections coverage 033f812195 doc/version: Bump version 11 > 12 463d073cb8 test: rename vBool to vector_bool 16bf05dea0 Merge bitcoin-core/libmultiprocess#302: refactor: rename EventLoop::m_num_clients to m_num_refs dd537da9e4 Merge bitcoin-core/libmultiprocess#301: test: recursive async IPC calls and cleanups 400291de00 Merge bitcoin-core/libmultiprocess#299: ci: remove libevent from Core CIs 092be515ad Merge bitcoin-core/libmultiprocess#285: Add ReadList helper 5b617880c5 Merge bitcoin-core/libmultiprocess#283: Add `makePool` method on `ThreadMap` d499830415 refactor: rename EventLoop::m_num_clients to m_num_refs 6450345c98 type: reserve first when reading std::unordered_set 4d0f8db5f9 proxy: add ReadList helper and dedup map/set/vector read handlers 0e49d91186 Add `makePool` method on `ThreadMap` 5519f7f948 test: recursive async IPC calls a29ceff40b ci: remove libevent from Core CIs 85df233845 test: add mapStringInt to foo.capnp to cover map serialization and deserialization git-subtree-dir: src/ipc/libmultiprocess git-subtree-split: e8de5c7b68e0ae21c94ae92aa22e5c3b213f9c12
Synchronize the destructor write to m_disconnect_flag with reads and writes from the socket thread. This fixes the TSan race reported during sv2_connman_tests teardown. Co-authored-by: OpenAI Codex 5.6 Sol <noreply@openai.com>
WITH_LOCK uses decltype(auto), so prefix increment returns a reference
that is read after the mutex is released. Copy the new template id
before leaving the critical section to avoid the data race.
The code reported at template_provider.cpp:465 was:
uint64_t template_id{
WITH_LOCK(m_tp_mutex, return ++m_template_id;)
};
The TSan job in stratum-mining#101 reported:
WARNING: ThreadSanitizer: data race
Write of size 8 ... by thread T39
(mutexes: write M0):
#0 ... template_provider.cpp:465:38
Previous read of size 8 ... by thread T41:
#0 ... template_provider.cpp:465:38
Co-authored-by: OpenAI Codex 5.6 Sol <noreply@openai.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
v13 is the last version before the breaking changes that require #110. I'm doing this update in a separate PR to keep 110 focussed.
The previous update was a few commits before v11.
https://github.com/bitcoin-core/libmultiprocess/blob/master/doc/versions.md#v120