-
Notifications
You must be signed in to change notification settings - Fork 257
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
Restore cannot be completed for a large solution #14025
Comments
Hello! Can you provide an example repo to reproduce this issue? |
It is in the script above. The repo is |
Must have missed that! thanks :) |
I had to update the execution script to get it to work
|
I think all the necessary information to repro that issue are provided. |
This looks like a potential issue with the new dependency resolver. I haven't been able to fully debug the problem but a quick look seemed like its processing more nodes than needed. Disabling the new resolver worked around the problem for me. <PropertyGroup>
<RestoreUseLegacyDependencyResolver>true</RestoreUseLegacyDependencyResolver>
</PropertyGroup> Internally we have repos with over 2,500 projects that reference thousands of projects and packages and they complete in less than 3 minutes. Not sure exactly what's so special about this sample solution. |
More debugging shows hundreds of thousands of items being queued for processing during the graph walk, adding a line that skips children that have already been chosen seems to fix the performance issue but needs to be tested more. if (resolvedDependencyGraphItems.TryGetValue(childLibraryDependencyIndex, out ResolvedDependencyGraphItem? childResolvedDependencyGraphItem)
&& childResolvedDependencyGraphItem.LibraryRangeIndex == childLibraryRangeIndex)
{
continue;
} |
NuGet Product Used
dotnet.exe
Product Version
SDK Version: 10.0.100-alpha.1.24630.4
Worked before?
SDK Version: 9.0.101
Impact
I'm unable to use this version
Repro Steps & Context
docker.exe run -t -i --rm ubuntu
In version 9.0.101, the restore operation completes after about 10-20s.
In the recent daily build, the restore operation wasn't completed after >150s. It also consumes more and more RAM (tens of Gigabytes) until it exhausts all available resources and crashes the container.
Verbose Logs
No response
The text was updated successfully, but these errors were encountered: