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

[9.0] VMR Stage2 build failing with field references #4639

Closed
Winniexu01 opened this issue Sep 29, 2024 · 8 comments
Closed

[9.0] VMR Stage2 build failing with field references #4639

Winniexu01 opened this issue Sep 29, 2024 · 8 comments
Assignees
Labels
area-build Improvements in source-build's own build process ops-monitor Issues created/handled by the source build monitor role

Comments

@Winniexu01
Copy link
Member

Release/9.0.1xx build: https://dev.azure.com/dnceng/internal/_build/results?buildId=2547862&view=logs&j=3121c41d-6088-53a5-4ef6-9a86f3460fe9&t=334539f4-dcef-5cad-a240-02997b3146e7 (internal Microsoft link)

VMR Stage2 building runtime failed with the following errors:

/vmr/src/runtime/src/coreclr/tools/Common/TypeSystem/Common/TypeDesc.cs(477,26): warning CS9258: In language version preview, the 'field' keyword binds to a synthesized backing field for the property. To avoid generating a synthesized backing field, and to refer to the existing member, use 'this.field' or '@field' instead. [/vmr/src/runtime/src/coreclr/tools/aot/ILCompiler.TypeSystem/ILCompiler.TypeSystem.csproj]
/vmr/src/runtime/src/coreclr/tools/Common/TypeSystem/Common/TypeDesc.cs(478,32): warning CS9258: In language version preview, the 'field' keyword binds to a synthesized backing field for the property. To avoid generating a synthesized backing field, and to refer to the existing member, use 'this.field' or '@field' instead. [/vmr/src/runtime/src/coreclr/tools/aot/ILCompiler.TypeSystem/ILCompiler.TypeSystem.csproj]
/vmr/src/runtime/src/coreclr/tools/Common/TypeSystem/Common/TypeDesc.TypeEquivalence.cs(141,29): warning CS9258: In language version preview, the 'field' keyword binds to a synthesized backing field for the property. To avoid generating a synthesized backing field, and to refer to the existing member, use 'this.field' or '@field' instead. [/vmr/src/runtime/src/coreclr/tools/aot/ILCompiler.TypeSystem/ILCompiler.TypeSystem.csproj]
/vmr/src/runtime/src/coreclr/tools/Common/TypeSystem/Common/TypeDesc.TypeEquivalence.cs(147,29): warning CS9258: In language version preview, the 'field' keyword binds to a synthesized backing field for the property. To avoid generating a synthesized backing field, and to refer to the existing member, use 'this.field' or '@field' instead. [/vmr/src/runtime/src/coreclr/tools/aot/ILCompiler.TypeSystem/ILCompiler.TypeSystem.csproj]
/vmr/src/runtime/src/coreclr/tools/Common/TypeSystem/Common/TypeDesc.TypeEquivalence.cs(152,29): warning CS9258: In language version preview, the 'field' keyword binds to a synthesized backing field for the property. To avoid generating a synthesized backing field, and to refer to the existing member, use 'this.field' or '@field' instead. [/vmr/src/runtime/src/coreclr/tools/aot/ILCompiler.TypeSystem/ILCompiler.TypeSystem.csproj]
/vmr/src/runtime/src/coreclr/tools/Common/TypeSystem/Ecma/EcmaType.cs(468,26): warning CS9258: In language version preview, the 'field' keyword binds to a synthesized backing field for the property. To avoid generating a synthesized backing field, and to refer to the existing member, use 'this.field' or '@field' instead. [/vmr/src/runtime/src/coreclr/tools/aot/ILCompiler.TypeSystem/ILCompiler.TypeSystem.csproj]
/vmr/src/runtime/src/coreclr/tools/Common/TypeSystem/Ecma/EcmaType.cs(469,32): warning CS9258: In language version preview, the 'field' keyword binds to a synthesized backing field for the property. To avoid generating a synthesized backing field, and to refer to the existing member, use 'this.field' or '@field' instead. [/vmr/src/runtime/src/coreclr/tools/aot/ILCompiler.TypeSystem/ILCompiler.TypeSystem.csproj]
/vmr/src/runtime/src/coreclr/tools/Common/TypeSystem/Common/TypeDesc.cs(477,32): error CS1061: 'TypeDesc' does not contain a definition for 'IsStatic' and no accessible extension method 'IsStatic' accepting a first argument of type 'TypeDesc' could be found (are you missing a using directive or an assembly reference?) [/vmr/src/runtime/src/coreclr/tools/aot/ILCompiler.TypeSystem/ILCompiler.TypeSystem.csproj]
/vmr/src/runtime/src/coreclr/tools/Common/TypeSystem/Common/TypeDesc.cs(478,38): error CS1061: 'TypeDesc' does not contain a definition for 'FieldType' and no accessible extension method 'FieldType' accepting a first argument of type 'TypeDesc' could be found (are you missing a using directive or an assembly reference?) [/vmr/src/runtime/src/coreclr/tools/aot/ILCompiler.TypeSystem/ILCompiler.TypeSystem.csproj]
/vmr/src/runtime/src/coreclr/tools/Common/TypeSystem/Common/TypeDesc.TypeEquivalence.cs(141,35): error CS1061: 'bool' does not contain a definition for 'IsLiteral' and no accessible extension method 'IsLiteral' accepting a first argument of type 'bool' could be found (are you missing a using directive or an assembly reference?) [/vmr/src/runtime/src/coreclr/tools/aot/ILCompiler.TypeSystem/ILCompiler.TypeSystem.csproj]
/vmr/src/runtime/src/coreclr/tools/Common/TypeSystem/Common/TypeDesc.TypeEquivalence.cs(147,35): error CS1061: 'bool' does not contain a definition for 'IsStatic' and no accessible extension method 'IsStatic' accepting a first argument of type 'bool' could be found (are you missing a using directive or an assembly reference?) [/vmr/src/runtime/src/coreclr/tools/aot/ILCompiler.TypeSystem/ILCompiler.TypeSystem.csproj]
/vmr/src/runtime/src/coreclr/tools/Common/TypeSystem/Common/TypeDesc.TypeEquivalence.cs(152,29): error CS1929: 'bool' does not contain a definition for 'GetEffectiveVisibility' and the best extension method overload 'EffectiveVisibilityExtensions.GetEffectiveVisibility(EcmaMethod)' requires a receiver of type 'Internal.TypeSystem.Ecma.EcmaMethod' [/vmr/src/runtime/src/coreclr/tools/aot/ILCompiler.TypeSystem/ILCompiler.TypeSystem.csproj]
/vmr/src/runtime/src/coreclr/tools/Common/TypeSystem/Ecma/EcmaType.cs(468,32): error CS1061: 'TypeDesc' does not contain a definition for 'IsStatic' and no accessible extension method 'IsStatic' accepting a first argument of type 'TypeDesc' could be found (are you missing a using directive or an assembly reference?) [/vmr/src/runtime/src/coreclr/tools/aot/ILCompiler.TypeSystem/ILCompiler.TypeSystem.csproj]
/vmr/src/runtime/src/coreclr/tools/Common/TypeSystem/Ecma/EcmaType.cs(469,38): error CS1061: 'TypeDesc' does not contain a definition for 'FieldType' and no accessible extension method 'FieldType' accepting a first argument of type 'TypeDesc' could be found (are you missing a using directive or an assembly reference?) [/vmr/src/runtime/src/coreclr/tools/aot/ILCompiler.TypeSystem/ILCompiler.TypeSystem.csproj]
    7 Warning(s)
    7 Error(s)

Related to dotnet/runtime#108219

@Winniexu01 Winniexu01 added the ops-monitor Issues created/handled by the source build monitor role label Sep 29, 2024
@dotnet-issue-labeler dotnet-issue-labeler bot added area-build Improvements in source-build's own build process untriaged labels Sep 29, 2024
@MichaelSimons
Copy link
Member

@NikolaMilosavljevic Can you take a look? TIA

@NikolaMilosavljevic
Copy link
Member

runtime issues outlined above are fixed in main and in a backport PR for release/9.0 - dotnet/runtime#108222

I have tested these changes in a VMR build - there are issues in other repos, but runtime changes are complete and do not show up: https://dev.azure.com/dnceng/internal/_build/results?buildId=2550295

@MichalStrehovsky what is the timeline for completing the backporting PR? dotnet/runtime#108222

@NikolaMilosavljevic
Copy link
Member

New test build with runtime fix uncovered similar issues in vstest: https://dev.azure.com/dnceng/internal/_build/results?buildId=2550295&view=logs&j=3121c41d-6088-53a5-4ef6-9a86f3460fe9&t=334539f4-dcef-5cad-a240-02997b3146e7

    /vmr/src/vstest/src/Microsoft.TestPlatform.PlatformAbstractions/common/Tracing/PlatformEqtTrace.cs(87,5): error IDE0032: Use auto property (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/style-rules/ide0032) [/vmr/src/vstest/src/Microsoft.TestPlatform.PlatformAbstractions/Microsoft.TestPlatform.PlatformAbstractions.csproj::TargetFramework=net9.0]

@nohwnd this needs to be fixed for 9.0 release. It reproes in source-build stage 2 build which uses compiler produced by source-building. You could repro the issue in your repo build by using the latest 9.0 SDK.

@NikolaMilosavljevic
Copy link
Member

Another issue in roslyn-analyzers: https://dev.azure.com/dnceng/internal/_build/results?buildId=2550485&view=logs&j=3121c41d-6088-53a5-4ef6-9a86f3460fe9&t=334539f4-dcef-5cad-a240-02997b3146e7

    /vmr/src/roslyn-analyzers/src/Utilities/FlowAnalysis/FlowAnalysis/Framework/DataFlow/AnalysisEntity.cs(189,35): warning CS9258: In language version preview, the 'field' keyword binds to a synthesized backing field for the property. To avoid generating a synthesized backing field, and to refer to the existing member, use 'this.field' or '@field' instead. [/vmr/src/roslyn-analyzers/src/Microsoft.CodeAnalysis.AnalyzerUtilities/Microsoft.CodeAnalysis.AnalyzerUtilities.csproj]
    /vmr/src/roslyn-analyzers/src/Utilities/FlowAnalysis/FlowAnalysis/Framework/DataFlow/AnalysisEntity.cs(189,35): warning CS9258: In language version preview, the 'field' keyword binds to a synthesized backing field for the property. To avoid generating a synthesized backing field, and to refer to the existing member, use 'this.field' or '@field' instead. [/vmr/src/roslyn-analyzers/src/NetAnalyzers/Core/Microsoft.CodeAnalysis.NetAnalyzers.csproj]
    /vmr/src/roslyn-analyzers/src/Utilities/FlowAnalysis/FlowAnalysis/Framework/DataFlow/AnalysisEntity.cs(189,41): error CS0428: Cannot convert method group 'HasConstantValue' to non-delegate type 'bool'. Did you intend to invoke the method? [/vmr/src/roslyn-analyzers/src/Microsoft.CodeAnalysis.AnalyzerUtilities/Microsoft.CodeAnalysis.AnalyzerUtilities.csproj]
    /vmr/src/roslyn-analyzers/src/Utilities/FlowAnalysis/FlowAnalysis/Framework/DataFlow/AnalysisEntity.cs(189,41): error CS0428: Cannot convert method group 'HasConstantValue' to non-delegate type 'bool'. Did you intend to invoke the method? [/vmr/src/roslyn-analyzers/src/NetAnalyzers/Core/Microsoft.CodeAnalysis.NetAnalyzers.csproj]

@mavasani this needs to be fixed for 9.0 release. It reproes in source-build stage 2 build which uses compiler produced by sour-building. You could repro the issue in your repo build by using the latest 9.0 SDK.

@MichaelSimons
Copy link
Member

@NikolaMilosavljevic - I think it would be best to log separate issues for each cause of the stage 2 breaks. The main reason is to help track the issues needing addressed. Separate issues can be assigned to specific owners to address.

Given the point in time where we are in the release schedule, these issues should be patched when fixes are available. e.g. we need passing builds to ensure no further regressions.

@NikolaMilosavljevic
Copy link
Member

@NikolaMilosavljevic - I think it would be best to log separate issues for each cause of the stage 2 breaks. The main reason is to help track the issues needing addressed. Separate issues can be assigned to specific owners to address.

Given the point in time where we are in the release schedule, these issues should be patched when fixes are available. e.g. we need passing builds to ensure no further regressions.

Certainly - will open issues both in source-build and the individual repos.

Should patches be produced even before fixes are available in repos? I.e. to suppress the warnings, when that is the quickest option.

@MichaelSimons
Copy link
Member

Should patches be produced even before fixes are available in repos? I.e. to suppress the warnings, when that is the quickest option.

I am supportive of that. It will help us ensure the product is building and flush out all of the issues while we wait for the long term fixes.

@MichalStrehovsky
Copy link
Member

@MichalStrehovsky what is the timeline for completing the backporting PR? dotnet/runtime#108222

The only way I'm involved in that PR is that I got auto-added as a reviewer by Github. Cc @cston @stephentoub who would know more.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area-build Improvements in source-build's own build process ops-monitor Issues created/handled by the source build monitor role
Projects
Status: Done
Development

No branches or pull requests

4 participants