Skip to content

The extension causes freezes in VS 2026 when certain solutions are open #9

@DarkDaskin

Description

@DarkDaskin

The test solution works OK, but a real solution (UnityModStudio in my case) causes VS 2026 to freeze on opening (reproduced in experimental branch with only TabPath installed). The same solution works OK in VS 2022 with the extension enabled.

Symptoms: the main thread is busy with the following stack trace:

0, clr.dll!WeakReferenceNative::IsAlive+0x3d
1, MS.Internal.WeakReferenceList.FindWeakReference(System.Object) + 0x72 <-- WindowsBase.ni.dll+0x14ce22
2, MS.Internal.WeakReferenceList.Add(System.Object, Boolean) + 0xc9 <-- WindowsBase.ni.dll+0x156199
3, System.Windows.PresentationSource.AddElementToWatchList(System.Windows.DependencyObject) + 0x4e <-- PresentationCore.ni.dll+0x4094de
4, Microsoft.VisualStudio.PlatformUI.Shell.Controls.WindowTitleBarButton..ctor() + 0x36 <-- Microsoft.VisualStudio.Shell.ViewManager.ni.dll+0xd0b36
5, System.RuntimeType.CreateInstanceDefaultCtor(Boolean, Boolean, Boolean, System.Threading.StackCrawlMark ByRef) + 0xa6 <-- mscorlib.ni.dll+0x563926
6, System.Activator.CreateInstance(System.Type, Boolean) + 0x6b <-- mscorlib.ni.dll+0x56386b
7, System.RuntimeType.CreateInstanceImpl(System.Reflection.BindingFlags, System.Reflection.Binder, System.Object[], System.Globalization.CultureInfo, System.Object[], System.Threading.StackCrawlMark ByRef) + 0x2d3 <-- mscorlib.ni.dll+0x534b03
8, System.Activator.CreateInstance(System.Type, System.Reflection.BindingFlags, System.Reflection.Binder, System.Object[], System.Globalization.CultureInfo, System.Object[]) + 0xba <-- mscorlib.ni.dll+0x53481a
9, System.Activator.CreateInstance(System.Type, System.Object[]) + 0x23 <-- mscorlib.ni.dll+0x53edf3
10, MS.Internal.Xaml.Runtime.ClrObjectRuntime.CreateInstance(System.Xaml.XamlType, System.Object[]) + 0x63 <-- System.Xaml.ni.dll+0x1aa6f3
11, MS.Internal.Xaml.Runtime.PartialTrustTolerantRuntime.CreateInstance(System.Xaml.XamlType, System.Object[]) + 0x66 <-- System.Xaml.ni.dll+0x1af436
12, System.Xaml.XamlObjectWriter.Logic_CreateAndAssignToParentStart(MS.Internal.Xaml.Context.ObjectWriterContext) + 0x23e <-- System.Xaml.ni.dll+0x179a3e
13, System.Xaml.XamlObjectWriter.WriteStartMember(System.Xaml.XamlMember) + 0x287 <-- System.Xaml.ni.dll+0x178917
14, System.Windows.FrameworkTemplate.LoadTemplateXaml(System.Xaml.XamlReader, System.Xaml.XamlObjectWriter) + 0x8c <-- PresentationFramework.ni.dll+0x5e0abc
15, System.Windows.FrameworkTemplate.LoadOptimizedTemplateContent(System.Windows.DependencyObject, System.Windows.Markup.IComponentConnector, System.Windows.Markup.IStyleConnector, System.Collections.Generic.List`1<System.Windows.DependencyObject>, System.Windows.UncommonField`1<System.Collections.Hashtable>) + 0x2f3 <-- PresentationFramework.ni.dll+0x5e0873
16, System.Windows.FrameworkTemplate.LoadContent(System.Windows.DependencyObject, System.Collections.Generic.List`1<System.Windows.DependencyObject>) + 0xb6 <-- PresentationFramework.ni.dll+0x5e0516
17, System.Windows.StyleHelper.ApplyTemplateContent(System.Windows.UncommonField`1<System.Collections.Specialized.HybridDictionary[]>, System.Windows.DependencyObject, System.Windows.FrameworkElementFactory, Int32, System.Collections.Specialized.HybridDictionary, System.Windows.FrameworkTemplate) + 0x148 <-- PresentationFramework.ni.dll+0x5e01c8
18, System.Windows.FrameworkTemplate.ApplyTemplateContent(System.Windows.UncommonField`1<System.Collections.Specialized.HybridDictionary[]>, System.Windows.FrameworkElement) + 0x54 <-- PresentationFramework.ni.dll+0x5dfff4
19, System.Windows.FrameworkElement.ApplyTemplate() + 0x76 <-- PresentationFramework.ni.dll+0x5492b6
20, System.Windows.FrameworkElement.MeasureCore(System.Windows.Size) + 0xad <-- PresentationFramework.ni.dll+0x54ce1d
21, System.Windows.UIElement.Measure(System.Windows.Size) + 0x282 <-- PresentationCore.ni.dll+0x461662
22, System.Windows.ContextLayoutManager.UpdateLayout() + 0x21f <-- PresentationCore.ni.dll+0x41845f
23, System.Windows.ContextLayoutManager.UpdateLayoutCallback(System.Object) + 0x23 <-- PresentationCore.ni.dll+0x403363
24, System.Windows.Media.MediaContext.FireInvokeOnRenderCallbacks() + 0x75 <-- PresentationCore.ni.dll+0x4152f5
25, System.Windows.Media.MediaContext.RenderMessageHandlerCore(System.Object) + 0x99 <-- PresentationCore.ni.dll+0x414c79
26, System.Windows.Media.MediaContext.RenderMessageHandler(System.Object) + 0x74 <-- PresentationCore.ni.dll+0x40a164
27, System.Windows.Threading.ExceptionWrapper.InternalRealCall(System.Delegate, System.Object, Int32) + 0x6e <-- WindowsBase.ni.dll+0x14cabe
28, System.Windows.Threading.ExceptionWrapper.TryCatchWhen(System.Object, System.Delegate, System.Object, Int32, System.Delegate) + 0x36 <-- WindowsBase.ni.dll+0x14c9b6
29, System.Windows.Threading.DispatcherOperation.InvokeImpl() + 0x10c <-- WindowsBase.ni.dll+0x1672fc
30, MS.Internal.CulturePreservingExecutionContext.CallbackWrapper(System.Object) + 0x4d <-- WindowsBase.ni.dll+0x15069d
31, System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean) + 0x108 <-- mscorlib.ni.dll+0x561bf8
32, System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean) + 0x15 <-- mscorlib.ni.dll+0x561ae5
33, System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object) + 0x55 <-- mscorlib.ni.dll+0x561ab5
34, MS.Internal.CulturePreservingExecutionContext.Run(MS.Internal.CulturePreservingExecutionContext, System.Threading.ContextCallback, System.Object) + 0xb1 <-- WindowsBase.ni.dll+0x167011
35, System.Windows.Threading.DispatcherOperation.Invoke() + 0x65 <-- WindowsBase.ni.dll+0x166e25
36, System.Windows.Threading.Dispatcher.ProcessQueue() + 0x1bc <-- WindowsBase.ni.dll+0x14fc5c
37, System.Windows.Threading.Dispatcher.WndProcHook(IntPtr, Int32, IntPtr, IntPtr, Boolean ByRef) + 0x6f <-- WindowsBase.ni.dll+0x14a6bf
38, MS.Win32.HwndWrapper.WndProc(IntPtr, Int32, IntPtr, IntPtr, Boolean ByRef) + 0xc4 <-- WindowsBase.ni.dll+0x14be04
39, MS.Win32.HwndSubclass.DispatcherCallbackOperation(System.Object) + 0x84 <-- WindowsBase.ni.dll+0x14c104
40, System.Windows.Threading.ExceptionWrapper.InternalRealCall(System.Delegate, System.Object, Int32) + 0x6e <-- WindowsBase.ni.dll+0x14cabe
41, System.Windows.Threading.ExceptionWrapper.TryCatchWhen(System.Object, System.Delegate, System.Object, Int32, System.Delegate) + 0x36 <-- WindowsBase.ni.dll+0x14c9b6
42, System.Windows.Threading.Dispatcher.LegacyInvokeImpl(System.Windows.Threading.DispatcherPriority, System.TimeSpan, System.Delegate, System.Object, Int32) + 0x172 <-- WindowsBase.ni.dll+0x14c602
43, MS.Win32.HwndSubclass.SubclassWndProc(IntPtr, Int32, IntPtr, IntPtr) + 0x123 <-- WindowsBase.ni.dll+0x14bbe3
44, DomainNeutralILStubClass.IL_STUB_ReversePInvoke(Int64, Int32, Int64, Int64) + 0x52 <-- WindowsBase.ni.dll+0x3ddf72
45, clr.dll!UMThunkStub+0x6e
46, user32.dll!UserCallWinProcCheckWow+0x50c
47, user32.dll!DispatchMessageWorker+0x494
48, msenv.dll!MainMessageLoop::ProcessMessage+0x1d5
49, msenv.dll!CMsoCMHandler::EnvironmentMsgLoop+0x154
50, msenv.dll!CMsoCMHandler::FPushMessageLoop+0x6e
51, msenv.dll!SCM::FPushMessageLoop+0x103
52, msenv.dll!SCM_MsoCompMgr::FPushMessageLoop+0x3f
53, msenv.dll!CMsoComponent::PushMsgLoop+0x44
54, msenv.dll!VStudioMainLogged+0x909
55, msenv.dll!VStudioMain+0x80
56, devenv.exe!util_CallVsMain+0x5c
57, devenv.exe!CDevEnvAppId::Run+0x1e88
58, devenv.exe!WinMain+0xd6
59, devenv.exe!__scrt_common_main_seh+0x106
60, kernel32.dll!BaseThreadInitThunk+0x14
61, ntdll.dll!RtlUserThreadStart+0x21

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions