Details
-
Bug
-
Resolution: Cannot Reproduce
-
Not Evaluated
-
None
-
2.8.1 (rev.06)
-
None
Description
Hi,
I am a developer on the Visual Studio team. We received a customer reported issue about a hang in Visual Studio that appears to be caused by the QtVsTools extension.
It appears that a continuation for a call to
Microsoft.VisualStudio.ProjectSystem.UnconfiguredProjectImpl+<LoadConfiguredProjectAsync>d__176.MoveNext()+0xab9
returns on the background thread, that leads to some COM calls on the background thread which leads to the deadlock.
Unfortunately, I don't have access to the symbols for the QtVsTools extension, so I can't pinpoint which one causes the issue. QtVsTools also shows up on the main thread.
Searching the code on GitHub, there are 2 calls to "LoadConfiguredProjectAsync":
https://github.com/qt-labs/vstools/search?q=LoadConfiguredProjectAsync
Thanks,
Adrian
Background thread:
...
clr!GetCOMIPFromRCWHelper+0xb6 [f:\dd\ndp\clr\src\vm\stubhelpers.cpp @ 419]
clr!StubHelpers::GetCOMIPFromRCW+0x1e8 [f:\dd\ndp\clr\src\vm\stubhelpers.cpp @ 522]
envdte!DomainNeutralILStubClass.IL_STUB_CLRtoCOM()+0x6e
QtVsTools!Unknown+0x83
QtVsTools!Unknown+0x43f
mscorlib_ni!System.Runtime.CompilerServices.AsyncMethodBuilderCore+MoveNextRunner.InvokeMoveNext(System.Object)+0x1a
mscorlib_ni!System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)+0xc4
mscorlib_ni!System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)+0x17
mscorlib_ni!System.Runtime.CompilerServices.AsyncMethodBuilderCore+MoveNextRunner.Run()+0x5e
mscorlib_ni!System.Threading.Tasks.AwaitTaskContinuation.RunOrScheduleAction(System.Action, Boolean, System.Threading.Tasks.Task ByRef)+0x4c
mscorlib_ni!System.Threading.Tasks.Task.FinishContinuations()+0x146
mscorlib_ni!System.Threading.Tasks.Task.FinishStageThree()+0x1a
mscorlib_ni!System.Threading.Tasks.Task`1[[System.__Canon, mscorlib]].TrySetResult(System.__Canon)+0x54
mscorlib_ni!System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[[System.Threading.Tasks.VoidTaskResult, mscorlib]].SetResult(System.Threading.Tasks.VoidTaskResult)+0x948
Microsoft_VisualStudio_ProjectSystem_Implementation_ni!Microsoft.VisualStudio.ProjectSystem.UnconfiguredProjectImpl+<LoadConfiguredProjectAsync>d__176.MoveNext()+0xab9
...
Main Thread:
Microsoft_VisualStudio_Threading_ni!Microsoft.VisualStudio.Threading.JoinableTaskFactory.WaitSynchronouslyCore(System.Threading.Tasks.Task)+0x66 [C:\a\1\s\src\Microsoft.VisualStudio.Threading\JoinableTaskFactory.cs @ 555]
Microsoft_VisualStudio_Threading_ni!Microsoft.VisualStudio.Threading.JoinableTaskFactory.WaitSynchronously(System.Threading.Tasks.Task)+0x74 [C:\a\1\s\src\Microsoft.VisualStudio.Threading\JoinableTaskFactory.cs @ 529]
Microsoft_VisualStudio_Threading_ni!Microsoft.VisualStudio.Threading.JoinableTask.CompleteOnCurrentThread()+0x340 [C:\a\1\s\src\Microsoft.VisualStudio.Threading\JoinableTask.cs @ 918]
Unable to load image C:\Windows\assembly\NativeImages_v4.0.30319_32\Microsoft.V2e6c59d9#\9f0a2de62928b21dc4ac30910a1d1f2e\Microsoft.VisualStudio.Project.VisualC.VCProjectEngine.ni.dll, Win32 error 0n2
WARNING: Unable to verify checksum for Microsoft.VisualStudio.Project.VisualC.VCProjectEngine.ni.dll
Microsoft_VisualStudio_Project_VisualC_VCProjectEngine_ni!Microsoft.VisualStudio.Project.VisualC.VCProjectEngine.VCConfigurationShim.get_ConfiguredProject()+0xcd
Microsoft_VisualStudio_Project_VisualC_VCProjectEngine_ni!Microsoft.VisualStudio.Project.VisualC.VCProjectEngine.VCConfigurationShim.get_Mef()+0x9d
Microsoft_VisualStudio_Project_VisualC_VCProjectEngine_ni!Microsoft.VisualStudio.Project.VisualC.VCProjectEngine.VCConfigurationShim+<InitializeWithEvaluationAsync>d__316.MoveNext()+0x617
mscorlib_ni!System.Runtime.CompilerServices.AsyncTaskMethodBuilder.Start[[System.__Canon, mscorlib]](System.__Canon ByRef)+0xebdd8382
Microsoft_VisualStudio_Project_VisualC_VCProjectEngine_ni!Microsoft.VisualStudio.Project.VisualC.VCProjectEngine.VCConfigurationShim.InitializeWithEvaluationAsync()+0x56
Microsoft_VisualStudio_Project_VisualC_VCProjectEngine_ni!Microsoft.VisualStudio.Project.VisualC.VCProjectEngine.VCConfigurationShim+<GetAllRulesAsync>d__308.MoveNext()+0x3c
mscorlib_ni!System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[[System.Int32, mscorlib]].Start[[System.IO.BufferedStream+<ReadFromUnderlyingStreamAsync>d__51, mscorlib]](<ReadFromUnderlyingStreamAsync>d__51 ByRef)+0xebdc76c0
Microsoft_VisualStudio_Project_VisualC_VCProjectEngine_ni!Microsoft.VisualStudio.Project.VisualC.VCProjectEngine.VCConfigurationShim.GetAllRulesAsync()+0x5b
Microsoft_VisualStudio_Project_VisualC_VCProjectEngine_ni!Microsoft.VisualStudio.Project.VisualC.VCProjectEngine.VCConfigurationShim+<<get_Rules>b__133_0>d.MoveNext()+0x5f
mscorlib_ni!System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[[System.Int32, mscorlib]].Start[[System.IO.BufferedStream+<ReadFromUnderlyingStreamAsync>d__51, mscorlib]](<ReadFromUnderlyingStreamAsync>d__51 ByRef)+0xebdc74a8
Microsoft_VisualStudio_Project_VisualC_VCProjectEngine_ni!Microsoft.VisualStudio.Project.VisualC.VCProjectEngine.VCConfigurationShim.<get_Rules>b__133_0()+0x5b
Microsoft_VisualStudio_Project_VisualC_VCProjectEngine_ni!Microsoft.VisualStudio.Project.VisualC.VCProjectEngine.ApartmentMarshaler+<>c_DisplayClass9_0`1+<<Invoke>b_0>d[[System.__Canon, mscorlib]].MoveNext()+0x91
mscorlib_ni!System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[[System.Int32, mscorlib]].Start[[System.IO.BufferedStream+<ReadFromUnderlyingStreamAsync>d__51, mscorlib]](<ReadFromUnderlyingStreamAsync>d__51 ByRef)+0xebd9aaa2
Microsoft_VisualStudio_Project_VisualC_VCProjectEngine_ni!Microsoft.VisualStudio.Project.VisualC.VCProjectEngine.ApartmentMarshaler+<>c_DisplayClass9_0`1[[System.__Canon, mscorlib]].<Invoke>b_0()+0x7b
Microsoft_VisualStudio_Threading_ni!Microsoft.VisualStudio.Threading.JoinableTaskFactory.ExecuteJob[[Microsoft.VisualStudio.Shell.RunningDocumentInfo, Microsoft.VisualStudio.Shell.15.0]](System.Func`1<System.Threading.Tasks.Task>, Microsoft.VisualStudio.Threading.JoinableTask)+0xfd44f768 [C:\a\1\s\src\Microsoft.VisualStudio.Threading\JoinableTaskFactory.cs @ 691]
Microsoft_VisualStudio_Threading_ni!Microsoft.VisualStudio.Threading.JoinableTaskFactory.RunAsync[[Microsoft.VisualStudio.Shell.RunningDocumentInfo, Microsoft.VisualStudio.Shell.15.0]](System.Func`1<System.Threading.Tasks.Task`1<Microsoft.VisualStudio.Shell.RunningDocumentInfo>>, Boolean, Microsoft.VisualStudio.Threading.JoinableTaskCreationOptions)+0xfd44f772 [C:\a\1\s\src\Microsoft.VisualStudio.Threading\JoinableTaskFactory.cs @ 685]
Microsoft_VisualStudio_Threading_ni!Microsoft.VisualStudio.Threading.JoinableTaskFactory.Run[[System.UInt32, mscorlib]](System.Func`1<System.Threading.Tasks.Task`1<UInt32>>, Microsoft.VisualStudio.Threading.JoinableTaskCreationOptions)+0xfffaec15 [C:\a\1\s\src\Microsoft.VisualStudio.Threading\JoinableTaskFactory.cs @ 283]
Microsoft_VisualStudio_Threading_ni!Microsoft.VisualStudio.Threading.JoinableTaskFactory.Run[[Microsoft.VisualStudio.Threading.EmptyStruct, Microsoft.VisualStudio.Threading]](System.Func`1<System.Threading.Tasks.Task`1<Microsoft.VisualStudio.Threading.EmptyStruct>>)+0xfffe8799 [C:\a\1\s\src\Microsoft.VisualStudio.Threading\JoinableTaskFactory.cs @ 264]
Microsoft_VisualStudio_Project_VisualC_VCProjectEngine_ni!Microsoft.VisualStudio.Project.VisualC.VCProjectEngine.ApartmentMarshaler.Invoke[[System.__Canon, mscorlib]](System.Func`1<System.Threading.Tasks.Task`1<System.__Canon>>)+0xac
Microsoft_VisualStudio_Project_VisualC_VCProjectEngine_ni!Microsoft.VisualStudio.Project.VisualC.VCProjectEngine.VCConfigurationShim.get_Rules()+0x40
WARNING: Unable to verify checksum for QtVsTools.Core.dll
QtVsTools_Core!Unknown+0x23
Unable to load image C:\Windows\assembly\NativeImages_v4.0.30319_32\System.Core\ac36da337473742b42cb651eb8eeee7e\System.Core.ni.dll, Win32 error 0n2
WARNING: Unable to verify checksum for System.Core.ni.dll
System_Core_ni!System.Linq.Enumerable+WhereSelectEnumerableIterator`2[[System.Guid, mscorlib],[System.__Canon, mscorlib]].MoveNext()+0xfffe88fc [f:\dd\ndp\fx\src\Core\System\Linq\Enumerable.cs @ 406]
System_Core_ni!System.Linq.Enumerable+WhereEnumerableIterator`1[[System.__Canon, mscorlib]].MoveNext()+0x21 [f:\dd\ndp\fx\src\Core\System\Linq\Enumerable.cs @ 147]
System_Core_ni!System.Linq.Enumerable.Any[[System.__Canon, mscorlib]](System.Collections.Generic.IEnumerable`1<System.__Canon>)+0x4f [f:\dd\ndp\fx\src\Core\System\Linq\Enumerable.cs @ 1291]
QtVsTools_Core!Unknown+0x7c
WARNING: Unable to verify checksum for QtVsTools.dll
QtVsTools!Unknown+0x2c4
QtVsTools!Unknown+0x422
Microsoft_VisualStudio_Debugger_InteropA!DomainNeutralILStubClass.IL_STUB_COMtoCLR(IntPtr, IntPtr, IntPtr, IntPtr, IntPtr, IntPtr, Int32)+0xb4
clr!COMToCLRDispatchHelper+0x6b [f:\dd\ndp\clr\src\vm\i386\asmhelpers.asm @ 1892]