I'm trying to update a package with large amount of files in content. After short period of time Package manager GUI hangs. Dialog "Updating" just freezes. I even can't scroll anything inside it. <br />It's a blocking issues. I just can't use VS2012 and updating packages.
Comments: I was able to repro this issue thanks @casquith for sharing the details. Repro: 1. Create new webapplication 2. Drop in a folder in webapplication (I had dropped in 9,377 Files, 2,360 Folders) 3. Turn on show all files 4. install a package Actual: - WalkDepthFirst traverses thru all the items that are not part of solution causing the issue - found that it could be fixed by only checking when child.GetProperty(__VSHPROPID.VSHPROPID_IsNonMemberItem) is false - this makes me think that this would also cause perf issue for folks who have projects with large number of items, or are trying to install on a solution with multiple large projects? Will create a separate issue to track it. Call stack NuGet.VisualStudio.dll!NuGet.VisualStudio.VsHierarchyItem.WalkDepthFirst(bool fVisible, NuGet.VisualStudio.VsHierarchyItem.ProcessItemDelegate processCallback, object callerObject) Line 103 C# > NuGet.VisualStudio.dll!NuGet.VisualStudio.VsHierarchyItem.WalkDepthFirst(bool fVisible, NuGet.VisualStudio.VsHierarchyItem.ProcessItemDelegate processCallback, object callerObject) Line 110 + 0x14 bytes C# NuGet.VisualStudio.dll!NuGet.VisualStudio.VsHierarchyHelper.GetExpandedProjectHierarchyItems(EnvDTE.Project project) Line 67 + 0x49 bytes C# NuGet.VisualStudio.dll!NuGet.VisualStudio.VsHierarchyHelper.GetAllExpandedNodes.AnonymousMethod__0() Line 22 + 0x8 bytes C# [External Code] NuGet.VisualStudio.dll!NuGet.VisualStudio.VsHierarchyHelper.GetAllExpandedNodes(NuGet.VisualStudio.ISolutionManager solutionManager) Line 17 + 0x38 bytes C# NuGet.VisualStudio.dll!NuGet.VisualStudio.VsCommonOperations.SaveSolutionExplorerNodeStates(NuGet.VisualStudio.ISolutionManager solutionManager) Line 41 + 0x11 bytes C# NuGet.Dialog10.dll!NuGet.Dialog.Providers.PackagesProviderBase.SaveExpandedNodes() Line 709 + 0x25 bytes C# NuGet.Dialog10.dll!NuGet.Dialog.Providers.PackagesProviderBase.Execute(NuGet.Dialog.Providers.PackageItem item) Line 341 + 0x8 bytes C# NuGet.Dialog10.dll!NuGet.Dialog.PackageManagerWindow.ExecutedPackageCommand(object sender, System.Windows.Input.ExecutedRoutedEventArgs e) Line 380 + 0xe bytes C# call stack: NuGet.VisualStudio.dll!NuGet.VisualStudio.VsHierarchyItem.WalkDepthFirst(bool fVisible, NuGet.VisualStudio.VsHierarchyItem.ProcessItemDelegate processCallback, object callerObject) Line 103 C# > NuGet.VisualStudio.dll!NuGet.VisualStudio.VsHierarchyItem.WalkDepthFirst(bool fVisible, NuGet.VisualStudio.VsHierarchyItem.ProcessItemDelegate processCallback, object callerObject) Line 110 + 0x14 bytes C# NuGet.VisualStudio.dll!NuGet.VisualStudio.VsHierarchyHelper.GetExpandedProjectHierarchyItems(EnvDTE.Project project) Line 67 + 0x49 bytes C# NuGet.VisualStudio.dll!NuGet.VisualStudio.VsHierarchyHelper.GetAllExpandedNodes.AnonymousMethod__0() Line 22 + 0x8 bytes C# [External Code] NuGet.VisualStudio.dll!NuGet.VisualStudio.VsHierarchyHelper.GetAllExpandedNodes(NuGet.VisualStudio.ISolutionManager solutionManager) Line 17 + 0x38 bytes C# NuGet.VisualStudio.dll!NuGet.VisualStudio.VsCommonOperations.SaveSolutionExplorerNodeStates(NuGet.VisualStudio.ISolutionManager solutionManager) Line 41 + 0x11 bytes C# NuGet.Dialog10.dll!NuGet.Dialog.Providers.PackagesProviderBase.SaveExpandedNodes() Line 709 + 0x25 bytes C# NuGet.Dialog10.dll!NuGet.Dialog.Providers.PackagesProviderBase.Execute(NuGet.Dialog.Providers.PackageItem item) Line 341 + 0x8 bytes C# NuGet.Dialog10.dll!NuGet.Dialog.PackageManagerWindow.ExecutedPackageCommand(object sender, System.Windows.Input.ExecutedRoutedEventArgs e) Line 380 + 0xe bytes C#
Comments: I was able to repro this issue thanks @casquith for sharing the details. Repro: 1. Create new webapplication 2. Drop in a folder in webapplication (I had dropped in 9,377 Files, 2,360 Folders) 3. Turn on show all files 4. install a package Actual: - WalkDepthFirst traverses thru all the items that are not part of solution causing the issue - found that it could be fixed by only checking when child.GetProperty(__VSHPROPID.VSHPROPID_IsNonMemberItem) is false - this makes me think that this would also cause perf issue for folks who have projects with large number of items, or are trying to install on a solution with multiple large projects? Will create a separate issue to track it. Call stack NuGet.VisualStudio.dll!NuGet.VisualStudio.VsHierarchyItem.WalkDepthFirst(bool fVisible, NuGet.VisualStudio.VsHierarchyItem.ProcessItemDelegate processCallback, object callerObject) Line 103 C# > NuGet.VisualStudio.dll!NuGet.VisualStudio.VsHierarchyItem.WalkDepthFirst(bool fVisible, NuGet.VisualStudio.VsHierarchyItem.ProcessItemDelegate processCallback, object callerObject) Line 110 + 0x14 bytes C# NuGet.VisualStudio.dll!NuGet.VisualStudio.VsHierarchyHelper.GetExpandedProjectHierarchyItems(EnvDTE.Project project) Line 67 + 0x49 bytes C# NuGet.VisualStudio.dll!NuGet.VisualStudio.VsHierarchyHelper.GetAllExpandedNodes.AnonymousMethod__0() Line 22 + 0x8 bytes C# [External Code] NuGet.VisualStudio.dll!NuGet.VisualStudio.VsHierarchyHelper.GetAllExpandedNodes(NuGet.VisualStudio.ISolutionManager solutionManager) Line 17 + 0x38 bytes C# NuGet.VisualStudio.dll!NuGet.VisualStudio.VsCommonOperations.SaveSolutionExplorerNodeStates(NuGet.VisualStudio.ISolutionManager solutionManager) Line 41 + 0x11 bytes C# NuGet.Dialog10.dll!NuGet.Dialog.Providers.PackagesProviderBase.SaveExpandedNodes() Line 709 + 0x25 bytes C# NuGet.Dialog10.dll!NuGet.Dialog.Providers.PackagesProviderBase.Execute(NuGet.Dialog.Providers.PackageItem item) Line 341 + 0x8 bytes C# NuGet.Dialog10.dll!NuGet.Dialog.PackageManagerWindow.ExecutedPackageCommand(object sender, System.Windows.Input.ExecutedRoutedEventArgs e) Line 380 + 0xe bytes C# call stack: NuGet.VisualStudio.dll!NuGet.VisualStudio.VsHierarchyItem.WalkDepthFirst(bool fVisible, NuGet.VisualStudio.VsHierarchyItem.ProcessItemDelegate processCallback, object callerObject) Line 103 C# > NuGet.VisualStudio.dll!NuGet.VisualStudio.VsHierarchyItem.WalkDepthFirst(bool fVisible, NuGet.VisualStudio.VsHierarchyItem.ProcessItemDelegate processCallback, object callerObject) Line 110 + 0x14 bytes C# NuGet.VisualStudio.dll!NuGet.VisualStudio.VsHierarchyHelper.GetExpandedProjectHierarchyItems(EnvDTE.Project project) Line 67 + 0x49 bytes C# NuGet.VisualStudio.dll!NuGet.VisualStudio.VsHierarchyHelper.GetAllExpandedNodes.AnonymousMethod__0() Line 22 + 0x8 bytes C# [External Code] NuGet.VisualStudio.dll!NuGet.VisualStudio.VsHierarchyHelper.GetAllExpandedNodes(NuGet.VisualStudio.ISolutionManager solutionManager) Line 17 + 0x38 bytes C# NuGet.VisualStudio.dll!NuGet.VisualStudio.VsCommonOperations.SaveSolutionExplorerNodeStates(NuGet.VisualStudio.ISolutionManager solutionManager) Line 41 + 0x11 bytes C# NuGet.Dialog10.dll!NuGet.Dialog.Providers.PackagesProviderBase.SaveExpandedNodes() Line 709 + 0x25 bytes C# NuGet.Dialog10.dll!NuGet.Dialog.Providers.PackagesProviderBase.Execute(NuGet.Dialog.Providers.PackageItem item) Line 341 + 0x8 bytes C# NuGet.Dialog10.dll!NuGet.Dialog.PackageManagerWindow.ExecutedPackageCommand(object sender, System.Windows.Input.ExecutedRoutedEventArgs e) Line 380 + 0xe bytes C#