Whole Tomato Software Forums
Whole Tomato Software Forums
Main Site | Profile | Register | Active Topics | Members | Search | FAQ
User name:
Password:
Save Password
Forgot your password?

 All Forums
 Visual Assist
 Technical Support
 VS 2017 freezes when using promote to document
 New Topic  Reply to Topic
 Printer Friendly
Author Previous Topic Topic Next Topic  

alexander.guettler
New Member

6 Posts

Posted - Feb 03 2017 :  3:10:37 PM  Show Profile  Reply with Quote
I am currently trying out VS 2017 to see what breaks in our code base and trying to help find bugs to improve the final product.

I noticed that when I try to use promote to document in a peek definition that Visual Studio would just freeze and windows telling that it's not responding,
however the behavior is a bit inconstant as sometimes it recovers after 1-5 minutes and sometimes it just hangs and I am forced to kill the process.
I originally reported this issue on the VS developercommunity thing.

But later found out that after disabling Visual Assist the issue seems to be resolved so my only conclusion is that this has to be caused by something in Visual Assist, the weird thing is that I was not able to reproduce that in VS 2015 where I used the same project with same code base.

The solution with which I am experiencing this issue has 3-4 thousand files split across 65 projects, all of them are C++ projects.
Some other info that might be of interest: the Browse.VC.db has a size of around 180 MB and the ipch (Auto PCH) have a total size of around 4.5 GB,
not sure if those files are related to the handling of promote to document or what exactly is Visual Assist doing when using promote to document, as just opening a random file in the solution does not cause this issue.

I made dump of the devenv.exe during the hang, you can download it here https://1drv.ms/u/s!Ar6T0O9DjXMVgbR-WPsT-9u4ElonlA

License: [email protected] (Non-renewable license) Support ends 2017.02.11
VA_X.dll file version 10.9.2118.0 built 2016.12.12
DevEnv.exe version 15.0.26127.3 Professional
msenv.dll version 15.0.26127.3
Comctl32.dll version 6.10.14393.447
Windows 10 10.0 Build 14393
8 processors (x86-64, WOW64)
Language info: 1252, 0x409

Platform: Project defined
Stable Includes:
C:\Program Files (x86)\Windows Kits\8.1\Include\winrt;
C:\Program Files (x86)\Windows Kits\8.1\Include\shared;
C:\Program Files (x86)\Windows Kits\8.1\Include\um;
C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\VC\Auxiliary\VS\UnitTest\include;
C:\Program Files (x86)\Windows Kits\10\Include\10.0.10240.0\ucrt;
C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\VC\Auxiliary\VS\include;
C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\VC\Tools\MSVC\14.10.24911\atlmfc\include;
C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\VC\Tools\MSVC\14.10.24911\include;

Other Includes:

Stable Source Directories:
C:\Program Files (x86)\Windows Kits\10\Source\10.0.10240.0\ucrt;
C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\VC\Auxiliary\VS\src;
C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\VC\Tools\MSVC\14.10.24911\crt\src;
C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\VC\Tools\MSVC\14.10.24911\atlmfc\src\atl;
C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\VC\Tools\MSVC\14.10.24911\atlmfc\src\mfcm;
C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\VC\Tools\MSVC\14.10.24911\atlmfc\src\mfc;

feline
Whole Tomato Software

United Kingdom
18724 Posts

Posted - Feb 04 2017 :  11:47:13 AM  Show Profile  Reply with Quote
I did not know about this peek feature, that is interesting, I wonder how I missed it. I am using this page to tell me how this works and how to work with it:

https://msdn.microsoft.com/en-us/library/dn160178.aspx

I am not seeing any obvious menu entries for this in VS2015, C++, and so far cannot promote the peeked view to a full tab in VS2015. The listed shortcut of Alt-Shift-Home is doing nothing for me. Are you actually able to promote the peek to a document in VS2015, or are you doing something slightly different there?

I am actually having problems testing this here, since it seems every time I even look at VS2017 RC 3 it hangs. So I have either fully reproduced your problem, or I have broken something...

zen is the art of being at one with the two'ness
Go to Top of Page

alexander.guettler
New Member

6 Posts

Posted - Feb 04 2017 :  3:44:55 PM  Show Profile  Reply with Quote
I am not using a shortcut for the promote to document, but when you do peek definition on a function in the "view" get shows embedded in the editor at the top right there is the x and left of that there is this little tab icon with a star,
that is the promote to document button, I get the freeze as soon as I click that.
This has been there since a few VS versions.
I think there is no shortcut bound to the promote to document action by default

Edited by - alexander.guettler on Feb 04 2017 3:45:42 PM
Go to Top of Page

feline
Whole Tomato Software

United Kingdom
18724 Posts

Posted - Feb 06 2017 :  8:06:59 PM  Show Profile  Reply with Quote
Ah, that explains how you are getting the document opened in its own tab. I was wondering. This feature may well have been around for quite a while, but somehow I never came across it before, so have had to work out what I am doing here.

When you do this, do you get the hang every time you promote a document? Just some of the time? If only some of the time, what sort of frequency does the problem occur with? I now have a properly working VS2017 RC3 system, fully updated, and so far no signs of this problem. But so far I am only testing with a fairly simple solution. Testing with a much larger solution is next.

zen is the art of being at one with the two'ness
Go to Top of Page

alexander.guettler
New Member

6 Posts

Posted - Feb 07 2017 :  02:53:42 AM  Show Profile  Reply with Quote
Well as I usually just force close my Visual Studio because it can't wait minutes until it might start to respond again I am not sure what happens if it does start respond again.
But at the moment in my solution it is always happening at the moment, rendering the promote to document feature not usable for me.

As for my solution size there is some info in the first post about it.

Thank you for taking the time to look into my issue.
Go to Top of Page

feline
Whole Tomato Software

United Kingdom
18724 Posts

Posted - Feb 07 2017 :  10:26:41 AM  Show Profile  Reply with Quote
I have now tried this with my large solution. This is a "made up" solution, just used to test size, it does not actually compile, so some of my numbers will be different to yours. I do have 25,000 C++ files though, in 2 projects.

The IDE has finished parsing, and peak is working, and promote is working without any problems or delays at all. So I am left wondering what might be different about our two systems.

I have the same VA and IDE version numbers as you, so we are running with the same version of the RC, so that shouldn't be it.

Your browse DB seems fine, but I am a little concerned / curious about your PCH file, 4.5gig does seem a bit large.

Can you please try making sure all instances of the IDE have been closed, then delete, or backup and move out of the way to be extra careful, your browse DB and PCH files please. These will be rebuilt when you reload the solution and next compile it.

Does this make any difference?

zen is the art of being at one with the two'ness
Go to Top of Page

alexander.guettler
New Member

6 Posts

Posted - Feb 07 2017 :  12:14:59 PM  Show Profile  Reply with Quote
This seems to make a bit of a difference Visual Studio now seems to recover after 10-30 seconds of freezing, which is still not ideal for me but a lot better as it earlier didn't seem to recover at all.
I am still a bit confused though as to why it actually freezes when I do promote to document, because the peek definition view opens without problems, I can open any document in the solution without problems and also go to definition doesn't cause any issues, I am really confused what the difference is when using promote to document instead of using the other methods.
Also VA seems to instantly have all the parsing info available for the peek definition view as all the syntax highlighting works instantly.
Go to Top of Page

feline
Whole Tomato Software

United Kingdom
18724 Posts

Posted - Feb 07 2017 :  2:17:57 PM  Show Profile  Reply with Quote
I have had a slightly unpleasant thought. Did you install VS 2017 RC3 by using the installer to update an existing install of an earlier version of VS2017? Or was this a clean install of VS2017?

At first I could not test this, since VS2017 RC3 was hanging most of the time I tried to open any document in a new tab, regardless of method. But this was a machine that had gone through several updates and upgrades, and this was fixed by doing a clean install. The fact that deleting these files had an impact on the length of the hang suggests they are somehow a factor, but does not tell us how or why. If you have the time, and this is an upgrade install, it might be worth trying an uninstall and reinstall, but I don't like this idea simply because it could take a little while.

zen is the art of being at one with the two'ness
Go to Top of Page

alexander.guettler
New Member

6 Posts

Posted - Feb 13 2017 :  06:43:15 AM  Show Profile  Reply with Quote
I was busy the past few days so I was not really able to test all the things.
What I ended up doing was a full reinstall of windows and then clean install the latest version of VS 2017 RC, then installing just VA.
Then doing a clean clone of the code base I am working on, regenerating the project files etc.
Unfortunately the issue still remains to some degree, it is not as bad anymore and VS actually recovers quite fast now but it is still somewhat annoying.
Another thing I noticed during extensive testing is that it seems to work without issues after the first couple of promote to document, then it's as fast as it was in 2015.

I am not entirely sure what is happening tbh and why this only affects promote to document and now any other means of opening a document.
The way it is now I can live it with, as I use it quite often and if I have to wait a couple of seconds for the first few promote to document actions that's ok, maybe there will be some improvement in the future?!
Go to Top of Page

feline
Whole Tomato Software

United Kingdom
18724 Posts

Posted - Feb 13 2017 :  2:44:37 PM  Show Profile  Reply with Quote
That is a lot of reinstalling, I am sorry you had to go through all of this time and effort.

The fact that the first few promote to documents are fine is interesting, and may help to explain why so far I have not been able to reproduce this problem here. Approximately how many times do you have to do the promote before you start to get this problem? 5? 10? 20? I was testing 2 or 3 times, and not seeing the problem, not realising I needed to keep on testing.

If you run task manager, and show the details, are you seeing a CPU usage spike, or a hard drive usage spike, when you get these delays? I am wondering if we can get some clues as to where the problem lies, and where it might be coming from.

zen is the art of being at one with the two'ness
Go to Top of Page

alexander.guettler
New Member

6 Posts

Posted - Feb 13 2017 :  3:15:41 PM  Show Profile  Reply with Quote
I think I have worded that a bit bad, I meant that the first few are hanging, after all the reinstalling and regenerating of the db files vs generates it recovers after a few seconds after like 2-3 times with hanging it works as smooth as it did in 2015.
I doubt that it has something to do with slow load times of the db or something as everything is on an SSD.

I will dig a bit maybe I can find out what is actually happening when it hangs as I have some spare time tomorrow.
Go to Top of Page

feline
Whole Tomato Software

United Kingdom
18724 Posts

Posted - Feb 14 2017 :  06:15:08 AM  Show Profile  Reply with Quote
Do you get this hang on every file? I am wondering if this happens only on files from your stable include directories, files in other projects in your solution, or even in files from the same project and even in the same directory as the current file?

I am just searching for any clues or pattern that might give us a clue. You should not be getting these delays at all, so this does need to be studied.

With a SSD, hard drive delays should not be an issue, but its worth remembering that in very rare cases anti-virus scanning can slow down access, and CPU limit it, even when the hard drive is not a factor.

zen is the art of being at one with the two'ness
Go to Top of Page
  Previous Topic Topic Next Topic  
 New Topic  Reply to Topic
 Printer Friendly
Jump To:
© 2023 Whole Tomato Software, LLC Go To Top Of Page
Snitz Forums 2000