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

Restore cannot be completed for a large solution #14025

Open
marcin-krystianc opened this issue Dec 30, 2024 · 4 comments
Open

Restore cannot be completed for a large solution #14025

marcin-krystianc opened this issue Dec 30, 2024 · 4 comments

Comments

@marcin-krystianc
Copy link

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

  • Start a clean Linux container:
    docker.exe run -t -i --rm ubuntu
  • Get daily build of dotnet and checkout test solutions:
apt-get update && apt-get install -y wget git tar &&  \
mkdir /dotnet \
 && wget https://aka.ms/dotnet/10.0.1xx/daily/dotnet-sdk-linux-x64.tar.gz \
 && tar -C /dotnet -xvzf dotnet-sdk-linux-x64.tar.gz \
 && rm dotnet-sdk-linux-x64.tar.gz \
 && echo "export DOTNET_ROOT=/dotnet" >> $HOME/.bashrc \
 && echo "export PATH=$PATH:/dotnet:$HOME/.dotnet/tools" >> $HOME/.bashrc \
 && source ~/.bashrc \
 && git clone https://github.com/marcin-krystianc/TestSolutions.git \
 && cd TestSolutions \
 && git reset --hard 142722bebfe90c4e5c98303fa1598db6a760adae
  • Run the restore:
dotnet restore -clp:PerformanceSummary -clp:summary --force /p:RestoreUseStaticGraphEvaluation=true LargeAppWithPrivatePackagesCentralisedNGBVRemoved/solution/LargeAppWithPrivatePackagesCentralisedNGBVRemoved.sln

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

@jgonz120
Copy link
Contributor

Hello! Can you provide an example repo to reproduce this issue?

@jgonz120 jgonz120 added Functionality:Restore Product:dotnet.exe WaitingForCustomer Applied when a NuGet triage person needs more info from the OP labels Dec 31, 2024
@marcin-krystianc
Copy link
Author

https://github.com/marcin-krystianc/TestSolutions.git

It is in the script above. The repo is https://github.com/marcin-krystianc/TestSolutions.git and the solution file is LargeAppWithPrivatePackagesCentralisedNGBVRemoved/solution/LargeAppWithPrivatePackagesCentralisedNGBVRemoved.sln

@microsoft-github-policy-service microsoft-github-policy-service bot added WaitingForClientTeam Customer replied, needs attention from client team. Do not apply this label manually. and removed WaitingForCustomer Applied when a NuGet triage person needs more info from the OP labels Dec 31, 2024
@jgonz120
Copy link
Contributor

Must have missed that! thanks :)

@microsoft-github-policy-service microsoft-github-policy-service bot added WaitingForCustomer Applied when a NuGet triage person needs more info from the OP and removed WaitingForClientTeam Customer replied, needs attention from client team. Do not apply this label manually. labels Dec 31, 2024
@jgonz120
Copy link
Contributor

jgonz120 commented Jan 2, 2025

I had to update the execution script to get it to work

apt-get update && apt-get install -y wget git tar &&  \
mkdir /dotnet \
 && wget https://aka.ms/dotnet/10.0.1xx/daily/dotnet-sdk-linux-x64.tar.gz \
 && tar -C /dotnet -xvzf dotnet-sdk-linux-x64.tar.gz \
 && rm dotnet-sdk-linux-x64.tar.gz \
 && echo "export DOTNET_ROOT=/dotnet" >> $HOME/.bashrc \
 && echo "export PATH=$PATH:/dotnet:$HOME/.dotnet/tools" >> $HOME/.bashrc \
 && . ~/.bashrc \
 && git clone https://github.com/marcin-krystianc/TestSolutions.git \
 && cd TestSolutions \
 && git reset --hard 142722bebfe90c4e5c98303fa1598db6a760adae \
 && export DOTNET_SYSTEM_GLOBALIZATION_INVARIANT=1

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

No branches or pull requests

2 participants