Open rolfbjarne opened 3 years ago
Hey @rolfbjarne
We have had issues like this in the past, https://github.com/NuGet/Home/issues/7817, but it seems like they were supposed to fixed.
cc @jeffkl
@nkolev92 the output is very different in the success case versus the failure case.
It does look like the restores are all happening at the same time and the locking is keeping them from all restoring the same package. But once the lock is released the package isn't there?
@rolfbjarne what's the repository this is happening in? I'd like to look at the customized logic in use.
@jeffkl
We have some make logic here that executes 'dotnet pack' in parallel: https://github.com/xamarin/xamarin-macios/blob/0029ffa29d8396c35175befa8e414675b41774c9/dotnet/Makefile#L150.
This is executed once for every package.csproj
in every subdirectory here: https://github.com/xamarin/xamarin-macios/tree/0029ffa29d8396c35175befa8e414675b41774c9/dotnet/package.
The reference that causes problems is this one: https://github.com/xamarin/xamarin-macios/blob/0029ffa29d8396c35175befa8e414675b41774c9/dotnet/package/common.csproj#L52
Details about Problem
NuGet product used (NuGet.exe | Visual Studio | MSBuild.exe | dotnet.exe): dotnet
Product version: 6.0.100-preview.6.21280.2
Worked before? Don't know, this logic that runs into this problem is fairly new for us.
Repro steps and/or sample project
There are no repro steps, because it's random.
We see it somewhat frequently on CI, and trying again usually helps (but not always). It breaks our builds whenever it happens, so it's quite visible 😐
It might be related to running multiple dotnet processes in parallel. In fact some of these processes (they all do basically the same thing, just slightly different input) succeed, some fail.
Verbose Logs
This is a collection of binlogs (of all the dotnet processes that ran in parallel):
nupkgs.zip
The larger ones succeeded, the smaller ones didn't:
Example output from one of the failed ones:
it looks like the succeeding ones took a different code path: