Skip to content

Fix Python 3.14 race in Windows contention test #27

Description

@HLLMR

Observed failure

Public PR #26 passed 14 of 15 required matrix jobs. windows-latest / Python 3.14 failed in test_windows_replacement_contention_retries_until_handle_releases.

The helper creates replace-contention-observed.txt before its write_text() call completes. The parent treats file existence as a complete signal and attempted int(''). That exception bypassed process.communicate(), leaving the helper process and privacy lock alive; temporary-directory cleanup then failed with WinError 32.

The product operation was not shown to fail. This is a deterministic test-harness publication/cleanup defect exposed by the required Python 3.14 leg.

Required correction

  • Publish the contention observation atomically or wait for a complete, parseable signal.
  • Guarantee child-process termination/reaping and handle release on every assertion/error path.
  • Preserve the real Windows delete-sharing contention behavior and the accepted bounded retry contract.
  • Exercise the affected test on the supported Windows matrix, including Python 3.14.
  • Do not merge PR Fix Windows privacy writes and duplicate PR CI #26 until the complete required matrix passes.

Evidence

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions