Attempting to run even a simple test with Visual Studio 2022 17.4.4 never finishes. For example, getting https://github.com/josetr/VsixTestingSamples, updating the VsixTesting.Xunit
version in the VsClassLibrary.Tests.csproj
file to the latest 0.1.75
, building everything in VsClassLibrary.sln
and attempting to execute the test TestMethod17
causes the test to start running but to never finish. Looking in the Task Manager, VsixTesting.Installer.x64.exe
gets created but just waits with 0% CPU load.
ntdll.dll!NtWaitForSingleObject�() Unknown
KernelBase.dll!WaitForSingleObjectEx�() Unknown
clrjit.dll!Compiler::lvaInitTypeRef() Line 251 C++
clrjit.dll!Compiler::compCompileHelper(CORINFO_MODULE_STRUCT_ * classPtr, ICorJitInfo * compHnd, CORINFO_METHOD_INFO * methodInfo, void * * methodCodePtr, unsigned long * methodCodeSize, JitFlags * compileFlags, CorInfoInstantiationVerification) Line 6161 C++
clrjit.dll!Compiler::compCompile(CORINFO_METHOD_STRUCT_ * methodHnd, CORINFO_MODULE_STRUCT_ * classPtr, ICorJitInfo * compHnd, CORINFO_METHOD_INFO * methodInfo, void * * methodCodePtr, unsigned long * methodCodeSize, JitFlags * compileFlags) Line 5644 C++
clrjit.dll!jitNativeCode(CORINFO_METHOD_STRUCT_ * methodHnd, CORINFO_MODULE_STRUCT_ * classPtr, ICorJitInfo * compHnd, CORINFO_METHOD_INFO * methodInfo, void * * methodCodePtr, unsigned long * methodCodeSize, JitFlags * compileFlags, void * inlineInfoPtr) Line 6953 C++
clrjit.dll!CILJit::compileMethod(ICorJitInfo * compHnd, CORINFO_METHOD_INFO * methodInfo, unsigned int flags, unsigned char * * entryAddress, unsigned long * nativeSizeOfCode) Line 312 C++
[Managed to Native Transition]
Microsoft.VisualStudio.ExtensionEngine.dll!Microsoft.VisualStudio.ExtensionManager.InstallableExtensionImpl.InstallableExtensionImpl(string path, System.Globalization.CultureInfo preferredCulture) Line 166 C#
Microsoft.VisualStudio.ExtensionEngine.dll!Microsoft.VisualStudio.ExtensionManager.ExtensionEngineImpl.CreateInstallableExtension(string extensionPath, System.Globalization.CultureInfo preferredCulture) Line 789 C#
Microsoft.VisualStudio.ExtensionManager.Implementation.dll!Microsoft.VisualStudio.ExtensionManager.ExtensionManagerService.Microsoft.VisualStudio.ExtensionManager.IVsExtensionManager.CreateInstallableExtension(string extensionPath) Unknown
VsixTesting.Installer.x64.exe!VsixTesting.Installer.Installer.Install(string extensionPath, bool? allUsers) Line 60 C#
System.Core.dll!System.Linq.Enumerable.Count<string>(System.Collections.Generic.IEnumerable<string> source, System.Func<string, bool> predicate) Unknown
VsixTesting.Installer.x64.exe!VsixTesting.Installer.Installer.Install(string applicationPath, string rootSuffix, System.Collections.Generic.IEnumerable<string> extensionPaths, bool? allUsers) Line 42 C#
VsixTesting.Installer.x64.exe!VsixTesting.Installer.Program.Run(string applicationPath, string rootSuffix, System.Version vsProductVersion, string[] args) Line 112 C#
[AppDomain (VsixTesting.Installer.x64.exe�, #1) -> AppDomain (Installer 17.4.33213.308�, #2)]
VsixTesting.Installer.x64.exe!VsixTesting.Installer.Program.Main(string[] args) Unknown
I am bit confused about the clrjit.dll stuff at the top of the stack.
Microsoft.VisualStudio.ExtensionEngine.dll!Microsoft.VisualStudio.ExtensionManager.ScanModule.ShouldRecurseDirectory(ref Microsoft.IO.Enumeration.FileSystemEntry entry) Line 215 C#
Microsoft.IO.Redist.dll!Microsoft.IO.Enumeration.FileSystemEnumerator<string>.MoveNext() Line 246 C#
Microsoft.VisualStudio.ExtensionEngine.dll!Microsoft.VisualStudio.ExtensionManager.ScanModule.FindExtensionManifests(Microsoft.IO.DirectoryInfo rootDirectory, int depthOverride) Line 186 C#
Microsoft.VisualStudio.ExtensionEngine.dll!Microsoft.VisualStudio.ExtensionManager.ScanModule.ScanExtensions(Microsoft.VisualStudio.ExtensionManager.ExtensionLocations location, Microsoft.IO.DirectoryInfo directory, bool isSdkLocation, int depthOverride) Line 295 C#
Microsoft.VisualStudio.ExtensionEngine.dll!Microsoft.VisualStudio.ExtensionManager.ScanModule.ScanPathForLocation(Microsoft.VisualStudio.ExtensionManager.ExtensionLocations location, string path) Line 315 C#
Microsoft.VisualStudio.ExtensionEngine.dll!Microsoft.VisualStudio.ExtensionManager.ScanModule.ScanInstalledExtensionsInLocation(Microsoft.VisualStudio.ExtensionManager.ExtensionLocations location, bool safeMode) Line 287 C#
mscorlib.dll!System.Threading.Tasks.Task<Microsoft.VisualStudio.ExtensionManager.Impl.Settings.ScanResult>.InnerInvoke() Unknown
mscorlib.dll!System.Threading.Tasks.Task.Execute() Unknown
I.e. it calls AsyncLazy.GetValue()
. However, that method does not seem to exist. Decompilation of Microsoft.VisualStudio.Threading.AsyncLazy
does not show it. I guess this is causing the exception.