Skip to content

ilc doesn't match expectations from SourceBuiltSdkContainsNativeDebugSymbols. #4472

Closed
dotnet/sdk
#41752
@tmds

Description

@tmds

With dotnet/sdk#41198, we've added the ilc ILCompiler as part of the .NET installation.

ilc is .NET application that is NativeAOT compiled.

The Microsoft.DotNet.SourceBuild.SmokeTests include a test, SourceBuiltSdkContainsNativeDebugSymbols, which checks the native binaries in the .NET installation.

The test is failing for the ilc binary with:

[xUnit.net 00:00:19.93]     Microsoft.DotNet.SourceBuild.SmokeTests.DebugTests.SourceBuiltSdkContainsNativeDebugSymbols [FAIL]
[xUnit.net 00:00:19.93]       missing .debug_info section in /home/tmds/repos/dotnet/artifacts/bin/Microsoft.DotNet.SourceBuild.SmokeTests/Release/extracted-sdk/packs/runtime.fedora.39-x64.Microsoft.DotNet.ILCompiler/9.0.0-preview.6.24307.2/tools/ilc
[xUnit.net 00:00:19.93]       missing .debug_abbrev section in /home/tmds/repos/dotnet/artifacts/bin/Microsoft.DotNet.SourceBuild.SmokeTests/Release/extracted-sdk/packs/runtime.fedora.39-x64.Microsoft.DotNet.ILCompiler/9.0.0-preview.6.24307.2/tools/ilc
[xUnit.net 00:00:19.93]       missing FILE symbols in /home/tmds/repos/dotnet/artifacts/bin/Microsoft.DotNet.SourceBuild.SmokeTests/Release/extracted-sdk/packs/runtime.fedora.39-x64.Microsoft.DotNet.ILCompiler/9.0.0-preview.6.24307.2/tools/ilc
[xUnit.net 00:00:19.93]       
[xUnit.net 00:00:19.93]       Stack Trace:
[xUnit.net 00:00:19.93]         /home/tmds/repos/dotnet/test/Microsoft.DotNet.SourceBuild.SmokeTests/DebugTests.cs(64,0): at Microsoft.DotNet.SourceBuild.SmokeTests.DebugTests.SourceBuiltSdkContainsNativeDebugSymbols()
[xUnit.net 00:00:19.93]         
[xUnit.net 00:00:19.93]            at System.RuntimeMethodHandle.InvokeMethod(Object target, Void** arguments, Signature sig, Boolean isConstructor)
[xUnit.net 00:00:19.93]            at System.Reflection.MethodBaseInvoker.InvokeWithNoArgs(Object obj, BindingFlags invokeAttr)

We've updated the test to skip ilc: https://github.com/dotnet/sdk/blob/01aab3448c9185f2a5b7e66e7e327fe4b7841408/src/SourceBuild/content/test/Microsoft.DotNet.SourceBuild.SmokeTests/DebugTests.cs#L77-L78

Are there things we can/should do to make ilc pass the test?

cc @MichalStrehovsky @filipnavara @jkotas @omajid @ViktorHofer @MichaelSimons

Metadata

Metadata

Assignees

Labels

area-testingImprovements in CI and testing

Type

No type

Projects

Status

Done

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions