Author |
Topic |
|
Frunobulax
Ketchup Master
84 Posts |
Posted - Jan 17 2008 : 05:38:54 AM
|
Hi,
I'm frequently working on nearly-identical projects on seperate branches. For the last week I've been working consistently with two instances of VS2005 (one project on two branches, nearly identical, but different extensions) - and VAX simply ceased to work reliably as far as suggestions and autocompletions are concerned. Even if the code is 100% fine (i.e. compiles), the rate of correct suggestions/autocompletions is below 50%. This is really frustrating. The problems vanish if I rebuild the VAX symbols, close all VS instances and start just one instance of VS. But as soon as I open the second VS instance the problems reappear almost immediately.
I've had my problems in this setup in the past, but whatever you did in 1624 it made matters worse :-(
More problems are with Alt-G as follows: We copy "public" library headers in a central header repository. Libraries include the headers using #include "...", dependent projects use #include <...> and the header repository is added as additional include path. If I have both a library and project open (so I access two identical copies of one header, which are synchronized in pre-build events), and I try to jump to a function implemented in the library using Alt-G, then I often end up in the header from the header repository. I would expect that VAX asks me where to jump and offers both headers and the implementation file. A (possibly related) problem is that Alt-G often jumps to forward declarations, again instead of asking and offering all possible definitions/implementations.
I'm not sure, but I think that the Alt-G problems are also related to this two VS instance problem, since Alt-G tends to work much better if
I know that the problem descriptions are vague at best, but I tried to reproduce these problems on toy projects in the past and I failed, and unfortunately my employer does not pay me for building VAX test cases so I can't send you any code that creates the problem :-\ Regards, Thomas
|
"The nice part about being a pessimist is that you are constantly being either proven right or pleasantly surprised." (George F. Will)
|
|
feline
Whole Tomato Software
United Kingdom
19020 Posts |
Posted - Jan 17 2008 : 10:32:27 AM
|
The fact that this problem shows up immediately is very interesting.
Before using alt-g if you go to the top of the current file and place the caret into the file name on the #include line for the appropriate header does VA list the correct path for this header file in the definition field?
Before using alt-g are you opening the "wrong" copy of the header file in the current IDE? This seems a little unlikely, but it is important to ask. Once you have opened the file in the current IDE VA will remember the symbols inside of it, and will be interested in jumping to this file. |
zen is the art of being at one with the two'ness |
|
|
Frunobulax
Ketchup Master
84 Posts |
Posted - Jan 18 2008 : 05:38:48 AM
|
quote: Originally posted by feline Before using alt-g if you go to the top of the current file and place the caret into the file name on the #include line for the appropriate header does VA list the correct path for this header file in the definition field?
I have a reproducable case here that may shed some light on the issue.
Structure is as follows: lib_path/inc/MyLibStuff.h containing MyFunc() is open in the IDE lib_path/src/MyLibStuff.cpp install_path/group/MyLibStuff.h (duplicate) is not open app_path/src/UsingMyStuff.cpp (with #include <MyLibStuff.h>) is open Both library and project are part of the solution.
As to your question above, the header is not included directly, but I just included it in UsingMyStuff.cpp and placed the caret there and got the expected path (install_path/group/MyLibStuff.h).
If I place the caret on MyFunc() in UsingMyStuff.cpp and hit Alt-G and MyLibStuff.cpp is _open_, Alt-G will do nothing at all. (Huh?) If MyLibStuff.cpp is not open, I get the choice to jump to one of both headers.
Next step: If I go to the file lib_path/inc/MyLibStuff.h and place the caret on the MyFunc() declaration, Alt-G will jump to install_path/group/MyLibStuff.h (it doesn't matter if MyLibStuff.cpp is open or not).
If I go to the (now open) file install_path/group/MyLibStuff.h and go to the declaration there, then Alt-G does nothing.
Regards, tv |
"The nice part about being a pessimist is that you are constantly being either proven right or pleasantly surprised." (George F. Will)
|
|
|
feline
Whole Tomato Software
United Kingdom
19020 Posts |
Posted - Jan 18 2008 : 6:53:15 PM
|
I have created a new default C++ console project in VS2005, and tried to follow your description, setting up the files. My resulting project is here:
http://forum.wholetomato.com/colin/forumimages/7160_test_duplicates.zip
It seems to match your description, but it does not currently compile since I have not told the IDE how to find the various scattered header files.
In my initial tests I am not seeing any alt-g problems.
Can you have a look at this test project please and see how close it is to what you are actually using? Perhaps you can use this as a template to produce a test project that reproduces the problem? |
zen is the art of being at one with the two'ness |
|
|
Frunobulax
Ketchup Master
84 Posts |
Posted - Jan 19 2008 : 08:27:05 AM
|
quote: Originally posted by feline
I have created a new default C++ console project in VS2005, [...] Can you have a look at this test project please and see how close it is to what you are actually using? Perhaps you can use this as a template to produce a test project that reproduces the problem?
Lib and App are separate projects, and the app has a solution that contains the lib as subproject. I did change the structure to make it compile (and match what we have here), but I couldn't reproduce the problem. The only difference I see is that my real-life project needs dozens of libs, all using their own headers via #include "..." and headers from other libs using #include <...>, while the app includes all lib headers from the install repository. So there is quite a lot cross-referencing going on. This may be a significant difference, because if I #include <...> and the included header file includes some files via #include "" and others via <...>, then "" will look in the install repository only relatively to the path of the header, while <...> looks in the install repository relatively to the repository root. I would imagine this may cause problems.
And the libs use namespaces of course, and loads of templates, etc :-)
I will send you the changed project structure.
Regards, tv
|
"The nice part about being a pessimist is that you are constantly being either proven right or pleasantly surprised." (George F. Will)
|
|
|
feline
Whole Tomato Software
United Kingdom
19020 Posts |
Posted - Jan 28 2008 : 1:17:08 PM
|
I have the test project, thank you for that.
Looking back over this forum thread I am starting to wonder if I started in the wrong place. The problems you are seeing with suggestions when you have two IDE's open, this suggests that something is going badly wrong. Once this has happened alt-g is not going to be reliable.
Are the alt-g problems related to "everything breaks" when you open a second IDE, or are they independent?
We have a couple of different users reporting problems running two IDE's next to each other with very similar solutions open in them, but so far I cannot reproduce the problem.
How many files do you have in your solution?
If you open VA's Open File in Solution dialog (Alt-Shift-O) the title bar contains two numbers. The first number is the number of files currently listed, which changes as you filter the list. The second number is the total number of files in the list, which is normally the number of files in your solution. What is this second number? |
zen is the art of being at one with the two'ness |
|
|
Frunobulax
Ketchup Master
84 Posts |
Posted - Jan 28 2008 : 2:58:08 PM
|
quote: Originally posted by feline The problems you are seeing with suggestions when you have two IDE's open, this suggests that something is going badly wrong. Once this has happened alt-g is not going to be reliable.
Are the alt-g problems related to "everything breaks" when you open a second IDE, or are they independent?
I just cleared the cache and rebuilt the VAX database, and Alt-G seemed to work just fine. So it seems these problems are related.
quote:
How many files do you have in your solution?
If you open VA's Open File in Solution dialog (Alt-Shift-O) the title bar contains two numbers. The first number is the number of files currently listed, which changes as you filter the list. The second number is the total number of files in the list, which is normally the number of files in your solution. What is this second number?
The dialog says that 419 of 419 files are currently open. Should the second number be different from the first one? Depending on the number of libraries I'm working on this number may go up or down a bit. I have no idea how many headers were scanned though.
Regards, Thomas |
"The nice part about being a pessimist is that you are constantly being either proven right or pleasantly surprised." (George F. Will)
|
|
|
feline
Whole Tomato Software
United Kingdom
19020 Posts |
Posted - Jan 28 2008 : 7:37:30 PM
|
The first number will go down as you start typing in the field to filter the list.
419 is a small project, as these things go. This suggests that project size on its own is not the problem.
Can you please do the following:
Rebuild the VA symbol database Load a single IDE and load one of your solutions, and wait until VA has finished parsing, and VA's syntax highlighting is applied to the code. Then enable VA logging, and load a second IDE and open your second project. Please enable logging in this IDE as well.
Can you now work until you start seeing problems. As soon as you start seeing problems can you please close both IDE's, to stop the log files getting any bigger.
Please see this FAQ for details of turning on VA's logging, and sending us the log files
http://docs.wholetomato.com?W305
You are not the only person seeing this problem, we just need to find out what is causing it. |
zen is the art of being at one with the two'ness |
|
|
Frunobulax
Ketchup Master
84 Posts |
Posted - Jan 29 2008 : 05:23:19 AM
|
quote: Originally posted by feline Please see this FAQ for details of turning on VA's logging, and sending us the log files
http://docs.wholetomato.com?W305
Maybe I'm just stupid, but if I go to the options menu and ckec logging then no log files are created (I looked in the project dir and the VAX install dir), and whenever I go back to the options menu then logging is unchecked. Setting the reg key didn't help either. Am I missing something?
Regards, tv
|
"The nice part about being a pessimist is that you are constantly being either proven right or pleasantly surprised." (George F. Will)
|
|
|
feline
Whole Tomato Software
United Kingdom
19020 Posts |
Posted - Jan 29 2008 : 07:56:08 AM
|
Once you have turned VA logging on you cannot turn it off, you need to restart the IDE to stop it. This is why the check box is not shown as checked. A slightly odd approach, but it does the job.
The FAQ entry tells you where the log files will be created. This depends on your OS (which I am not seeing in this thread) and your version of VA.
They are not created in the VA install directory in recent versions of VA. You should be seeing at least one log file appearing in the root of C drive. |
zen is the art of being at one with the two'ness |
|
|
Frunobulax
Ketchup Master
84 Posts |
Posted - Feb 01 2008 : 06:54:28 AM
|
quote: Originally posted by feline
Once you have turned VA logging on you cannot turn it off, you need to restart the IDE to stop it. This is why the check box is not shown as checked. A slightly odd approach, but it does the job.
The FAQ entry tells you where the log files will be created.
Oh, I see. I initially checked the FAQ and not the thread you were referring to. I also assumed that the log files had to be local in some way, because terrible things may happen if two applications try writing to the same log :-)
I did as you suggested until I could reproduce the odd Alt-G behaviour. However, there was no errors.log created (I did look in the right place because I deleted the old errors.log prior to starting the experiment).
Regards, tv
|
"The nice part about being a pessimist is that you are constantly being either proven right or pleasantly surprised." (George F. Will)
|
|
|
feline
Whole Tomato Software
United Kingdom
19020 Posts |
Posted - Feb 01 2008 : 08:18:46 AM
|
If you close all instances of the IDE, which will make sure that logging has been turned off, and then load the IDE again do you start to see the alt-g problem?
This is rather strange. I would not expect turning on logging to fix the problem, especially if no log files are being generated. |
zen is the art of being at one with the two'ness |
|
|
feline
Whole Tomato Software
United Kingdom
19020 Posts |
Posted - Feb 01 2008 : 10:05:55 AM
|
I have the log files, thank you for that. I have asked our developers if they have any idea what is going wrong:
case=12157 |
zen is the art of being at one with the two'ness |
|
|
Frunobulax
Ketchup Master
84 Posts |
Posted - Feb 04 2008 : 09:42:58 AM
|
quote: Originally posted by feline
If you close all instances of the IDE, which will make sure that logging has been turned off, and then load the IDE again do you start to see the alt-g problem?
This is rather strange. I would not expect turning on logging to fix the problem, especially if no log files are being generated.
Logging didn't fix the problem - the Alt-G problem is there. It just seems that VAX doesn't recognize that there is a problem. And yes, the problem persists after restarting the IDE.
Regards, tv |
"The nice part about being a pessimist is that you are constantly being either proven right or pleasantly surprised." (George F. Will)
|
|
|
feline
Whole Tomato Software
United Kingdom
19020 Posts |
Posted - Mar 04 2008 : 10:55:44 AM
|
We are hoping to release a new build of VA in the next few days. This new build contains a fix that might help you, so can you try it when it is posted and see if it helps with this problem? |
zen is the art of being at one with the two'ness |
|
|
Frunobulax
Ketchup Master
84 Posts |
Posted - Apr 14 2008 : 05:44:17 AM
|
quote: Originally posted by feline
We are hoping to release a new build of VA in the next few days. This new build contains a fix that might help you, so can you try it when it is posted and see if it helps with this problem?
I'm afraid the problem is still there with 1632.
Regards, tv
|
"The nice part about being a pessimist is that you are constantly being either proven right or pleasantly surprised." (George F. Will)
|
|
|
feline
Whole Tomato Software
United Kingdom
19020 Posts |
Posted - Apr 14 2008 : 11:33:48 AM
|
Can you please generate log files with VA 1632, while the problem is happening, and then close any running IDE's and send me the log files? Hopefully they will offer some insight into what is happening here:
http://docs.wholetomato.com?W305 |
zen is the art of being at one with the two'ness |
|
|
Frunobulax
Ketchup Master
84 Posts |
Posted - Apr 25 2008 : 07:25:16 AM
|
quote: Originally posted by feline
Can you please generate log files with VA 1632
This may take a while, since we have some deadlines to fulfill :-\ The good news is that my VAX database rebuilding frequency is way down from the previous release, so 1632 works much better. The problems don't start immediately anymore. On the other hand this makes it harder to reproduce the problem.
Regards, tv
|
"The nice part about being a pessimist is that you are constantly being either proven right or pleasantly surprised." (George F. Will)
|
|
|
feline
Whole Tomato Software
United Kingdom
19020 Posts |
Posted - Apr 25 2008 : 09:26:06 AM
|
I am glad the situation is improving for you.
I am seeing "similar" problem reports from a few other users. I don't actually know if it is the same problem or not, but it gives me something to work on.
As always, any information you can provide will be helpful, but obviously your deadlines come first. |
zen is the art of being at one with the two'ness |
|
|
support
Whole Tomato Software
5566 Posts |
Posted - Jul 14 2008 : 2:26:55 PM
|
case=12157 is fixed in build 1645 |
Whole Tomato Software, Inc. |
|
|
|
Topic |
|