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

[runtime/6.0] [mono] Raise soft RLIMIT_NOFILE on Linux #83079

Closed

Conversation

uweigand
Copy link
Contributor

@uweigand uweigand commented Mar 7, 2023

Manual backport of #82429.

Replace darwin_change_default_file_handles by a new routine increase_descriptor_limit, which mirrors the logic in the CoreCLR INIT_IncreaseDescriptorLimit routine.

Fixes #82428.

Customer Impact

Running dotnet restore using the Mono runtime (e.g. on the s390x architecture) would under certain circumstances abort with a "Too many open files" error message. The details are documented in NuGet/Home#12410.

It turned out that Mono does not raise the limit for open files like CoreCLR does. This change fixes that to align with CoreCLR.

Testing

Manual testing confirmed this fixes the problem.

Risk

Low, we're aligning the Mono behavior with CoreCLR and the affected codepath is only used on Desktop so doesn't impact the mobile/wasm workloads.

Manual backport of dotnet#82429.

Replace darwin_change_default_file_handles by a new routine
increase_descriptor_limit, which mirrors the logic in the CoreCLR
INIT_IncreaseDescriptorLimit routine.

Fixes dotnet#82428.
@ghost ghost added the community-contribution Indicates that the PR has been added by a community member label Mar 7, 2023
@carlossanlop
Copy link
Member

@akoeplinger do you mind helping send the email to Tactics requesting approval?

@akoeplinger
Copy link
Member

See the 7.0 PR.

@rbhanda rbhanda removed the Servicing-consider Issue for next servicing release review label Mar 9, 2023
@carlossanlop carlossanlop added the NO-MERGE The PR is not ready for merge yet (see discussion for detailed reasons) label Mar 10, 2023
@carlossanlop
Copy link
Member

I'm retargeting this PR to the new release/6.0-staging branch, which is the one that we will use from now on for servicing fixes.

Repo maintainers will now be allowed to merge their own servicing PR as long as it meets the requirements:

  • It is approved by Tactics (signaled by adding the Servicing-approved label).
  • It's signed-off by an area owner.
  • The CI is green, or the failures are investigated as unrelated.
  • And if the PR touches an OOB package, the necessary OOB authoring changes are added.

The new process is described here: runtime/docs/project/library-servicing.md.

The infra team will be actively monitoring servicing PRs to ensure all requirements are met and to help with any issues.

Let me know if you have any questions.

@steveisok
Copy link
Member

@uweigand as a general policy, we are only able to take servicing fixes for configurations we actively support. Since s390 is not one of them, unfortunately, we cannot take this change.

@steveisok steveisok closed this Mar 29, 2023
@ghost ghost locked as resolved and limited conversation to collaborators Apr 28, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
area-VM-meta-mono community-contribution Indicates that the PR has been added by a community member NO-MERGE The PR is not ready for merge yet (see discussion for detailed reasons)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants