-
Notifications
You must be signed in to change notification settings - Fork 389
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Solution with 56 projects is unsable once migrated to csproj. #1384
Comments
Updated issue with additional info. |
Open solution I tried opening the solution on D15PreRel 26130 and it takes:
IMO, these seem like pretty reasonable load times for a 50+ project solution. Did you see something different @NTaylorMullen ? Build/Restore I am unable to restore the solution from command line or VS (build.cmd fails). Migration fails for one of the projects, which is probably the cause of this:
Can you try to open/migrate/build your solution on latest d15prerel? Additionally, if you can collect the perfview ETL traces for the scenarios where you get the UI hang, that would help investigations going quicker:
|
Restore in VS generates this error:
|
@mavasani you mention that migration failed, but this solution is already 100% CSPROJ. Which migration was it? |
@mavasani ensure you checkout the nimullen/migration.badvs branch I mentioned in the issue and then open the |
Yes, I did that and the build succeeded. Thanks, investigating further. |
Alright, so I got a VS hang when attempting to open the solution from your branch. The hang is coming from PropertyBrowser forcing certain property to be computed on the UI thread:
It doesn't repro if I keep the property browser closed during solution load, and the solution loads in under a minute. However, once the solution load completes, there are a few successive UI hangs, where MSBuild is taking up most of the CPU and even spiked to 1 Gig of RAM. These are due to the Test Window issue, bug 366684
I am unable to repro any UI hang during solution build - I was able to open/edit files just fine during build. I'll keep playing with the solution a bit more. |
I just tried using Dev15 15.0.26129.0 D15REL (the build that JoC just asked everyone to install) and though it didn't quite take 15 minute to open, it was probably around 10 minutes (on my laptop), and VS was super slow for quite a while even after it opened. |
@mavasani the issue you linked accurately depicts all the perf issues the Mvc solution is running into within the Repro Steps section. As for solution build not hanging on your end. Should I try and update my VS or download a different skew? It's pretty consistent for me. |
@NTaylorMullen @Eilon can you please share ETL traces for the hangs (my alias is mavasani)? Note that I did a clean install of the d15prerel 26130.00 and the only hangs I see were the couple mentioned above (PropertyBrowser and Test Window). I have tried closing/re-opening/build solution and opening and editing source files, and those seem to work fine. |
Hmm, odd, when I try it again now I'm not seeing the same perf issues as before. It's still a bit slow to load, but you'd expect some slowness with this many projects. But I'm not seeing the 10-15min issue... |
I saw some hang when you load a large project with the property sheet window open couple month ago. That is largely because we show some project properties coming from design time build (like assembly version...) Not sure whether it is still the case. Making some of those properties hidden will prevent this problem. @jinujoseph, did we make the change into the product?. |
Also, connected service team fixed one performance problem last Friday, which impacts solution load time, and @BillHiebert is working a fix for an issue inside .Net Core Web project. If your solution contains any web project, it might be related. |
@lifengl Mvc contains many web projects so that could definitely be a factor. |
@NTaylorMullen @Eilon were you able to get any perf traces for the UI delays that we can investigate? Summarizing the current set of identified issues:
|
@mavasani I haven't been able to yet. Upgraded my VS and things seem to be broken. Trying to get back to a state where I can gather that info. |
@mavasani after updating VS (d15rel) every sln I now open results in: I've tried workarounds mentioned here but no luck. |
Found the cause of my issue mentioned above: NuGet/Home#4496. Working on getting ETL traces for an already restored project. |
Got a few ETL traces. Opening MVC after it already being restored took nearly 10 minutes, here's the ETL: \NTaylorMullen\SHARED\ETLVS\MvcOnOpen.etl.zip Next I tried building MVC, It's still going with progress bar not even half way so I stopped it at almost the 25 min mark, here's the ETL: \NTaylorMullen\SHARED\ETLVS\MvcBuild.zip For both of these experiments I had the following windows focused:
For all these tests there were significant VS not responding hangs. I was using the optimized (less package refs, build bits etc.) |
@NTaylorMullen I see TestWindow and CPS design time builds on your trace, most of the time devenv is blocked on msbuild. I'll forward you instructions to patch your machine with TestWindow fix, and you can give it a try again and share new traces? |
@mavasani sounds good. |
For the build scenario, I see that almost 90% of time is spent in trying to write to the output window
|
@mavasani I do have diagnostics on. That could be the reason for that. |
@NTaylorMullen Thanks for the traces. The Reload.etl.zip VS deadlock on reload/close solution is a dupe of dotnet/roslyn#14479. I see that the UI thread is stuck on This was fixed by @dpoeschl couple of days ago, so hopefully won't be part of the next build with Roslyn insertion. David, do we know what build has your deadlock fix? |
@NTaylorMullen @Eilon - let me summarize the current findings again:
Let me know if there is anything else that I have missed out and needs investigation. Otherwise, I'll keep this as a tracking bug to verify once the fixes for 1. and 2. above have been verified on an official build. |
@mavasani I just tested with d15rerl 26205.0 today and I couldn't repro the deadlock. |
Thanks, I'll test the MVC solution on the same build. @NTaylorMullen, please let us know if you get a deadlock on this build. |
I verified the deadlock on close solution doesn't repro for the MVC solution on 26205.0 and even Open solution is fine after applying the final Test Window private bits. |
@NTaylorMullen @Eilon - I am going to close this issue now, unless you have any further repros/traces for us to investigate. |
@mavasani Any idea when d15rel will be at a state that has all of the fixes that make using the Mvc.sln possible? |
@srivatsn Do we know when the Test Window fix is going in? We can update this issue once we have a build with the Test Window fix. |
Likely tomorrow. |
@NTaylorMullen later this week. |
I'm testing out MVC with some of the later builds (trying to find other issues) and I'm seeing some Roslyn IntelliSense problems with the Mvc.sln now. By closing out test explorer, property browser etc. I was able to open the solution, get it to restore, and build. Which seemed to go away when I forced a re-restore/re-build. After re-restoring/re-building successfully I then played around with some of the source files. Opening Mvc.sln => In this case it's 1 of 2 directly referenced package refs Tried reproducing this on other projects with no avail. Anyone able to see this on their box with the Mvc.sln (checkout the |
@NTaylorMullen I'll investigate this now. |
@NTaylorMullen I am seeing different behavior then yours.
I'll try to clean my enlistment and the nuget package cache and try the steps again. I'll file an issue on NuGet if (1) repros again. |
I am unable to repro the design time warnings about |
BTW @NTaylorMullen is out sick today so it might be a short while until he can provide more details. |
Update: The squiggles from opening certain source files seems to be completely indeterministic, I haven't been able to repro it since I first saw it. Even the NuGet restore failures are not reproing after cleaning the enlistment and NuGet package cache and reattempting to build. |
@mavasani lol oh goodneses. Well, hopefully the blessed release that's supposed to fix the MVC issues will "just work" once it's out 😄 |
To add another data point, @sebastienros is working on a solution w/ 100 projects (using the new csproj) and was also hitting enormous slowdowns. Here's one related VSFeedback item that he filed: https://vsfeedback/comment/806237. But beyond that issue, he's been seeing slowdowns like what's discussed in this thread. You can try out the branch here: https://github.com/OrchardCMS/Orchard2/tree/static |
@Eilon Thanks, I'll play around with the new solution. |
@Eilon I played around with the solution for a bit and noticed the biggest UI delays are coming from the Test Window, similar to the MVC solution - these don't appear after applying the patched Test Window bits, and I was able to do most of the operations fine in the IDE (open files, edit, intellisense, restore). However, I hit a VS deadlock in the patched Test Window binary at the end of solution build - I am going to report the dump to the Test Window folks to investigate further. |
@NTaylorMullen We're tracking those build errors here: #1554. I'll be investigating today. |
@davkean thanks, i'll keep an eye on that. |
Pinging this thread. Any ETA on a usable VS for MVC? |
Update: The Test Window fix has been checked in today, and the next D15Rel build should have this fix. I'll verify this tomorrow and post an update. |
@NTaylorMullen We understand what the SkipCompilerExecution issue is (it's a bug in MSBuild). The workaround is to not use command-line restore when VS is open. |
I verified that the Test Window UI delay does not repro in build D15Rel 26223.1 |
@NTaylorMullen at this point, let us use separate issues to track any functional issues - #1554 and dotnet/msbuild#1726 are tracking SkipCompilerExecution errors. If you still see performance problems on MVC solution, please re-activate this issue and let us know as soon as possible. |
Every major operation (opening/restoring, building, etc.) takes several minutes to complete, usually resulting in the "not responding" dialog over and over. As a disclaimer the project does take more time than average project to restore but it should not repeatedly dive into the "not responding" state or take as long as it currently does. Doing these operations at the command line is significantly faster.
This branch of MVC demonstrates the issue quite well. Note, it used to work decently fine with the xproj system.
The VS I'm using:
The text was updated successfully, but these errors were encountered: