-
Notifications
You must be signed in to change notification settings - Fork 4.8k
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
Failed to initialize CoreCLR, HRESULT: 0x8007000E when LimitNPROC=10 set via systemd unit #109442
Comments
Tagging subscribers to this area: @vitek-karas, @agocke, @VSadov |
Also worth pointing out: The
|
I think it may be because of the nproc limit actually limiting the number of threads, not only processes. If you run with server GC, there is by default one extra thread per CPU for GC purposes. That can easily go over the 10 you are setting it to. |
Interesting @janvorli. 🤔 The machine where we saw this is an Azure VM with 2 vCPUs for reference. How do you control whether server GC is used or not, is it auto-determined by the runtime somehow? |
Tagging subscribers to this area: @mangod9 |
Description
When
LimitNPROC=10
is set in a systemd unit for a .NET 8 application, the process exits with aFailed to create CoreCLR, HRESULT: 0x8007000E
error.Reproduction Steps
Set up a systemd unit like this:
The .NET runtime fails to start, because of the error described above.
Expected behavior
Successful startup of the application.
Actual behavior
The process exits with a
Failed to create CoreCLR, HRESULT: 0x8007000E
error.Regression?
No response
Known Workarounds
Remove the
LimitNPROC
line, or setLimitNPROC=infinity
. This makes the problem immediately go away.Configuration
dotnet publish --self-contained true -c Release -r linux-x64 -f net8.0 path/to/project.csproj
Other information
No response
The text was updated successfully, but these errors were encountered: