Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix sporadic double fd close #54660

Merged
merged 1 commit into from
Jun 24, 2021
Merged

Conversation

danmoseley
Copy link
Member

Fix #54589

Untested.

I looked at other grep hits in the tests for new SafeFileHandle.*DangerousGetHandle.*true and they seem to avoid this problem by calling SetHandleAsInvalid().

@ghost
Copy link

ghost commented Jun 24, 2021

Tagging subscribers to this area: @dotnet/area-system-io
See info in area-owners.md if you want to be subscribed.

Issue Details

Fix #54589

Untested.

I looked at other grep hits in the tests for new SafeFileHandle.*DangerousGetHandle.*true and they seem to avoid this problem by calling SetHandleAsInvalid().

Author: danmoseley
Assignees: -
Labels:

area-System.IO

Milestone: -

@danmoseley
Copy link
Member Author

I guess we haven't seen this on Windows because it recycles handle ID's less aggressively. The docs for Linux open() say specifically "The file descriptor returned by a successful call will be the lowest-numbered file descriptor not currently open for the process."

Copy link
Member

@stephentoub stephentoub left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice find. Whether or not it's the issue, it's certainly a issue.

@stephentoub stephentoub merged commit f55390a into dotnet:main Jun 24, 2021
@adamsitnik
Copy link
Member

Untested.

@danmoseley I can't repro it with your fix anymore.

@danmoseley danmoseley deleted the danmoseley-patch-1 branch June 24, 2021 15:49
thaystg added a commit to thaystg/runtime that referenced this pull request Jun 24, 2021
…bugger2

* origin/main: (107 commits)
  Disable MacCatalyst arm64 PR test runs on staging pipeline (dotnet#54678)
  [WASM] Fix async/await in config loading (dotnet#54652)
  Fix for heap_use_after_free flagged by sanitizer (dotnet#54679)
  [wasm] Bump emscripten to 2.0.23 (dotnet#53603)
  Fix compiler references when building inside VS (dotnet#54614)
  process more TLS frames at one when available (dotnet#50815)
  Add PeriodicTimer (dotnet#53899)
  UdpClient with span support (dotnet#53429)
  exclude fragile tests (dotnet#54671)
  get last error before calling a method that might fail as well (dotnet#54667)
  [FileStream] add tests for device and UNC paths (dotnet#54545)
  Fix sporadic double fd close (dotnet#54660)
  Remove Version.Clone from AssemblyName.Clone (dotnet#54621)
  [wasm] Enable fixed libraries tests (dotnet#54641)
  [wasm] Fix blazor/aot builds (dotnet#54651)
  [mono][wasm] Fix compilation error on wasm (dotnet#54659)
  Fix telemetry for Socket connects to Dns endpoints (dotnet#54071)
  [wasm] Build static components; include hot_reload in runtime (dotnet#54568)
  [wasm][debugger] Reuse debugger-agent on wasm debugger (dotnet#52300)
  Put Crossgen2 in sync with dotnet#54235 (dotnet#54438)
  ...
danmoseley added a commit that referenced this pull request Jun 25, 2021
@ghost ghost locked as resolved and limited conversation to collaborators Jul 24, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Sporadic failure in file enumeration tests on Unix
3 participants