Roslyn: NRE in GetExplicitInterfaceImplementations when building dotnet/runtime

Created on 5 Aug 2020  ·  15Comments  ·  Source: dotnet/roslyn

Version Used: 81c5d71

Steps to Reproduce:

.\Build.cmd -pack -configuration Release in Roslyn, then set up a dotnet/runtime enlistment to use your locally build compiler. You may use branch https://github.com/RikkiGibson/runtime/tree/use-local-roslyn as a starting point. NOTE: you must build a release package to repro this bug and change the RestoreAdditionalProjectSources path from Debug to Release.

Once that is complete, run .\Build.cmd -subset libs to repro the bug.

Expected Behavior:
Builds without errors

Actual Behavior:

Process terminated. System.NullReferenceException: Object reference not set to an instance of an object. [C:\Users\rikki\src\runtime\src\libraries\System.Diagnostics.Process\ref\System.Diagnostics.Process.csproj]
   at Microsoft.CodeAnalysis.CSharp.Symbols.Metadata.PE.PEMethodSymbol.get_ExplicitInterfaceImplementations() in C:\Users\rikki\src\roslyn\src\Compilers\CSharp\Portable\Symbols\Metadata\PE\PEMethodSymbol.cs:line 1232 [C:\Users\rikki\src\runtime\src\libraries\System.Diagnostics.Process\ref\System.Diagnostics.Process.csproj]
   at Microsoft.CodeAnalysis.CSharp.Symbols.SymbolExtensions.GetExplicitInterfaceImplementations(Symbol member) in C:\Users\rikki\src\roslyn\src\Compilers\CSharp\Portable\Symbols\MemberSymbolExtensions.cs:line 516 [C:\Users\rikki\src\runtime\src\libraries\System.Diagnostics.Process\ref\System.Diagnostics.Process.csproj]
   at Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol.MakeExplicitInterfaceImplementationMap() in C:\Users\rikki\src\roslyn\src\Compilers\CSharp\Portable\Symbols\TypeSymbol.cs:line 2091 [C:\Users\rikki\src\runtime\src\libraries\System.Diagnostics.Process\ref\System.Diagnostics.Process.csproj]
   at Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol.GetExplicitImplementationForInterfaceMember(Symbol interfaceMember) in C:\Users\rikki\src\roslyn\src\Compilers\CSharp\Portable\Symbols\TypeSymbol.cs:line 2082 [C:\Users\rikki\src\runtime\src\libraries\System.Diagnostics.Process\ref\System.Diagnostics.Process.csproj]
   at Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol.ComputeImplementationForInterfaceMember(Symbol interfaceMember, TypeSymbol implementingType, DiagnosticBag diagnostics, Boolean ignoreImplementationInInterfaces, Boolean& implementationInInterfacesMightChangeResult) in C:\Users\rikki\src\roslyn\src\Compilers\CSharp\Portable\Symbols\TypeSymbol.cs:line 839 [C:\Users\rikki\src\runtime\src\libraries\System.Diagnostics.Process\ref\System.Diagnostics.Process.csproj]
   at Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol.ComputeImplementationAndDiagnosticsForInterfaceMember(Symbol interfaceMember, Boolean ignoreImplementationInInterfaces, Boolean& implementationInInterfacesMightChangeResult) in C:\Users\rikki\src\roslyn\src\Compilers\CSharp\Portable\Symbols\TypeSymbol.cs:line 781 [C:\Users\rikki\src\runtime\src\libraries\System.Diagnostics.Process\ref\System.Diagnostics.Process.csproj]
   at Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol.FindImplementationForInterfaceMemberInNonInterfaceWithDiagnostics(Symbol interfaceMember, Boolean ignoreImplementationInInterfacesIfResultIsNotReady) in C:\Users\rikki\src\roslyn\src\Compilers\CSharp\Portable\Symbols\TypeSymbol.cs:line 757 [C:\Users\rikki\src\runtime\src\libraries\System.Diagnostics.Process\ref\System.Diagnostics.Process.csproj]
   at Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol.ComputeInterfaceImplementations(DiagnosticBag diagnostics, CancellationToken cancellationToken) in C:\Users\rikki\src\roslyn\src\Compilers\CSharp\Portable\Symbols\Source\SourceMemberContainerSymbol_ImplementationChecks.cs:line 157 [C:\Users\rikki\src\runtime\src\libraries\System.Diagnostics.Process\ref\System.Diagnostics.Process.csproj]
   at Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol.GetSynthesizedExplicitImplementations(CancellationToken cancellationToken) in C:\Users\rikki\src\roslyn\src\Compilers\CSharp\Portable\Symbols\Source\SourceMemberContainerSymbol_ImplementationChecks.cs:line 50 [C:\Users\rikki\src\runtime\src\libraries\System.Diagnostics.Process\ref\System.Diagnostics.Process.csproj]
   at Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol.ForceComplete(SourceLocation locationOpt, CancellationToken cancellationToken) in C:\Users\rikki\src\roslyn\src\Compilers\CSharp\Portable\Symbols\Source\SourceMemberContainerSymbol.cs:line 507 [C:\Users\rikki\src\runtime\src\libraries\System.Diagnostics.Process\ref\System.Diagnostics.Process.csproj]
   at Microsoft.CodeAnalysis.CSharp.Symbol.ForceCompleteMemberByLocation(SourceLocation locationOpt, Symbol member, CancellationToken cancellationToken) in C:\Users\rikki\src\roslyn\src\Compilers\CSharp\Portable\Symbols\Symbol.cs:line 800 [C:\Users\rikki\src\runtime\src\libraries\System.Diagnostics.Process\ref\System.Diagnostics.Process.csproj]
   at Microsoft.CodeAnalysis.CSharp.Symbols.SourceNamespaceSymbol.<>c__DisplayClass49_1.<ForceComplete>b__0(Int32 i) in C:\Users\rikki\src\roslyn\src\Compilers\CSharp\Portable\Symbols\Source\SourceNamespaceSymbol_Completion.cs:line 61 [C:\Users\rikki\src\runtime\src\libraries\System.Diagnostics.Process\ref\System.Diagnostics.Process.csproj]
   at System.Environment.FailFast(System.String, System.Exception) [C:\Users\rikki\src\runtime\src\libraries\System.Diagnostics.Process\ref\System.Diagnostics.Process.csproj]
   at Microsoft.CodeAnalysis.FailFast.OnFatalException(System.Exception) [C:\Users\rikki\src\runtime\src\libraries\System.Diagnostics.Process\ref\System.Diagnostics.Process.csproj]
   at Microsoft.CodeAnalysis.FatalError.Report(System.Exception, System.Action`1<System.Exception>) [C:\Users\rikki\src\runtime\src\libraries\System.Diagnostics.Process\ref\System.Diagnostics.Process.csproj]
   at Microsoft.CodeAnalysis.FatalError.Report(System.Exception) [C:\Users\rikki\src\runtime\src\libraries\System.Diagnostics.Process\ref\System.Diagnostics.Process.csproj]
   at Microsoft.CodeAnalysis.FatalError.ReportUnlessCanceled(System.Exception) [C:\Users\rikki\src\runtime\src\libraries\System.Diagnostics.Process\ref\System.Diagnostics.Process.csproj]
   at Microsoft.CodeAnalysis.CSharp.Symbols.SourceNamespaceSymbol+<>c__DisplayClass49_1.<ForceComplete>b__0(Int32) [C:\Users\rikki\src\runtime\src\libraries\System.Diagnostics.Process\ref\System.Diagnostics.Process.csproj]
   at Microsoft.CodeAnalysis.CSharp.Symbols.Metadata.PE.PEMethodSymbol.get_ExplicitInterfaceImplementations() [C:\Users\rikki\src\runtime\src\libraries\System.Diagnostics.Process\ref\System.Diagnostics.Process.csproj]
   at Microsoft.CodeAnalysis.CSharp.Symbols.SymbolExtensions.GetExplicitInterfaceImplementations(Microsoft.CodeAnalysis.CSharp.Symbol) [C:\Users\rikki\src\runtime\src\libraries\System.Diagnostics.Process\ref\System.Diagnostics.Process.csproj]
   at Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol.MakeExplicitInterfaceImplementationMap() [C:\Users\rikki\src\runtime\src\libraries\System.Diagnostics.Process\ref\System.Diagnostics.Process.csproj]
   at Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol.GetExplicitImplementationForInterfaceMember(Microsoft.CodeAnalysis.CSharp.Symbol) [C:\Users\rikki\src\runtime\src\libraries\System.Diagnostics.Process\ref\System.Diagnostics.Process.csproj]
   at Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol.ComputeImplementationForInterfaceMember(Microsoft.CodeAnalysis.CSharp.Symbol, Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol, Microsoft.CodeAnalysis.DiagnosticBag, Boolean, Boolean ByRef) [C:\Users\rikki\src\runtime\src\libraries\System.Diagnostics.Process\ref\System.Diagnostics.Process.csproj]
   at Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol.ComputeImplementationAndDiagnosticsForInterfaceMember(Microsoft.CodeAnalysis.CSharp.Symbol, Boolean, Boolean ByRef) [C:\Users\rikki\src\runtime\src\libraries\System.Diagnostics.Process\ref\System.Diagnostics.Process.csproj]
   at Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol.FindImplementationForInterfaceMemberInNonInterfaceWithDiagnostics(Microsoft.CodeAnalysis.CSharp.Symbol, Boolean) [C:\Users\rikki\src\runtime\src\libraries\System.Diagnostics.Process\ref\System.Diagnostics.Process.csproj]
   at Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol.ComputeInterfaceImplementations(Microsoft.CodeAnalysis.DiagnosticBag, System.Threading.CancellationToken) [C:\Users\rikki\src\runtime\src\libraries\System.Diagnostics.Process\ref\System.Diagnostics.Process.csproj]
   at Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol.GetSynthesizedExplicitImplementations(System.Threading.CancellationToken) [C:\Users\rikki\src\runtime\src\libraries\System.Diagnostics.Process\ref\System.Diagnostics.Process.csproj]
   at Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol.ForceComplete(Microsoft.CodeAnalysis.SourceLocation, System.Threading.CancellationToken) [C:\Users\rikki\src\runtime\src\libraries\System.Diagnostics.Process\ref\System.Diagnostics.Process.csproj]
   at Microsoft.CodeAnalysis.CSharp.Symbol.ForceCompleteMemberByLocation(Microsoft.CodeAnalysis.SourceLocation, Microsoft.CodeAnalysis.CSharp.Symbol, System.Threading.CancellationToken) [C:\Users\rikki\src\runtime\src\libraries\System.Diagnostics.Process\ref\System.Diagnostics.Process.csproj]
   at Microsoft.CodeAnalysis.CSharp.Symbols.SourceNamespaceSymbol+<>c__DisplayClass49_1.<ForceComplete>b__0(Int32) [C:\Users\rikki\src\runtime\src\libraries\System.Diagnostics.Process\ref\System.Diagnostics.Process.csproj]
   at Roslyn.Utilities.UICultureUtilities+<>c__DisplayClass6_0`1[[System.Int32, System.Private.CoreLib, Version=5.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].<WithCurrentUICulture>b__0(Int32) [C:\Users\rikki\src\runtime\src\libraries\System.Diagnostics.Process\ref\System.Diagnostics.Process.csproj]
   at System.Threading.Tasks.Parallel+<>c__DisplayClass19_0`1[[System.__Canon, System.Private.CoreLib, Version=5.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].<ForWorker>b__1(System.Threading.Tasks.RangeWorker ByRef, Int32, Boolean ByRef) [C:\Users\rikki\src\runtime\src\libraries\System.Diagnostics.Process\ref\System.Diagnostics.Process.csproj]
   at System.Threading.Tasks.TaskReplicator+Replica`1[[System.Threading.Tasks.RangeWorker, System.Threading.Tasks.Parallel, Version=5.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a]].ExecuteAction(Boolean ByRef) [C:\Users\rikki\src\runtime\src\libraries\System.Diagnostics.Process\ref\System.Diagnostics.Process.csproj]
   at System.Threading.Tasks.TaskReplicator+Replica.Execute() [C:\Users\rikki\src\runtime\src\libraries\System.Diagnostics.Process\ref\System.Diagnostics.Process.csproj]
   at System.Threading.Tasks.TaskReplicator+Replica+<>c.<.ctor>b__4_0(System.Object) [C:\Users\rikki\src\runtime\src\libraries\System.Diagnostics.Process\ref\System.Diagnostics.Process.csproj]
   at System.Threading.Tasks.Task.InnerInvoke() [C:\Users\rikki\src\runtime\src\libraries\System.Diagnostics.Process\ref\System.Diagnostics.Process.csproj]
   at System.Threading.Tasks.Task+<>c.<.cctor>b__277_0(System.Object) [C:\Users\rikki\src\runtime\src\libraries\System.Diagnostics.Process\ref\System.Diagnostics.Process.csproj]
   at System.Threading.ExecutionContext.RunFromThreadPoolDispatchLoop(System.Threading.Thread, System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object) [C:\Users\rikki\src\runtime\src\libraries\System.Diagnostics.Process\ref\System.Diagnostics.Process.csproj]
   at System.Threading.Tasks.Task.ExecuteWithThreadLocal(System.Threading.Tasks.Task ByRef, System.Threading.Thread) [C:\Users\rikki\src\runtime\src\libraries\System.Diagnostics.Process\ref\System.Diagnostics.Process.csproj]
   at System.Threading.Tasks.Task.ExecuteEntryUnsafe(System.Threading.Thread) [C:\Users\rikki\src\runtime\src\libraries\System.Diagnostics.Process\ref\System.Diagnostics.Process.csproj]
   at System.Threading.Tasks.Task.ExecuteFromThreadPool(System.Threading.Thread) [C:\Users\rikki\src\runtime\src\libraries\System.Diagnostics.Process\ref\System.Diagnostics.Process.csproj]
   at System.Threading.ThreadPoolWorkQueue.Dispatch() [C:\Users\rikki\src\runtime\src\libraries\System.Diagnostics.Process\ref\System.Diagnostics.Process.csproj]
   at System.Threading._ThreadPoolWaitCallback.PerformWaitCallback() [C:\Users\rikki\src\runtime\src\libraries\System.Diagnostics.Process\ref\System.Diagnostics.Process.csproj]
System.NullReferenceException: Object reference not set to an instance of an object. [C:\Users\rikki\src\runtime\src\libraries\System.Diagnostics.Process\ref\System.Diagnostics.Process.csproj]
   at Microsoft.CodeAnalysis.CSharp.Symbols.Metadata.PE.PEMethodSymbol.get_ExplicitInterfaceImplementations() in C:\Users\rikki\src\roslyn\src\Compilers\CSharp\Portable\Symbols\Metadata\PE\PEMethodSymbol.cs:line 1232 [C:\Users\rikki\src\runtime\src\libraries\System.Diagnostics.Process\ref\System.Diagnostics.Process.csproj]
   at Microsoft.CodeAnalysis.CSharp.Symbols.SymbolExtensions.GetExplicitInterfaceImplementations(Symbol member) in C:\Users\rikki\src\roslyn\src\Compilers\CSharp\Portable\Symbols\MemberSymbolExtensions.cs:line 516 [C:\Users\rikki\src\runtime\src\libraries\System.Diagnostics.Process\ref\System.Diagnostics.Process.csproj]
   at Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol.MakeExplicitInterfaceImplementationMap() in C:\Users\rikki\src\roslyn\src\Compilers\CSharp\Portable\Symbols\TypeSymbol.cs:line 2091 [C:\Users\rikki\src\runtime\src\libraries\System.Diagnostics.Process\ref\System.Diagnostics.Process.csproj]
   at Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol.GetExplicitImplementationForInterfaceMember(Symbol interfaceMember) in C:\Users\rikki\src\roslyn\src\Compilers\CSharp\Portable\Symbols\TypeSymbol.cs:line 2082 [C:\Users\rikki\src\runtime\src\libraries\System.Diagnostics.Process\ref\System.Diagnostics.Process.csproj]
   at Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol.ComputeImplementationForInterfaceMember(Symbol interfaceMember, TypeSymbol implementingType, DiagnosticBag diagnostics, Boolean ignoreImplementationInInterfaces, Boolean& implementationInInterfacesMightChangeResult) in C:\Users\rikki\src\roslyn\src\Compilers\CSharp\Portable\Symbols\TypeSymbol.cs:line 839 [C:\Users\rikki\src\runtime\src\libraries\System.Diagnostics.Process\ref\System.Diagnostics.Process.csproj]
   at Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol.ComputeImplementationAndDiagnosticsForInterfaceMember(Symbol interfaceMember, Boolean ignoreImplementationInInterfaces, Boolean& implementationInInterfacesMightChangeResult) in C:\Users\rikki\src\roslyn\src\Compilers\CSharp\Portable\Symbols\TypeSymbol.cs:line 781 [C:\Users\rikki\src\runtime\src\libraries\System.Diagnostics.Process\ref\System.Diagnostics.Process.csproj]
   at Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol.FindImplementationForInterfaceMemberInNonInterfaceWithDiagnostics(Symbol interfaceMember, Boolean ignoreImplementationInInterfacesIfResultIsNotReady) in C:\Users\rikki\src\roslyn\src\Compilers\CSharp\Portable\Symbols\TypeSymbol.cs:line 757 [C:\Users\rikki\src\runtime\src\libraries\System.Diagnostics.Process\ref\System.Diagnostics.Process.csproj]
   at Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol.ComputeInterfaceImplementations(DiagnosticBag diagnostics, CancellationToken cancellationToken) in C:\Users\rikki\src\roslyn\src\Compilers\CSharp\Portable\Symbols\Source\SourceMemberContainerSymbol_ImplementationChecks.cs:line 157 [C:\Users\rikki\src\runtime\src\libraries\System.Diagnostics.Process\ref\System.Diagnostics.Process.csproj]
   at Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol.GetSynthesizedExplicitImplementations(CancellationToken cancellationToken) in C:\Users\rikki\src\roslyn\src\Compilers\CSharp\Portable\Symbols\Source\SourceMemberContainerSymbol_ImplementationChecks.cs:line 50 [C:\Users\rikki\src\runtime\src\libraries\System.Diagnostics.Process\ref\System.Diagnostics.Process.csproj]
   at Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol.ForceComplete(SourceLocation locationOpt, CancellationToken cancellationToken) in C:\Users\rikki\src\roslyn\src\Compilers\CSharp\Portable\Symbols\Source\SourceMemberContainerSymbol.cs:line 507 [C:\Users\rikki\src\runtime\src\libraries\System.Diagnostics.Process\ref\System.Diagnostics.Process.csproj]
   at Microsoft.CodeAnalysis.CSharp.Symbol.ForceCompleteMemberByLocation(SourceLocation locationOpt, Symbol member, CancellationToken cancellationToken) in C:\Users\rikki\src\roslyn\src\Compilers\CSharp\Portable\Symbols\Symbol.cs:line 800 [C:\Users\rikki\src\runtime\src\libraries\System.Diagnostics.Process\ref\System.Diagnostics.Process.csproj]
   at Microsoft.CodeAnalysis.CSharp.Symbols.SourceNamespaceSymbol.<>c__DisplayClass49_1.<ForceComplete>b__0(Int32 i) in C:\Users\rikki\src\roslyn\src\Compilers\CSharp\Portable\Symbols\Source\SourceNamespaceSymbol_Completion.cs:line 61 [C:\Users\rikki\src\runtime\src\libraries\System.Diagnostics.Process\ref\System.Diagnostics.Process.csproj]
Area-Compilers Bug Tenet-Reliability

All 15 comments

FYI @safern

Things I have figured out about this bug:

  • This bug was introduced between official builds 3.8.0-2.20403.10 (b0bff92d46d5cb8a495b3a6babb4ad59a8bdba50) and 3.8.0-2.20404.11 (2c5f58620006a58e72ac66ae266ae89c2744476c). Compare link
  • This bug only seems to occur in Release mode, with no debugger attached to VBCSCompiler
  • We only seem to crash when building ref assemblies such as DbCommand in System.Data.Common

The compare link above is quite large and tends to time out, so I also have a list of PRs merged between the two builds

We have added a workaround to the compiler which we should remove once we and our customers are ready to consume a .NET 5 runtime that has the fix.

@RikkiGibson and @jaredpar just FYI aspnet/extensions is hitting this as well:

Exception occurred with following context:

Compilation: Microsoft.AspNetCore.Testing.Tests

ISymbol: TestEventSource (NamedType)

System.NullReferenceException: Object reference not set to an instance of an object.

at Microsoft.CodeAnalysis.CSharp.Symbols.Metadata.PE.PEMethodSymbol.get_ExplicitInterfaceImplementations()

at Microsoft.CodeAnalysis.CSharp.Symbols.SymbolExtensions.GetExplicitInterfaceImplementations(Symbol member)

at Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol.MakeExplicitInterfaceImplementationMap()

at Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol.GetExplicitImplementationForInterfaceMember(Symbol interfaceMember)

at Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol.ComputeImplementationForInterfaceMember(Symbol interfaceMember, TypeSymbol implementingType, DiagnosticBag diagnostics, Boolean ignoreImplementationInInterfaces, Boolean& implementationInInterfacesMightChangeResult)

at Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol.ComputeImplementationAndDiagnosticsForInterfaceMember(Symbol interfaceMember, Boolean ignoreImplementationInInterfaces, Boolean& implementationInInterfacesMightChangeResult)

at Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol.FindImplementationForInterfaceMemberInNonInterfaceWithDiagnostics(Symbol interfaceMember, Boolean ignoreImplementationInInterfacesIfResultIsNotReady)

at Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol.FindImplementationForInterfaceMemberInNonInterface(Symbol interfaceMember, Boolean ignoreImplementationInInterfacesIfResultIsNotReady)

at Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol.FindImplementationForInterfaceMember(Symbol interfaceMember)

at Microsoft.CodeAnalysis.CSharp.Symbols.PublicModel.TypeSymbol.Microsoft.CodeAnalysis.ITypeSymbol.FindImplementationForInterfaceMember(ISymbol interfaceMember)

The latest compilers from the VS 16.8 channel should not have this issue. Is there a PR which updates the roslyn dependency for that repo?

Yes, we're updating it to the same version as dotnet/runtime.

Could you please link the PR?

This is one: https://github.com/dotnet/aspnetcore/pull/25545

@Anipik do you have the one for extensions?

That is surprising and unfortunate. We didn't think that the bug would reproduce for compilers that do not contain #44447. It might be necessary, unfortunately, to take a later compiler which includes #47007, the earliest of which is 3.8.0-3.20421.3

FYI: @dougbu in case you don't want to downgrade

(I hope to get dotnet/aspnetcore#25545 in as soon as I hear from my co-workers about the macOS timeouts we're also hitting and that I'm changing there. But, we can follow up later if necessary and I may not hear back today.)

Choosing a newer version of Microsoft.Net.Compilers.Toolset and leaving it unpinned in aspnetcore and aspnetcore-tooling is our current plan for the master branches now that arcade and aspnetcore use the same Mastro++ channels for this dependency (thanks @mmitche❕). But, based on our offline discussion about different versions used in the RC2 branches, I lean toward choosing a single version of this dependency for runtime, aspnetcore, aspnetcore-tooling, and extensions ASAP i.e. pinning them all at the same version (ignoring whatever arcade chooses from here on).

So, @Anipik @ericstj @safern will runtime and extensions move to something between 3.8.0-3.20421.3 (the "earliest" version @RikkiGibson mentioned) and 3.8.0-3.20452.1 (the latest in the 'VS 16.8' channel) today or tomorrow❔ If not, I'll leave dotnet/aspnetcore#25545 at 3.8.0-2.20403.2 for consistency w/ runtime's current toolset version.

Since we don't need a compiler feature in runtime or extensions I don't think we will put up an update just to get a "newer" compiler in RC1/2 however we can do it in runtime or arcade master to dog food

Hi. We opened in September #47187 which was closed as duplicate of this issue.

FYI #47187 doesn't reproduce anymore in dotnet 5.0.100-rc.2.20479.15 . I'm not sure if this issue should be closed or not.

I had meant to use this issue to track removing the workaround once we had a version of dotnet/runtime with the fix. We might be ready to do that now, so maybe I'll just give it a try and send the PR later this morning.

Was this page helpful?
0 / 5 - 0 ratings