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
 Feature Requests
 Why rebuild requires restart?
 New Topic  Reply to Topic
 Printer Friendly
Author Previous Topic Topic Next Topic  

foxmuldr
Tomato Guru

USA
416 Posts

Posted - May 31 2016 :  09:42:34 AM  Show Profile  Reply with Quote
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  Show Profile  Reply with Quote
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
Go to Top of Page

foxmuldr
Tomato Guru

USA
416 Posts

Posted - May 31 2016 :  12:35:14 PM  Show Profile  Reply with Quote
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
Go to Top of Page

feline
Whole Tomato Software

United Kingdom
19022 Posts

Posted - May 31 2016 :  10:45:13 PM  Show Profile  Reply with Quote
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
Go to Top of Page

foxmuldr
Tomato Guru

USA
416 Posts

Posted - Jun 03 2016 :  1:55:29 PM  Show Profile  Reply with Quote
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
Go to Top of Page

feline
Whole Tomato Software

United Kingdom
19022 Posts

Posted - Jun 06 2016 :  11:19:02 AM  Show Profile  Reply with Quote
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
Go to Top of Page

foxmuldr
Tomato Guru

USA
416 Posts

Posted - Jun 06 2016 :  7:56:28 PM  Show Profile  Reply with Quote
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
Go to Top of Page

feline
Whole Tomato Software

United Kingdom
19022 Posts

Posted - Jun 07 2016 :  8:31:03 PM  Show Profile  Reply with Quote
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
Go to Top of Page

foxmuldr
Tomato Guru

USA
416 Posts

Posted - Jun 08 2016 :  12:41:44 PM  Show Profile  Reply with Quote
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
Go to Top of Page

feline
Whole Tomato Software

United Kingdom
19022 Posts

Posted - Jun 08 2016 :  11:38:10 PM  Show Profile  Reply with Quote
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
Go to Top of Page

foxmuldr
Tomato Guru

USA
416 Posts

Posted - Jun 09 2016 :  09:41:03 AM  Show Profile  Reply with Quote
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
Go to Top of Page

feline
Whole Tomato Software

United Kingdom
19022 Posts

Posted - Jun 09 2016 :  1:40:21 PM  Show Profile  Reply with Quote
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
Go to Top of Page

foxmuldr
Tomato Guru

USA
416 Posts

Posted - Jun 09 2016 :  2:21:58 PM  Show Profile  Reply with Quote
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
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