fix(upstream): use parent context in Docker recovery timer checks #127
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.
Summary
Complete the fix from PR #126 by using parent context consistently throughout
handleDockerUnavailable. This eliminates the race condition where child context cancellation lags parent by nanoseconds.Root Cause
PR #126 fixed line 1905 to use parent
ctxinstead of childrecoveryCtx, but lines 1841 and 1846 still usedrecoveryCtx. This created a race condition:ctxgets cancelledrecoveryCtx.Done()at line 1846Changes
recoveryCtx.Done()→ctx.Done()in main select statementrecoveryCtx.Done()→ctx.Done()after timer firesTest Results
Ran
TestUpdateListenAddressValidation3 times locally - all passed without panic.Impact
Fixes persistent test failures on macOS in workflow runs:
Generated with Claude Code