Repository navigation
repro: stress worktree mount diagnostics - #2120
Draft
Tyrie Vella (tyrielv) wants to merge 4 commits into
Draft
Tyrie Vella (tyrielv) wants to merge 4 commits into
Tyrie Vella (tyrielv) wants to merge 4 commits into
Conversation
Repurpose the draft PR as a focused repro for the concurrent worktree mount failure. Keep the worktree mount assertion strict, but expand failure diagnostics to include worktree gitdir state, hook/log directories, and recent per-worktree mount logs. Log every hook-side gvfs mount attempt failure, then run only WorktreeTests across repeated functional-test matrix jobs to improve repro chances. Assisted-by: GitHub Copilot Auto Signed-off-by: Tyrie Vella <tyrielv@gmail.com>
Tyrie Vella (tyrielv)
force-pushed
the
tyrielv/fix-concurrent-worktree-flake
branch
from
September 24, 2026 22:41
bfea2b4 to
b64a4a4
Compare
Restore the normal sliced functional-test run so each job keeps its usual load. Add every WorktreeTests case to each slice, and repeat ConcurrentWorktreeAddCommitRemove 10 times, to raise the chance of reproducing the missing worktree mount. Assisted-by: GitHub Copilot Auto Signed-off-by: Tyrie Vella <tyrielv@gmail.com>
Worktree mount processes were seen to exit with code 0 before creating the named pipe, with an empty mount log. Write a tracer-independent bootstrap file recording process start, enlistment creation, mount lock result, return from Mount and process exit. Include recent bootstrap files in the worktree failure diagnostics. Assisted-by: GitHub Copilot Auto Signed-off-by: Tyrie Vella <tyrielv@gmail.com>
Failing worktree mount processes reach enlistment creation, then Invoke returns 1 and the process exits 0 without writing a log line or reaching Mount. Log the stage reached and any exception leaving Execute, and filter the failure diagnostics to the failing worktree. Assisted-by: GitHub Copilot Auto Signed-off-by: Tyrie Vella <tyrielv@gmail.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.
Problem and Context
ConcurrentWorktreeAddCommitRemoveintermittently fails because a linked worktree exists, but its worktree-specific GVFS mount pipe is not running.This PR is a repro and diagnostics branch. It does not fix the product path. It collects evidence to show why the worktree mount did not start. The first repro attempt ran the worktree tests alone on an idle runner and did not fail. The original failure happened while other fixtures ran in parallel.
Changes
.gitfile, resolved worktree git dir, hook directory,.gvfsdirectory, and recent per-worktree mount logs.gvfs mountretry failure with exit code, stdout, and stderr.WorktreeTestscase to every slice in the test runner.ConcurrentWorktreeAddCommitRemove10 times.This is temporary. Remove the runner and repeat changes when this becomes the product fix.