Author |
Topic |
|
mackomilos
Senior Member
35 Posts |
Posted - Oct 14 2006 : 11:16:25 AM
|
Today, I encountered same problem (as I've already mentioned in my previous post) with latest build 1539. The devenv.exe process takes up to 2GB of memory (1GB of operating memory + 1GB of virtual memory), which slows down everything in the IDE.
I found errors.log file in VC8 directory of Visual AssistX, which says something about database corruption (please see below).
I made the backup of whole VC8 directory, maybe it would help you to resolve the problem. If you care about that, please let me know, where I can send zipped file (about 4MB).
Errors.log (this print contains only first few lines of original file) --------------------------------------------- GetSymDef ibx c:\\program files\\visual assist x\\vc8\\Cache\\Db2Ds.db is corrupt, fid=0xac140f, rel=0x14e, act=0x5037.:149 10/13/2006 19:24:31 0xa04 Exception: EDC::2301 10/13/2006 19:54:03 0x16f8 Exception: EDC::2301 10/13/2006 19:55:47 0x16f8 Exception: EDC::2301 10/13/2006 19:56:31 0x16f8 rmfile dbx c:\\program files\\visual assist x\\vc8\\Cache\\Db0Idx.db is corrupt, fid=0xde8695.:50 10/13/2006 21:41:06 0xa74 rmfile dbx c:\\program files\\visual assist x\\vc8\\Cache\\Db0Ds.db is corrupt, fid=0xde8695.:50 10/13/2006 21:41:06 0xa74 rmfile dbx c:\\program files\\visual assist x\\vc8\\Cache\\Db0Idx.db is corrupt, fid=0xde8695.:50 10/13/2006 21:41:06 0xa74 rmfile dbx c:\\program files\\visual assist x\\vc8\\Cache\\Db0Ds.db is corrupt, fid=0xde8695.:50 10/13/2006 21:41:06 0xa74 rmfile dbx c:\\program files\\visual assist x\\vc8\\Cache\\Db0Idx.db is corrupt, fid=0xde8695.:50 10/13/2006 22:50:42 0xa74 rmfile dbx c:\\program files\\visual assist x\\vc8\\Cache\\Db0Ds.db is corrupt, fid=0xde8695.:50 10/13/2006 22:50:42 0xa74 ... |
|
feline
Whole Tomato Software
United Kingdom
19020 Posts |
Posted - Oct 14 2006 : 12:04:05 PM
|
your other thread seems to be this one:
http://forum.wholetomato.com/forum/topic.asp?TOPIC_ID=5361
Can you please go to:
VA Options -> About -> Copy Info
and paste the details (from the clipboard) into this thread. This will give us the basic information about your setup.
are you seeing this problem with all projects? what language are you using? approximately how large is your solution? the total number of entries in OFIW and FSIW should give a ruff idea.
approximately how long does this memory usage take to occur? a couple of minutes? a couple of hours? a couple of weeks?
I will ask the developers about this. In the mean time I have just emailed you via the forum, if you reply with the zip file I will pass it on, and we will see if it helps. |
zen is the art of being at one with the two'ness |
|
|
mackomilos
Senior Member
35 Posts |
Posted - Oct 14 2006 : 12:49:04 PM
|
quote: your other thread seems to be this one:
http://forum.wholetomato.com/forum/topic.asp?TOPIC_ID=5361
Yes, this is the right thread...
quote: Can you please go to:
VA Options -> About -> Copy Info
and paste the details (from the clipboard) into this thread. This will give us the basic information about your setup.
VA_X.dll file version 10.3.1539.0 built 2006.10.12 Licensed to: VA X: xxxxxxxxxxxxxx (1-user license) Support ends 2006.12.02 VA.NET 7.1: xxxxxxxxxxxxxxxxx (1-user license) VAOpsWin.dll version 1.3.3.6 VATE.dll version 1.0.5.8 DevEnv.exe version 8.0.50727.42 msenv.dll version 8.0.50727.42 Font: Monospac821 BT 12(Pixels) Comctl32.dll version 6.0.2900.2982 Windows XP 5.1 Build 2600 Service Pack 2 2 processors
Platform: Pocket PC 2003 (ARMV4) Stable Includes: C:\\Program Files\\Microsoft Visual Studio 8\\VC\\ce\\include; C:\\Program Files\\Microsoft Visual Studio 8\\SmartDevices\\SDK\\PocketPC2003\\include; C:\\Program Files\\Microsoft Visual Studio 8\\VC\\ce\\atlmfc\\include; C:\\Program Files\\Microsoft Visual Studio 8\\SmartDevices\\SDK\\SQL Server\\Mobile\\v3.0;
Library Includes: C:\\Program Files\\Microsoft Visual Studio 8\\VC\\ce\\atlmfc\\src\\atl; C:\\Program Files\\Microsoft Visual Studio 8\\VC\\ce\\atlmfc\\src\\mfc; C:\\Program Files\\Microsoft Visual Studio 8\\VC\\ce\\crt\\src\\;
Other Includes:
quote: are you seeing this problem with all projects?
No, I have several instances of IDE opened (usually two solutions - solution for main app and one solution with libraries) and the problem appears only for one devenv.exe process.
quote: what language are you using?
C++
quote: approximately how large is your solution?
What I'm actually working on (and when the error occured): main app - 4 projects (5447 symbols, 196 files) library no.1 - 1 project (809 symbols, 40 files)
quote: approximately how long does this memory usage take to occur?
It is couple of days...
quote: I will ask the developers about this. In the mean time I have just emailed you via the forum, if you reply with the zip file I will pass it on, and we will see if it helps.
I'm going to send you already 2 zipped files - after two hours as I deleted all files from VC8 directory, the file errors.log with the database corruption appeared again and therefor VA is not working properly (f.e. alt+g navigates me to fully different file and function). |
|
|
feline
Whole Tomato Software
United Kingdom
19020 Posts |
Posted - Oct 14 2006 : 3:33:45 PM
|
these sound like relatively small solutions, and a couple of days does not sound that long, not for this sort of memory usage. the two hours you reference in the second email is even less, and rather worrying!
I am assuming you deleted the VC8 directory after the first problem. Did you then load both IDE's immediately? If so, next time this happens can you load only one IDE and wait for VA to finish parsing the code before loading the second IDE? If there are two instances both parsing your stable include directories at the same time this may cause problems.
do the two solutions directly reference each other? I am wondering if VA in IDE1 is trying to index a file, while VA in IDE2 is also after the same file, leading to problems.
are you seeing any error messages on the IDE status bar about "Waiting for the other instance of Visual Studio to flush the DB" ?
I have your two emails and the attachments, thank you for sending these. |
zen is the art of being at one with the two'ness |
|
|
mackomilos
Senior Member
35 Posts |
Posted - Oct 15 2006 : 1:27:44 PM
|
quote: I am assuming you deleted the VC8 directory after the first problem. Did you then load both IDE's immediately?
No I didn't. I always start only one instance and wait for IDE to finish parsing the files and after the parsing finished I run second instance of VisualStudio.
quote: do the two solutions directly reference each other? I am wondering if VA in IDE1 is trying to index a file, while VA in IDE2 is also after the same file, leading to problems.
Those solutions would not be dependent on each other, but there is something you may want to know. Just image this situation: We have one global directory (which is usually network mapped directory) with header and library files, of which structure looks like this:
globaldir\\headers\\libproj1\\*.h globaldir\\headers\\libproj2\\*.h globaldir\\headers\\libproj3\\*.h ... globaldir\\lib\\debug\\*.lib globaldir\\lib\\release\\*.lib
Actually I'm working on two solutions - libproj1 and mainapp. After the build of libproj1 is finished, the postbuild event will be invoked that copies header and lib files to appropriate directories (in this case, 6 header files are copied to globaldir\\headers\\libproj1\\ and one lib file to debug or release directory). This assures that mainapp is built with the latest libraries. And the finally, both solutions (libproj1 and mainapp) contains same additional include directory which is globaldir\\headers what is set in project settings->C++->General->Additional Include Directories and both projects uses headers and lib file from libproj2 (again through globaldir directory).
I hope I explained that well.
quote: are you seeing any error messages on the IDE status bar about "Waiting for the other instance of Visual Studio to flush the DB" ?
No, I'm not. I saw this message in previous builds only (about 1534) for the last time. |
|
|
mackomilos
Senior Member
35 Posts |
Posted - Oct 15 2006 : 1:40:03 PM
|
I forgot to mention that in the second case (when the errors.log appeared again with database corruption), devenv.exe was eating about 80MB + 80MB of memory, which is proper value.
And today the errors.log was created again with same records. I'll try to work on one solution only and send you a report what will happen. |
|
|
feline
Whole Tomato Software
United Kingdom
19020 Posts |
Posted - Oct 16 2006 : 11:10:51 AM
|
I am not sure that errors.log matters. People have reported seeing error lines in it before, and it has not helped to pin down the problem. Waiting for one IDE to finish before opening the second should help, but obviously not enough.
Your description is quite clear to me One side issue comes to mind. VA has the option:
VA Options -> Text Editor -> C/C++ -> watch for externally modified headers and reparse when necessary
however this will not spot changes on network drives, something that I myself have been encountering in recent testing. So you could find that VA does not know about the latest changes to the header files. However that should not bother the compiler, and it is hard to see how this would contribute to this memory usage, if it does at all. In fact this *may* be related to the errors.log if the two instances of VA have different opinions on the content of these network header files. Just a guess to be honest, but it makes sense
A wild idea - You mention this happening over a couple of days. At the end of the day are you hibernating your workstation, or doing anything similar? I know from my own experience that my machine has to be rebooted every few days if I am suspending it at night. Some process seems to have problems with being suspended, but I have never worked out which ones. |
zen is the art of being at one with the two'ness |
|
|
mackomilos
Senior Member
35 Posts |
Posted - Oct 17 2006 : 06:07:25 AM
|
I think we should not ignore the errors.log with messages like xxx.db is corrupt - it shows that something is wrong and would find out the right reason, why this problem occured... Also I have to mention that after this message appears, behaviour of VA will become unpredictable.
Regarding the reseting computer after few days, I really had never any problem with this before. If I leave my computer, I will just lock the workstation (that's all what I'm doing - no hibarnating, no suspending...) and the computer is up even few weeks - maybe I have the magically stable computer
What about the feature 'Watch for externally modified headers...', probably I don't see the point what you exactle meant. I just turned it on, but I don't know what should bring it to me in my case...
And finally, after two days as I was working on one solution only, the VA worked like a charm. It seems the problem is related to more instance of VA running. I hope the developers will fix it soon, cause it's very frustrating to have such kind of problems. If I may ask, didn't you consider to implement out-process server for VA? I think it would resolve many problems - mostly the synchronization between the instances of VA...
|
|
|
feline
Whole Tomato Software
United Kingdom
19020 Posts |
Posted - Oct 17 2006 : 12:04:52 PM
|
machine uptime - the problems I experienced seem to be a direct result of hibernation. Locking the machine never caused me any problems, but MS Outlook, MS Word, MS Access and ToDo List (from codeproject.com) have all shown issues with hibernation. At least we can eliminate this in your case.
*ah* I did not realise that the messages in errors.log were directly related to seeing problems. I have found errors in my errors.log, but thought nothing of them, since they are not related to any specific problems for me. This is (hopefully) useful information.
"Watch for externally modified files" is only useful some of the time. It is very useful if you modify the files outside of the IDE, e.g. with source control or a diff program. However if you do all of your editing inside the IDE then it probably does not help you.
I have worked for days at a time with two IDE's open, swapping between them as I work on different things without a problem, so it is not quite as simple as running two IDE's. However this is clearly a problem here. The question is why.
Do you have anti-virus software installed on your machine? If so is it Norton / Symantic? I am remembering this old thread:
http://forum.wholetomato.com/forum/topic.asp?ARCHIVE=true&TOPIC_ID=3755&SearchTerms=norton,corporate
I am not an expert on the internal structure of VA but from what I have picked up VA is not nicely structured like a normal program, since it has to work by hooking into the IDE all over the place, which can cause "interesting" things to end up happening. |
zen is the art of being at one with the two'ness |
|
|
RoscoP
Junior Member
10 Posts |
Posted - Oct 17 2006 : 5:41:23 PM
|
I'm having what seems to be the same problem. I open two instances of VS2005 with the same solution. One will balloon out to over 1.2gb of memory usage, while the other seems normal ~100mb. I will usually see a message in the statusbar saying VA X: Waiting for other instance to flush DB... or something like that.
Win XP all patched, VS 2005.
Rosco |
|
|
RoscoP
Junior Member
10 Posts |
Posted - Oct 17 2006 : 5:50:35 PM
|
Well, after quitting the 1.2gb using VS, it cleaned up all the windows, but was still in the process list for over a few minutes, so I killed it. After having no VS instances running, I start one on the same solution, it is using over 1.2gb of memory shortly after start. I go into VAssistX -> Visual Assist X Options -> Performance -> General and click Rebuild and Clear. I quit again, it quits nicely (no force kill from task manager). I start it up again and I'm now in the expected ~100mb range.
Rosco |
|
|
sean
Whole Tomato Software
USA
2817 Posts |
Posted - Oct 17 2006 : 9:43:29 PM
|
Rosco: Are you using 1538 or 1539? If so, are you able to reproduce the ballooning problem in a second instance of vs2005? If so, can you please send a log file for that instance ( http://www.wholetomato.com/support/faq.asp#log )?
mackomilos: If you are seeing the corruption occur from the start, can you please do a symbol rebuild while logging is enabled and send in the logs ( http://www.wholetomato.com/support/faq.asp#log )? |
|
|
RoscoP
Junior Member
10 Posts |
Posted - Oct 23 2006 : 3:09:39 PM
|
1538, this of course hasn't happened since I cleared out history and did a db rebuild. I'll let you know if it does though.
Rosco |
|
|
mackomilos
Senior Member
35 Posts |
Posted - Oct 25 2006 : 1:10:36 PM
|
Finally I realized the problem and made the log files for you. I closely watched what happened within Visual Studio when devenv.exe process has began to increase its used memory. One instance of VS was still parsing one file and never ended, while the second instance was waiting for other instance to flush DB and the used memory was increasing and increasing - after 15 seconds first devenv.exe ate 2GB of memory...
I also created another log files when VA stopped to suggest anything.
Everything has been sent to [email protected] and I hope the files help you to resolve these (I can say: serious) problems...
Regards, Milos |
|
|
feline
Whole Tomato Software
United Kingdom
19020 Posts |
Posted - Oct 25 2006 : 1:29:29 PM
|
Some changes have been made in the next beta to try and fix these problems.
case=3137 |
zen is the art of being at one with the two'ness |
|
|
sean
Whole Tomato Software
USA
2817 Posts |
|
sean
Whole Tomato Software
USA
2817 Posts |
Posted - Oct 25 2006 : 5:20:59 PM
|
[continued via email with mackomilos] |
|
|
support
Whole Tomato Software
5566 Posts |
Posted - Oct 30 2006 : 12:42:26 AM
|
Case 3137 is fixed in build 1540. |
|
|
Holi
New Member
Switzerland
3 Posts |
Posted - Mar 31 2008 : 05:40:54 AM
|
Hi
I'm using Build 1624 and face the same problem as described here - but with DevStudio 6 SP6
What logs do you need from me in order to get more information?
Thanks and kindest regards
Robin |
|
|
accord
Whole Tomato Software
United Kingdom
3287 Posts |
|
feline
Whole Tomato Software
United Kingdom
19020 Posts |
Posted - Mar 31 2008 : 08:49:07 AM
|
Normally the IDE using 2gig of memory is caused by a corrupt VA symbol database, so simply rebuilding the symbol database and restarting the IDE should fix the problem:
VA Options -> Performance -> Rebuild symbol databases
Unfortunately this will not fix the cause of the corruption. As accord says, can you try upgrading to VA 1626 and see if this helps? |
zen is the art of being at one with the two'ness |
|
|
Holi
New Member
Switzerland
3 Posts |
Posted - Mar 31 2008 : 09:11:52 AM
|
Thank you both
I installed 1626 now and will have a look. I started up the two instances of DevStudio carefully now, meaning I waited the first one to end parsing until I opened the second one. So far it seems okay.
I use to work with several instances of DevStudio (up to 6) under certain circumstances. And normally there's only 1 single instance that causes the memory consumption (as far as I could find out).
The hint to rebuild the database is a good one; hope this will help for other problems as well.
I'll come back if I face the problem again.
Regards, Holi |
|
|
feline
Whole Tomato Software
United Kingdom
19020 Posts |
Posted - Apr 01 2008 : 10:27:22 AM
|
Running multiple instances of the IDE at the same time has been known to cause problems, but this should not cause any problems in the latest version of VA.
When we are able to reproduce this problem we always work hard to fix it.
If you run into this problem again, any clues you can provide to help us find the cause will be most useful. |
zen is the art of being at one with the two'ness |
|
|
|
Topic |
|