-
Notifications
You must be signed in to change notification settings - Fork 5k
Coreclr test builds fail magically after ~12 hours after doing a scorch of the repo #5382
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
Comments
(@ramarag and I talked on linq before we created this issue, adding some more info.) Another dev got this message, with a bit more detail:
This file is generated by tests/runtest.proj#L369, so it seems that somehow the nupkg doesn't exist in I'm not sure when exactly that folder is updated. @rahku Do you know what the story is behind this .nuget folder? Maybe a solution could be as simple as providing a default value if no nupkg is detected. |
comment above the line you linked provides the reason for existence of test_runtime.csproj buildtests.cmd requires that the product is built before it can start. In addition it also sets core_root to product bin directory. $(CORE_ROOT).nuget\pkg points to the coreclr rutnime package that you just built. Not sure why product bin folder would be deleted on its own. |
I am wrong buildtests.cmd does not actually set core_root and so yes a restore for that json during buildtest will cause problems. But still puzzles me why this would not fail more often |
I will assign this to myself. |
@dagood do you know this would not repro everytime? |
Ah, thanks, the comment wasn't clear to me before but it seems clear now. Thinking about this again I'm not sure how As far as I'm aware all that Some more detail from the conversation on IM is that repeated builds work, but stop working after some amount of time has passed--that might rule out simple sequences. @ramarag Are you certain those commands alone will repro? You never ran |
to run tests in coreclr is a two step process:
I tried with several permutation but I am still not able to repro the problem. Error says "Package dependencies must specify a version range". It does not say that it is not able to find a package which is what I would expect since the source paths would be missing that version of coreclr runtime package. |
Yeah, that matches what I was thinking of the flow--the really strange bit to me then is that |
Sorry, i have updated the repro steps. I did run the runtest immediately after first build |
Ok, that makes more sense, but I still can't think of anything other than wild guesses. I tried to repro overnight, and I wasn't able to. The last A few questions about the repository state that would be good to know:
|
This is what I would expect contents of project.json to be at both time instances above |
On looking more closely at the project.json file that you pasted above I see the difference at This is not expected. I expect version number of the just built runtime package instead of empty string. It seems maybe runtime package did not get built or version extraction logic failed. Maybe the fix would be to error out early on in project.json generation logic if runtime package is missing. |
the sequence of events are: build skipnative skipmscorlib wait for ~12 hours |
work around for now is to delete tests\src\Common\test_runtime\project.lock.json |
The cause of this should be fixed by dotnet/coreclr#4764, but removing |
Sequence of events:
git fetch --all
git merge upstream/master
git clean –dxf
build skipnative skipmscorlib
tests\runtest.cmd
everything works fine
make test changes
build skipnative skipmscorlib
tests\runtest.cmd
everything works fine
wait for ~12 hours
do a
build skipnative skipmscorlib
see the error:
BUILDTEST: Starting the Managed Tests Build
BUILDTEST: Using environment: "C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\Tools\VsDevCmd.bat"
BUILDTEST: Invoking msbuild
[15:42:22.52] Restoring all packages...
EXEC : error : Package dependencies must specify a version range. [E:\git\coreclr\tests\build.proj]
E:\git\coreclr\tests\build.proj(25,5): error MSB3073: The command "(set CORE_ROOT=) & "E:\git\coreclr\tests..\Tools\dotnetcli/bin/dotnet.exe" restore --packages "E:\git\coreclr\tests..\packages" --source https://dotnet.myget.org/F/dotnet-core/api/
v3/index.json --source https://www.myget.org/F/nugetbuild/api/v3/index.json --source https://api.nuget.org/v3/index.json "E:\git\coreclr\tests\src"" exited with code 1.
EXEC : error : Package dependencies must specify a version range. [E:\git\coreclr\tests\build.proj]
E:\git\coreclr\tests\build.proj(25,5): error MSB3073: The command "(set CORE_ROOT=) & "E:\git\coreclr\tests..\Tools\dotnetcli/bin/dotnet.exe" restore --packages "E:\git\coreclr\tests..\packages" --source https://dotnet.myget.org/F/dotnet-core/api/
v3/index.json --source https://www.myget.org/F/nugetbuild/api/v3/index.json --source https://api.nuget.org/v3/index.json "E:\git\coreclr\tests\src"" exited with code 1.
The text was updated successfully, but these errors were encountered: