runtime: 'The "Microsoft.DotNet.Compatibility.ValidatePackage" task failed unexpectedly' in libs legs

Logs from Build Linux x64 release SourceBuild: https://dev.azure.com/dnceng/public/_build/results?buildId=1400355&view=logs&jobId=000ba8e3-34f8-51d2-8d06-9b61f10256d0&j=000ba8e3-34f8-51d2-8d06-9b61f10256d0&t=ca9b6e26-8c16-57f9-673e-2bc0dc655f25

 /__w/1/s/artifacts/source-build/self/package-cache/microsoft.dotnet.compatibility/1.0.0-rc.1.21459.41/build/Microsoft.NET.Compatibility.Common.targets(32,5): error MSB4018: The "Microsoft.DotNet.Compatibility.ValidatePackage" task failed unexpectedly. [/__w/1/s/artifacts/source-build/self/src/src/libraries/System.Runtime.CompilerServices.Unsafe/src/System.Runtime.CompilerServices.Unsafe.ilproj]
  /__w/1/s/artifacts/source-build/self/package-cache/microsoft.dotnet.compatibility/1.0.0-rc.1.21459.41/build/Microsoft.NET.Compatibility.Common.targets(32,5): error MSB4018: System.TypeLoadException: Method 'CompareSourceLocations' in type 'Microsoft.CodeAnalysis.CSharp.CSharpCompilation' from assembly 'Microsoft.CodeAnalysis.CSharp, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' does not have an implementation. [/__w/1/s/artifacts/source-build/self/src/src/libraries/System.Runtime.CompilerServices.Unsafe/src/System.Runtime.CompilerServices.Unsafe.ilproj]
  /__w/1/s/artifacts/source-build/self/package-cache/microsoft.dotnet.compatibility/1.0.0-rc.1.21459.41/build/Microsoft.NET.Compatibility.Common.targets(32,5): error MSB4018:    at Microsoft.DotNet.ApiCompatibility.AssemblySymbolLoader..ctor(Boolean resolveAssemblyReferences) [/__w/1/s/artifacts/source-build/self/src/src/libraries/System.Runtime.CompilerServices.Unsafe/src/System.Runtime.CompilerServices.Unsafe.ilproj]
  /__w/1/s/artifacts/source-build/self/package-cache/microsoft.dotnet.compatibility/1.0.0-rc.1.21459.41/build/Microsoft.NET.Compatibility.Common.targets(32,5): error MSB4018:    at Microsoft.DotNet.PackageValidation.ApiCompatRunner.GetAssemblySymbolFromStream(Stream assemblyStream, MetadataInformation assemblyInformation, Boolean& resolvedReferences) in /_/src/Compatibility/Microsoft.DotNet.PackageValidation/ApiCompatRunner.cs:line 111 [/__w/1/s/artifacts/source-build/self/src/src/libraries/System.Runtime.CompilerServices.Unsafe/src/System.Runtime.CompilerServices.Unsafe.ilproj]
  /__w/1/s/artifacts/source-build/self/package-cache/microsoft.dotnet.compatibility/1.0.0-rc.1.21459.41/build/Microsoft.NET.Compatibility.Common.targets(32,5): error MSB4018:    at Microsoft.DotNet.PackageValidation.ApiCompatRunner.RunApiCompat() in /_/src/Compatibility/Microsoft.DotNet.PackageValidation/ApiCompatRunner.cs:line 49 [/__w/1/s/artifacts/source-build/self/src/src/libraries/System.Runtime.CompilerServices.Unsafe/src/System.Runtime.CompilerServices.Unsafe.ilproj]
  /__w/1/s/artifacts/source-build/self/package-cache/microsoft.dotnet.compatibility/1.0.0-rc.1.21459.41/build/Microsoft.NET.Compatibility.Common.targets(32,5): error MSB4018:    at Microsoft.DotNet.PackageValidation.CompatibleFrameworkInPackageValidator.Validate(Package package) in /_/src/Compatibility/Microsoft.DotNet.PackageValidation/CompatibleFrameworkInPackageValidator.cs:line 62 [/__w/1/s/artifacts/source-build/self/src/src/libraries/System.Runtime.CompilerServices.Unsafe/src/System.Runtime.CompilerServices.Unsafe.ilproj]
  /__w/1/s/artifacts/source-build/self/package-cache/microsoft.dotnet.compatibility/1.0.0-rc.1.21459.41/build/Microsoft.NET.Compatibility.Common.targets(32,5): error MSB4018:    at Microsoft.DotNet.Compatibility.ValidatePackage.ExecuteCore() in /_/src/Compatibility/Microsoft.DotNet.Compatibility/ValidatePackage.cs:line 92 [/__w/1/s/artifacts/source-build/self/src/src/libraries/System.Runtime.CompilerServices.Unsafe/src/System.Runtime.CompilerServices.Unsafe.ilproj]
  /__w/1/s/artifacts/source-build/self/package-cache/microsoft.dotnet.compatibility/1.0.0-rc.1.21459.41/build/Microsoft.NET.Compatibility.Common.targets(32,5): error MSB4018:    at Microsoft.NET.Build.Tasks.TaskBase.Execute() in /_/src/Tasks/Common/TaskBase.cs:line 38 [/__w/1/s/artifacts/source-build/self/src/src/libraries/System.Runtime.CompilerServices.Unsafe/src/System.Runtime.CompilerServices.Unsafe.ilproj]
  /__w/1/s/artifacts/source-build/self/package-cache/microsoft.dotnet.compatibility/1.0.0-rc.1.21459.41/build/Microsoft.NET.Compatibility.Common.targets(32,5): error MSB4018:    at Microsoft.DotNet.Compatibility.ValidatePackage.Execute() in /_/src/Compatibility/Microsoft.DotNet.Compatibility/ValidatePackage.cs:line 49 [/__w/1/s/artifacts/source-build/self/src/src/libraries/System.Runtime.CompilerServices.Unsafe/src/System.Runtime.CompilerServices.Unsafe.ilproj]
  /__w/1/s/artifacts/source-build/self/package-cache/microsoft.dotnet.compatibility/1.0.0-rc.1.21459.41/build/Microsoft.NET.Compatibility.Common.targets(32,5): error MSB4018:    at Microsoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ITaskExecutionHost.Execute() [/__w/1/s/artifacts/source-build/self/src/src/libraries/System.Runtime.CompilerServices.Unsafe/src/System.Runtime.CompilerServices.Unsafe.ilproj]
  /__w/1/s/artifacts/source-build/self/package-cache/microsoft.dotnet.compatibility/1.0.0-rc.1.21459.41/build/Microsoft.NET.Compatibility.Common.targets(32,5): error MSB4018:    at Microsoft.Build.BackEnd.TaskBuilder.ExecuteInstantiatedTask(ITaskExecutionHost taskExecutionHost, TaskLoggingContext taskLoggingContext, TaskHost taskHost, ItemBucket bucket, TaskExecutionMode howToExecuteTask) [/__w/1/s/artifacts/source-build/self/src/src/libraries/System.Runtime.CompilerServices.Unsafe/src/System.Runtime.CompilerServices.Unsafe.ilproj]
    System.Security.Cryptography.X509Certificates -> /__w/1/s/artifacts/source-build/self/src/artifacts/bin/System.Security.Cryptography.X509Certificates/net7.0-Unix-Release/System.Security.Cryptography.X509Certificates.dll

