Author |
Topic |
|
foxmuldr
Tomato Guru
USA
416 Posts |
Posted - May 31 2016 : 09:42:34 AM
|
Why does VAX require a restart when rebuild symbols is selected? Could it be setup to not require a restart and just automatically reparse everything right there on the spot?
Best regards, Rick C. Hodgin
|
|
feline
Whole Tomato Software
United Kingdom
19022 Posts |
Posted - May 31 2016 : 11:34:12 AM
|
Normally we would never expect you to need to trigger a rebuild. Is this something you are doing fairly often, and if so, why?
As for the restart, the rebuild says "the entire symbol database must go", so suddenly you have the solution open, but no valid or known symbols as far as VA is concerned. This is fairly disruptive as far as VA is concerned, and is likely to use a fair bit of CPU time for at least a couple of minutes, perhaps longer. Against this, requiring a restart is not a big concern. |
zen is the art of being at one with the two'ness |
|
|
foxmuldr
Tomato Guru
USA
416 Posts |
Posted - May 31 2016 : 12:35:14 PM
|
quote: Originally posted by feline
Normally we would never expect you to need to trigger a rebuild. Is this something you are doing fairly often, and if so, why?
As for the restart, the rebuild says "the entire symbol database must go", so suddenly you have the solution open, but no valid or known symbols as far as VA is concerned. This is fairly disruptive as far as VA is concerned, and is likely to use a fair bit of CPU time for at least a couple of minutes, perhaps longer. Against this, requiring a restart is not a big concern.
To answer your question:
It's not something I expect to do daily, but VAX begins losing symbols periodically, not keeping track with edit changes, copy-paste operations, manual refactoring such as moving this code to another source file, etc. This happens at a time or two a week, and in more than one solution.
I would like to be able to have VAX do its processing in the background while I keep going using VS-only solutions (if I need them) until VAX is completed. VAX only takes a minute or two max to parse everything. I also wouldn't mind periodically having it refresh just because.
As it is, I have to close my solution, and/or exit the IDE (which closes the solution), re-launch it (which in VS2015 is not a quick operation by itself, taking 10 to 15 seconds on my laptop for the re-launch), go back to the IDE, navigate the menus, re-open the last solution, wait for VS to re-open the solution, and then wait even more for VAX to process.
It would be nice if I could bypass all of that and just wait for VAX to process and keep going in the meantime.
Best regards, Rick C. Hodgin
|
|
|
feline
Whole Tomato Software
United Kingdom
19022 Posts |
Posted - May 31 2016 : 10:45:13 PM
|
Something is going quite wrong here. To start with, do you have:
VA Options -> Performance -> Parse all files when opening a project
turned On or Off?
Next time you see VA having problems with the current file, can you pause typing for a couple of seconds, this will give VA a chance to parse any changes you have made to the file. Does this fix the current file problems?
If not, does triggering the menu item:
VAssistX -> Tools -> Reparse Current File
make any difference? |
zen is the art of being at one with the two'ness |
|
|
foxmuldr
Tomato Guru
USA
416 Posts |
Posted - Jun 03 2016 : 1:55:29 PM
|
The issue has occurred for many years. It's not new to a recent version. It seems to just be a VAX quirk that happens from time to time.
The parse all files when opening a project is whatever the default is.
I do stop from time to time and it doesn't make any difference. It never has. Once it starts messing up it only gets worse and it requires a rebuild.
I don't think reparsing the current file will make any difference because the issue becomes something like it can't find the definition, body, or token at all in the entire project until its rebuilt. It seems to follow refactoring, such as Alt+Shift+R and renaming a symbol that's used in several source files, but I'm not 100% sure that's it.
It happens in VMs running Windows Server 2003 and later, and in native Windows versions, in VS2008, VS2010, and VS2015.
Best regards, Rick C. Hodgin
|
|
|
feline
Whole Tomato Software
United Kingdom
19022 Posts |
Posted - Jun 06 2016 : 11:19:02 AM
|
Can you please go to:
VA Options -> System Info -> Copy Info
and paste the details (from the clipboard) into your reply. This will give us the basic information about your setup. I am interested in your stable include directories, so I can suggest some sensible test symbols to check. I am wondering if this problem only effects symbols in your current solution, or if it also effects symbols from your stable include directories as well.
Does your code make heavy use of macros or templates? I am searching for any possible clues as to what might be triggering these problems. |
zen is the art of being at one with the two'ness |
|
|
foxmuldr
Tomato Guru
USA
416 Posts |
Posted - Jun 06 2016 : 7:56:28 PM
|
quote: Originally posted by feline
Can you please go to:
VA Options -> System Info -> Copy Info
License: [email protected] (1-user license) Support ends ...
VA_X.dll file version 10.9.2094.0 built 2016.03.25
DevEnv.exe version 10.0.40219.1 Professional
msenv.dll version 10.0.40219.1
Comctl32.dll version 6.10.7601.18837
Windows 7 6.1 Build 7601 Service Pack 1
4 processors (x86-64, WOW64)
Language info: 1252, 0x409
Platform: Project defined
Stable Includes:
C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include;
C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\atlmfc\include;
C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include;
Other Includes:
Stable Source Directories:
C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\crt\src;
C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\atlmfc\src\atl;
C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\atlmfc\src\mfcm;
C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\atlmfc\src\mfc;
quote: and paste the details (from the clipboard) into your reply. This will give us the basic information about your setup. I am interested in your stable include directories, so I can suggest some sensible test symbols to check. I am wondering if this problem only effects symbols in your current solution, or if it also effects symbols from your stable include directories as well.
There are Windows things and various #include files I can still navigate to. I can also still navigate to about half of the things in my own app, but the other half is lost. I have to do a slow Ctrl+Shift+F for a VS find to find all in the solution, and then I can navigate to it.
quote: Does your code make heavy use of macros or templates? I am searching for any possible clues as to what might be triggering these problems.
No templates at all. I use macros in various solutions and projects. The biggest macro file I have is here, but most of them are a dozen or so at most:
https://github.com/RickCHodgin/libsf/blob/master/source/vjr/source/vjr_const.h
One thing I do that's different than a lot of code I've seen is I make almost exclusive use of typedef'd names. I use "s" and "u" types for signed and unsigned, followed by their bit size. I have a file up front called common.h which typdefs them to the appropriate type based on the target platform and compiler.
Best regards, Rick C. Hodgin
|
|
|
feline
Whole Tomato Software
United Kingdom
19022 Posts |
Posted - Jun 07 2016 : 8:31:03 PM
|
If you look in the open File dialog, Alt-Shift-O, are the files still listed correctly after the problems start?
If you look in the Find Symbol dialog, Alt-Shift-S, how does this look? Are the problem symbols listed here?
Once the problems happen, and you have found your way to one of the problem files, can you please look at both the Alt-M list and VA Outline. Do these look correct? I am trying to work out if VA still understands the files, or if it is just having problems finding the symbols.
Since this problem only effects half of your app it suggests there is a specific trigger at work here, so I am searching for clues. |
zen is the art of being at one with the two'ness |
|
|
foxmuldr
Tomato Guru
USA
416 Posts |
Posted - Jun 08 2016 : 12:41:44 PM
|
quote: Originally posted by feline
If you look in the open File dialog, Alt-Shift-O, are the files still listed correctly after the problems start?
If you look in the Find Symbol dialog, Alt-Shift-S, how does this look? Are the problem symbols listed here?
Once the problems happen, and you have found your way to one of the problem files, can you please look at both the Alt-M list and VA Outline. Do these look correct? I am trying to work out if VA still understands the files, or if it is just having problems finding the symbols.
Since this problem only effects half of your app it suggests there is a specific trigger at work here, so I am searching for clues.
When it happens I could ZIP up the VAX data files, and then do a full rebuild and ZIP those up and send them to you so you can see what's different.
Best regards, Rick C. Hodgin
|
|
|
feline
Whole Tomato Software
United Kingdom
19022 Posts |
Posted - Jun 08 2016 : 11:38:10 PM
|
I don't think I have ever tried the entire VA data directory before. It might allow me to reproduce the corruption here, but I am not sure if it will offer any clues as to the trigger.
Since you posted a github link, would you be able to include the project you were editing as well, along with the path the project sits in, so I can try to install both the project and matching corrupt symbol database into a machine, to try and study it?
Do you have a sense of how long it takes for the problem to show up, after you do a symbol database rebuild?
Are you working on multiple solutions, or just a single solution?
Multiple instances of the IDE, or just a single instance?
If you want to try sending me a zip file, please submit the file or download link via the form:
http://www.wholetomato.com/support/contact.asp
including this thread ID or URL in the description, so we can match it up. |
zen is the art of being at one with the two'ness |
Edited by - feline on Jun 08 2016 11:39:03 PM |
|
|
foxmuldr
Tomato Guru
USA
416 Posts |
Posted - Jun 09 2016 : 09:41:03 AM
|
quote: Originally posted by feline
I don't think I have ever tried the entire VA data directory before. It might allow me to reproduce the corruption here, but I am not sure if it will offer any clues as to the trigger.
Since you posted a github link, would you be able to include the project you were editing as well, along with the path the project sits in, so I can try to install both the project and matching corrupt symbol database into a machine, to try and study it?
Yes. I can zip up the entire directory including my Visual Studio internal files if you'd like. You can create a user account with the same name on your machine, open it back up in the same version, and it should be my exact environment.
quote: Do you have a sense of how long it takes for the problem to show up, after you do a symbol database rebuild?
It varies. I'd say 10s of minutes at minimum, and probably closer to two hours.
quote: Are you working on multiple solutions, or just a single solution?
Always one solution per instance of Visual Studio, obviously. There are times I do have more than one solution open in multiple instances or multiple versions of Visual Studio (typically 2008 and 2010, or 2010 and 2015).
quote: Multiple instances of the IDE, or just a single instance?
It happens in both. I usually have at most one or two instances running. Though sometimes I do have up to five.
quote: If you want to try sending me a zip file, please submit the file or download link via the form:
http://www.wholetomato.com/support/contact.asp
including this thread ID or URL in the description, so we can match it up.
Will do. Right now I plan on working on my code base extensively this weekend. But, with all "well-laid" plans we'll see what life event comes up to alter them. :-)
When next it occurs on my public code base, I'll ZIP everything up and submit. How can I find out which files are currently being used by VAX in the temp directory? There are often several folders there.
Best regards, Rick C. Hodgin
|
|
|
feline
Whole Tomato Software
United Kingdom
19022 Posts |
Posted - Jun 09 2016 : 1:40:21 PM
|
Separate versions of the IDE should not be a factor, since they should be using independent symbol databases.
What temp directory are you talking about?
In theory this should work, if I get the path's right, but instead of trying to guess which directories to pack, just include all of them. For VS2015, this should be the "vs14" and "vs14_1" directories under:
%USERPROFILE%\AppData\Local\Microsoft\VisualStudio\14.0\Extensions\ <HASHED DIR NAME> \Data Please also include details of what problem I should be seeing. I won't know which symbols have stopped working after all.
Since this is effecting different versions of the IDE, and it's so constant, what anti-virus are you using? I am wondering if it could be set to exclude / ignore the VA symbol database, to see if this is a factor. |
zen is the art of being at one with the two'ness |
|
|
foxmuldr
Tomato Guru
USA
416 Posts |
Posted - Jun 09 2016 : 2:21:58 PM
|
quote: Originally posted by feline
Separate versions of the IDE should not be a factor, since they should be using independent symbol databases.
What temp directory are you talking about?
In theory this should work, if I get the path's right, but instead of trying to guess which directories to pack, just include all of them. For VS2015, this should be the "vs14" and "vs14_1" directories under:
%USERPROFILE%\AppData\Local\Microsoft\VisualStudio\14.0\Extensions\ <HASHED DIR NAME> \Data Please also include details of what problem I should be seeing. I won't know which symbols have stopped working after all.
Since this is effecting different versions of the IDE, and it's so constant, what anti-virus are you using? I am wondering if it could be set to exclude / ignore the VA symbol database, to see if this is a factor.
Will do. Thank you.
Best regards, Rick C. Hodgin
|
|
|
|
Topic |
|
|
|