checklocks: fix fragmentation shutdown locking - #14296
Closed
tamird wants to merge 1 commit into
Closed
Conversation
Contributor
Author
|
r? @konstantin-s-bogom Could you review post-release error-path unlocking and exclusive reassembler cleanup? Focused local Bazel checks passed. Upstream checks have not reported yet. cc @nybidari Assisted-by: Codex |
The post-Release check added in a4fb3b2 returns an error while still holding mu, so a later Process or Release blocks indefinitely. Unlock before returning and enforce the outer-state, reassembly and helper lock contracts. Keep processing checked while narrowly exempting cleanup accesses after release itself marks the reassembler done and gains exclusive ownership. Use a value-based sort comparator instead of capturing guarded state. Explain the missing owner at intrusive links and the timeout interface, whose callbacks must not reenter the fragmentation owner. Cover processing after release followed by another release, and make existing internal-state inspections follow the guarded contract. Keep a real deadline for the mutex-deadlock regression: such waits do not advance synctest's clock. Assisted-by: Codex
tamird
force-pushed
the
checklocks-fragmentation-release
branch
from
August 22, 2026 16:19
1ab6fbf to
bc888a4
Compare
Contributor
Author
|
Closing in favor of consolidated #14338. The expanded replacement commits are prepared locally; the replacement branch has not been pushed yet. Assisted-by: Codex |
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.
The post-Release check added in a4fb3b2 returns an error while still holding mu, so a later Process or Release blocks indefinitely. Unlock before returning and enforce the existing outer-state and release-helper lock contracts.
Document how marking a reassembler done excludes further processing and gives release exclusive cleanup ownership. Timeout callbacks run with the fragmentation mutex held and cannot reenter the owner.
Cover processing after release followed by another release, and make existing internal-state inspections follow the guarded contract.
Assisted-by: Codex