Runfo Tracking Issue: Microsoft.DotNet.Compatibility.ValidatePackage failing

Definition Build Kind Job Name
runtime 1403534 PR 57398 Libraries Build windows allConfigurations x64 Debug
runtime 1403534 PR 57398 Libraries Build windows allConfigurations x64 Debug
runtime 1403534 PR 57398 Libraries Build windows allConfigurations x64 Debug
runtime 1403381 PR 59992 Libraries Build windows allConfigurations x64 Debug
runtime 1403381 PR 59992 Libraries Build windows allConfigurations x64 Debug
runtime 1403056 Rolling Libraries Build windows allConfigurations x64 Release
runtime 1403056 Rolling Libraries Build windows allConfigurations x64 Release
runtime 1402102 PR 59969 Libraries Build windows allConfigurations x64 Debug
runtime 1402102 PR 59969 Libraries Build windows allConfigurations x64 Debug
runtime 1402102 PR 59969 Libraries Build windows allConfigurations x64 Debug
runtime 1402102 PR 59969 Libraries Build windows allConfigurations x64 Debug
runtime 1402102 PR 59969 Libraries Build windows allConfigurations x64 Debug
runtime 1401747 PR 59767 Libraries Build windows allConfigurations x64 Debug
runtime 1401747 PR 59767 Libraries Build windows allConfigurations x64 Debug
runtime 1401747 PR 59767 Libraries Build windows allConfigurations x64 Debug
runtime 1401747 PR 59767 Libraries Build windows allConfigurations x64 Debug
runtime 1401651 PR 59579 Libraries Build windows allConfigurations x64 Debug
runtime 1401651 PR 59579 Libraries Build windows allConfigurations x64 Debug
runtime 1401651 PR 59579 Libraries Build windows allConfigurations x64 Debug
runtime 1401651 PR 59579 Libraries Build windows allConfigurations x64 Debug
runtime 1400858 PR 59846 Libraries Build windows allConfigurations x64 Debug
runtime 1400858 PR 59846 Libraries Build windows allConfigurations x64 Debug
runtime 1400858 PR 59846 Libraries Build windows allConfigurations x64 Debug
runtime 1400838 PR 59915 Libraries Build windows allConfigurations x64 Debug
runtime 1400838 PR 59915 Libraries Build windows allConfigurations x64 Debug
runtime 1400838 PR 59915 Libraries Build windows allConfigurations x64 Debug
runtime 1400838 PR 59915 Libraries Build windows allConfigurations x64 Debug
runtime 1400838 PR 59915 Libraries Build windows allConfigurations x64 Debug
runtime 1400529 PR 59914 Libraries Build windows allConfigurations x64 Debug
runtime 1400529 PR 59914 Libraries Build windows allConfigurations x64 Debug
runtime 1400529 PR 59914 Libraries Build windows allConfigurations x64 Debug
runtime 1400490 PR 59847 Libraries Build windows allConfigurations x64 Debug
runtime 1400490 PR 59847 Libraries Build windows allConfigurations x64 Debug
runtime 1400490 PR 59847 Libraries Build windows allConfigurations x64 Debug
runtime 1400490 PR 59847 Libraries Build windows allConfigurations x64 Debug
runtime 1400452 Rolling Libraries Build windows allConfigurations x64 Release
runtime 1400452 Rolling Libraries Build windows allConfigurations x64 Release
runtime 1400452 Rolling Libraries Build windows allConfigurations x64 Release
runtime 1400452 Rolling Libraries Build windows allConfigurations x64 Release
runtime 1400431 PR 59905 Libraries Build windows allConfigurations x64 Debug
runtime 1400431 PR 59905 Libraries Build windows allConfigurations x64 Debug
runtime 1400431 PR 59905 Libraries Build windows allConfigurations x64 Debug
runtime 1400431 PR 59905 Libraries Build windows allConfigurations x64 Debug
runtime 1400119 PR 59905 Libraries Build windows allConfigurations x64 Debug
runtime 1400119 PR 59905 Libraries Build windows allConfigurations x64 Debug
runtime 1400119 PR 59905 Libraries Build windows allConfigurations x64 Debug
runtime 1400119 PR 59905 Libraries Build windows allConfigurations x64 Debug

Build Result Summary

Day Hit Count Week Hit Count Month Hit Count
0 0 13

About this issue

  • Original URL
  • State: closed
  • Created 3 years ago
  • Reactions: 1
  • Comments: 16 (16 by maintainers)

Most upvoted comments

Seems like a Roslyn update could’ve broken the package validation task? I will try to repro locally tomorrow.

cc: @Anipik @ericstj

@jkoritzinsky I’ve figured out the issue. I’m working on a fix that should be out soon into the SDK repository. The problem is that a condition on the package targets is causing different codeanalysis dlls to be loaded from different locations for different projects and also we are running package validation on runtime.native.System.IO.Ports.pkgproj which is a native package and hence Microsoft.CodeAnalysis.CSharp is not loaded only Microsoft.CodeAnalysis and it is loaded from the SDK path rather than the compilers toolset package because of these targets wrong condition, so that is causing the miss matches. I will put a PR out soon and then we can unpin de compilers package and update the Microsoft.DotNet.Compatibility package version to the one with the fix.

Could have something to do with https://github.com/dotnet/sdk/blob/8e652a081d0dd2c68ca377e5b7514a6b73e05ebd/src/Compatibility/Microsoft.DotNet.Compatibility/ValidatePackage.cs#L106-L120 and someone already loading a different copy of one of those assemblies in the process. My guess is we have some other task which uses Microsoft.CodeAnalysis and we started loading a newer version of the 4.0.0.0 assembly with the newer abstract member, while the ValidatePackage is loading an older copy of Microsoft.CodeAnalysis.CSharp without the change.

We should find out the reason for the mismatch then decide what needs to change to avoid it.