diff --git a/eng/Versions.props b/eng/Versions.props
index b0db712120a289..4683eef4210771 100644
--- a/eng/Versions.props
+++ b/eng/Versions.props
@@ -172,7 +172,7 @@
4.12.0
2.14.3
7.0.100-alpha.1.21528.1
- 1.1.1-beta1.21467.5
+ 1.1.1-beta1.22103.1
6.0.0-preview-20211019.1
diff --git a/src/libraries/System.Runtime.InteropServices/tests/DllImportGenerator.UnitTests/Verifiers/CSharpCodeFixVerifier.cs b/src/libraries/System.Runtime.InteropServices/tests/DllImportGenerator.UnitTests/Verifiers/CSharpCodeFixVerifier.cs
index ae7fd8940100bb..e8737161562da2 100644
--- a/src/libraries/System.Runtime.InteropServices/tests/DllImportGenerator.UnitTests/Verifiers/CSharpCodeFixVerifier.cs
+++ b/src/libraries/System.Runtime.InteropServices/tests/DllImportGenerator.UnitTests/Verifiers/CSharpCodeFixVerifier.cs
@@ -1,6 +1,7 @@
// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.
+using System;
using System.Collections.Immutable;
using System.Threading;
using System.Threading.Tasks;
@@ -115,6 +116,33 @@ public Test()
});
}
+ protected override CompilationWithAnalyzers CreateCompilationWithAnalyzers(Compilation compilation, ImmutableArray analyzers, AnalyzerOptions options, CancellationToken cancellationToken)
+ {
+ return new CompilationWithAnalyzers(
+ compilation,
+ analyzers,
+ new CompilationWithAnalyzersOptions(
+ options,
+ onAnalyzerException: null,
+ concurrentAnalysis: true,
+ logAnalyzerExecutionTime: true,
+ reportSuppressedDiagnostics: false,
+ analyzerExceptionFilter: ex =>
+ {
+ // We're hunting down a intermittent issue that causes NullReferenceExceptions deep in Roslyn. To ensure that we get an actionable dump, we're going to FailFast here to force a process dump.
+ if (ex is NullReferenceException)
+ {
+ // Break a debugger here so there's a chance to investigate if someone is already attached.
+ if (System.Diagnostics.Debugger.IsAttached)
+ {
+ System.Diagnostics.Debugger.Break();
+ }
+ Environment.FailFast($"Encountered a NullReferenceException while running an analyzer. Taking the process down to get an actionable crash dump. Exception information:{ex.ToString()}");
+ }
+ return true;
+ }));
+ }
+
protected override async Task RunImplAsync(CancellationToken cancellationToken)
{
try