Uploaded image for project: 'Qt Visual Studio Tools'
  1. Qt Visual Studio Tools
  2. QTVSADDINBUG-1002

Visual Studio reported hang due to QtVsTools Extension

    XMLWordPrintable

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]

       

      Attachments

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

        Activity

          People

            mecfc Miguel Costa
            adrianvinca Adrian Vinca
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes