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

Use new CoreDisTools package #44490

Merged
merged 7 commits into from
Nov 17, 2020
Merged

Conversation

echesakov
Copy link
Contributor

@echesakov echesakov commented Nov 10, 2020

After the change R2RDump and GCStress will use a newer version of coredistools produced from https://github.com/dotnet/jitutils

@echesakov
Copy link
Contributor Author

I believe this should be ready for review - I ran gcstress pipeline and it shows the same behaviour as last Sunday run (https://dev.azure.com/dnceng/public/_build/results?buildId=879006) - it took the same time to finish and produces the same tests failures (that I believe should now be fixed).

PTAL @dotnet/jit-contrib @dotnet/crossgen-contrib @dotnet/runtime-infrastructure I would like to have three sign-offs from a JIT team member (GCStress), an AOT team member (R2RDump) and someone who knows about the MSBuild infrastructure.

Copy link
Contributor

@nattress nattress left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The R2RDump changes LGTM - thanks for centralizing the management of that package!

Copy link
Member

@trylek trylek left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks a lot for the wonderful test build script cleanup on top of this super-useful feature!

src/coreclr/src/tools/r2rdump/R2RDump.csproj Show resolved Hide resolved
Copy link
Member

@janvorli janvorli left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, thank you a lot for making this change and the thorough cleanup of the build scripts.

@janvorli
Copy link
Member

I can see the R2RDumpTests is failing on all platforms with timeout in the CI tests.

@trylek
Copy link
Member

trylek commented Nov 12, 2020

R2RDumpTests is a recently introduced test that I only earlier this week fixed to pass in Crossgen2 runs; after the fix I noticed yesterday that it still fails in the runtime-coreclr crossgen2 composite gcstress pipeline making me believe that the failure is only specific to GC stress testing. I'll go ahead and mark the test as GC stress-incompatible because its intent is not to stress the runtime - in fact the test is kind of "lengthy" in terms of CoreCLR unit tests as it disassembles the entire SPC assembly; I can easily imagine that the slowdown by an order of magnitude or more incurred by the GC stress-instrumented code can easily push it past the timeout. The test also runs in all CoreCLR test legs of the "runtime" pipeline that seem to be passing just fine.

@@ -0,0 +1,15 @@
<!-- Licensed to the .NET Foundation under one or more agreements. The .NET Foundation licenses this file to you under the MIT license. -->
<Project>
<ItemGroup Condition="'$(DotNetBuildFromSource)' != 'true'">
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should the whole file import instead be conditioned as the properties below won't work without the PackageReference.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I can move this condition to Import element in R2RDump.csproj.

Would I need the same condition for src/tests/Common/Directory.Build.targets ? As far as I understand, we don't build tests during source build, so the condition will always be true.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah please add it to both imports. You are right that we don't build these currently in source build we might at some point.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @ViktorHofer - I addressed both of your suggestions.

Copy link
Contributor

@sandreenko sandreenko left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

GCStress changes LGTM

@trylek
Copy link
Member

trylek commented Nov 12, 2020

I've merged in the change disabling R2RDumpTests in GC stress mode; this should make the "runtime-coreclr gcstress0x3-gcstress0xc" legs green.

  1. Use $(RepositoryEngineeringDir)
  2. Remove condition on ItemGroup in coredistools.targets and
  3. Instead use the condition on Import elements in R2RDump.csproj and tests *.targets
@echesakov
Copy link
Contributor Author

I've merged in the change disabling R2RDumpTests in GC stress mode; this should make the "runtime-coreclr gcstress0x3-gcstress0xc" legs green.

Thank you Tomas, I merged master on top of the PR changes and will re-start gcstress pipelines

@echesakov echesakov merged commit 7d6b73e into dotnet:master Nov 17, 2020
@echesakov echesakov deleted the Use-New-CoreDisTools branch November 17, 2020 18:20
</ItemGroup>

<PropertyGroup>
<CoreDisToolsLibrary Condition="'$(TargetOS)' == 'Windows'">$(PkgMicrosoft_NETCore_CoreDisTools)\runtimes\win-$(TargetArchitecture)\native\coredistools.dll</CoreDisToolsLibrary>
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@Anipik TargetOS for Windows should be lowercase windows, right?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That is correct.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let me follow up on this

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks. I saw this in another place in your PR as well. It isn't causing a problem right now as msbuild is case insensitive but it should be cleaned up.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should be fixed in #44845

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What was the reason to have Linux and OSX uppercased but not Windows?

Copy link
Member

@ViktorHofer ViktorHofer left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM. Thanks

@ghost ghost locked as resolved and limited conversation to collaborators Dec 24, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

9 participants