Author |
Topic |
jtyoder
New Member
8 Posts |
Posted - May 24 2006 : 11:32:21 AM
|
I have had Visual Assist installed for awhile now and had no problems. Now I have to disable it or any time I try to do anything in my VS environment, I get the following error and my IDE closes.
Runtime Error ...devenv.exe R6025 Pure Virtual Function Call
The only thing I can think of that I've changed on my PC is uninstalling Dev Studio 6.0's Visual J++ component. Would that somehow have messed something up?
Visual Studio .net 2003 Ver 7.1.3088 .NET Framework 1.1 Ver 1.1.4322
VA_X.dll file version 10.2.1445.0 built 2006.04.12 Licensed to: VA X: [email protected] (1-user license) Support ends 2007.03.17 VA.NET 7.1: VAOpsWin.dll version 1.3.2.4 VATE.dll version 1.0.4.15 DevEnv.exe version 7.10.3077.0 msenv.dll version 7.10.3077.0 Comctl32.dll version 5.82.2900.2180 WindowsNT 5.1 Build 2600 Service Pack 2 Single processor
Platform: Win32 Stable Includes: C:\\Program Files\\Microsoft Visual Studio .NET 2003\\Vc7\\include; C:\\Program Files\\Microsoft Visual Studio .NET 2003\\Vc7\\atlmfc\\include; C:\\Program Files\\Microsoft Visual Studio .NET 2003\\Vc7\\PlatformSDK\\include\\prerelease; C:\\Program Files\\Microsoft Visual Studio .NET 2003\\Vc7\\PlatformSDK\\include; C:\\Program Files\\Microsoft.NET\\SDK\\v1.1\\include; C:\\abi\\mpich2\\include; C:\\abi\\tau\\include; C:\\abi\\boost\\include\\boost-1_33;
Library Includes: C:\\Program Files\\Microsoft Visual Studio .NET 2003\\Vc7\\atlmfc\\src\\mfc; C:\\Program Files\\Microsoft Visual Studio .NET 2003\\Vc7\\atlmfc\\src\\atl; C:\\Program Files\\Microsoft Visual Studio .NET 2003\\Vc7\\crt\\src;
Other Includes:
-------------------- I am working on a small C program. It is an example XML parser I found on the net. At the point where I have indicated (in blue), I have a pointer de-reference that I can't edit because, it appears, Visual Assist tries to pop up the intelli-sense information for cur_node and something causes it to crash.
Here's the source...
/**
* section: Tree
* synopsis: Navigates a tree to print element names
* purpose: Parse a file to a tree, use xmlDocGetRootElement() to
* get the root element, then walk the document and print
* all the element name in document order.
* usage: tree1 filename_or_URL
* test: tree1 test2.xml > tree1.tmp ; diff tree1.tmp tree1.res ; rm tree1.tmp
* author: Dodji Seketeli
* copy: see Copyright for the status of this software.
*/
#include <stdio.h>
#include <C:/abi/libxml2-2.6.23.win32/include/libxml/parser.h>
#include <C:/abi/libxml2-2.6.23.win32/includelibxml/tree.h>
#ifdef LIBXML_TREE_ENABLED
/*
*To compile this file using gcc you can type
*gcc `xml2-config --cflags --libs` -o xmlexample libxml2-example.c
*/
/**
* print_element_names:
* @a_node: the initial xml node to consider.
*
* Prints the names of the all the xml elements
* that are siblings or children of a given xml node.
*/
static void
print_element_names(xmlNode * a_node)
{
xmlNode *cur_node = NULL;
for (cur_node = a_node; cur_node; cur_node = cur_node->next) {
if (cur_node->type == XML_ELEMENT_NODE) {
printf("node type: Element, name: %s\\n", cur_node->name);
cur_node-> <- Here's my problem
}
print_element_names(cur_node->children);
}
}
/**
* Simple example to parse a file called "file.xml",
* walk down the DOM, and print the name of the
* xml elements nodes.
*/
int
main(int argc, char **argv)
{
xmlDoc *doc = NULL;
xmlNode *root_element = NULL;
if (argc != 2)
return(1);
/*
* this initialize the library and check potential ABI mismatches
* between the version it was compiled for and the actual shared
* library used.
*/
LIBXML_TEST_VERSION
/*parse the file and get the DOM */
doc = xmlReadFile(argv[1], NULL, 0);
if (doc == NULL) {
printf("error: could not parse file %s\\n", argv[1]);
}
/*Get the root element node */
root_element = xmlDocGetRootElement(doc);
print_element_names(root_element);
/*free the document */
xmlFreeDoc(doc);
/*
*Free the global variables that may
*have been allocated by the parser.
*/
xmlCleanupParser();
return 0;
}
#else
int main(void) {
fprintf(stderr, "Tree support not compiled in\\n");
exit(1);
}
#endif
|
Edited by - jtyoder on May 24 2006 4:25:39 PM |
|
support
Whole Tomato Software
5566 Posts |
|
jtyoder
New Member
8 Posts |
Posted - May 25 2006 : 08:52:32 AM
|
Well, disabling my Rose add-in seems to have stopped the crash, but I still don't get any intelli-sense info for the libxml functions even though I have fully qualified the paths to the include files. |
|
|
support
Whole Tomato Software
5566 Posts |
Posted - May 25 2006 : 09:31:26 AM
|
The lack of Intellisense for a pointer to xmlNode is a different problem. (We assume the crashing is gone entirely.)
Can you tell us what the definition of xmlNode is? |
|
|
jtyoder
New Member
8 Posts |
Posted - May 25 2006 : 09:41:34 AM
|
It is a struct
Structure xmlNodestruct _xmlNode {
void * _private : application data
xmlElementType type : type number, must be second !
const xmlChar * name : the name of the node, or the entity
struct _xmlNode * children : parent->childs link
struct _xmlNode * last : last child link
struct _xmlNode * parent : child->parent link
struct _xmlNode * next : next sibling link
struct _xmlNode * prev : previous sibling link
struct _xmlDoc * doc : the containing document End of common p
xmlNs * ns : pointer to the associated namespace
xmlChar * content : the content
struct _xmlAttr * properties : properties list
xmlNs * nsDef : namespace definitions on this node
void * psvi : for type/PSVI informations
unsigned short line : line number
unsigned short extra : extra data for XPath/XSLT
}
|
|
|
feline
Whole Tomato Software
United Kingdom
19024 Posts |
Posted - May 25 2006 : 2:39:11 PM
|
what language is this struct in? it seems to be using colon to indicate start of comment, and that is not something i am familiar with. plus "Structure" is not a keyword in C++ as far as i know.
the code further up this thread looks like C++. |
zen is the art of being at one with the two'ness |
|
|
jtyoder
New Member
8 Posts |
Posted - May 25 2006 : 2:49:43 PM
|
Crud, sorry about that. It is in C. The struct above was copied from a documentation page (hence the colons). Somehow, the linewrap for the first line got lost in the paste too. The first line should not have even been in the code listing as it was simply a doc title - "Structure xmlNode" The first line of code should have just been "struct _xmlNode {" Sorry for the confusion! |
|
|
feline
Whole Tomato Software
United Kingdom
19024 Posts |
Posted - May 27 2006 : 1:27:56 PM
|
using VS2003, C++ and VA 1445 i have added this structure to a header file (after correcting it) and in the matching cpp file i typed:
_xmlNode foo;
foo.|
i immediately got a completion list of all members of this structure.
is this a local structure, or something in a stable include directory? if you use alt-g on the type _xmlNode what happens? specifically does VA know about and understand this type?
it could be that my test is not valid, since i do not have the original structure. however that should not make any difference, unless the original header file is really weird and is confusing VA's parser. |
zen is the art of being at one with the two'ness |
|
|
jtyoder
New Member
8 Posts |
Posted - May 30 2006 : 08:31:04 AM
|
The structure is in the libxml library http://xmlsoft.org (open source). I am working with the xpath1 example in their example code. I have fully qualified the path in the includes and the source does compile so I'm sure VA can find the definition. Alt-G has no effect. |
|
|
feline
Whole Tomato Software
United Kingdom
19024 Posts |
Posted - May 31 2006 : 3:32:29 PM
|
alt-g having no effect suggests that VA does not know where the code is. have you tried adding this library as a stable include to the IDE's project settings?
see the "Default Directories" section here:
http://www.wholetomato.com/products/features/directories.html?more=yes |
zen is the art of being at one with the two'ness |
|
|
jtyoder
New Member
8 Posts |
Posted - May 31 2006 : 3:58:51 PM
|
Sorry, no dice. I was requested, via email from a Whole Tomato support person, to install and try the latest beta build. This didn't help either. My updated VA info is now: VA_X.dll file version 11.0.1515.0 built 2006.05.08 Licensed to: VA X: [email protected] (1-user license) Support ends 2007.03.17 VAOpsWin.dll version 1.3.2.8 VATE.dll version 1.0.5.6 DevEnv.exe version 7.10.3077.0 msenv.dll version 7.10.3077.0 Font: Courier New 13(Pixels) Comctl32.dll version 5.82.2900.2180 WindowsXP 5.1 Build 2600 Service Pack 2 Single processor
Platform: Custom Stable Includes: c:\\program files\\microsoft visual studio .net 2003\\vc7\\include; c:\\program files\\microsoft visual studio .net 2003\\vc7\\atlmfc\\include; c:\\program files\\microsoft visual studio .net 2003\\vc7\\PlatformSDK\\include\\prerelease; c:\\program files\\microsoft visual studio .net 2003\\vc7\\PlatformSDK\\include; c:\\program files\\microsoft.net\\sdk\\v1.1\\include; C:\\abi\\libxml2-2.6.23.win32\\include\\libxml; C:\\abi\\iconv-1.9.1.win32\\include;
Library Includes: c:\\program files\\microsoft visual studio .net 2003\\vc7\\atlmfc\\src\\mfc; c:\\program files\\microsoft visual studio .net 2003\\vc7\\atlmfc\\src\\atl; c:\\program files\\microsoft visual studio .net 2003\\vc7\\crt\\src;
Other Includes:
|
|
|
support
Whole Tomato Software
5566 Posts |
Posted - May 31 2006 : 7:32:11 PM
|
We don't have enough clues to identify the culprit.
Can you provide a small project to reproduce the problem? |
|
|
jtyoder
New Member
8 Posts |
Posted - Jun 01 2006 : 08:01:47 AM
|
Sure, I'll email it to support and reference this thread. |
|
|
jtyoder
New Member
8 Posts |
Posted - Jun 01 2006 : 08:30:17 AM
|
I just tried it again this morning and it was working fine. I had restarted Visual Studio a number of times during the debugging process (with no success) but had never rebooted my machine. Yesterday, just before leaving for the day, a severe thunderstorm took out our power momentarily. I just went ahead and left for home. When I got back this morning and powered back up. The intellisense is working fine! Could there be something that required a reboot to clear it up? |
|
|
feline
Whole Tomato Software
United Kingdom
19024 Posts |
Posted - Jun 01 2006 : 6:02:53 PM
|
personally i hibernate my main work machine at night, which in theory is the same as leaving it on all the time. after about a week, sometimes less, VS2005 starts messing me about and i have to reboot the machine in order to get it to work again correctly.
however i am aware that hybernating does upset some programs, so this could be a factor.
still, i would not expect a reboot to have been required. it suggests some temporary file or folder was locked and the lock was never being released. most odd. i am glad this is now fixed. |
zen is the art of being at one with the two'ness |
|
|
aaronflippo
New Member
4 Posts |
Posted - Jun 22 2006 : 4:35:45 PM
|
I'm actually having a similar problem with the latest beta (see below for exact version). When VS crashes like this, it's leaving devenv.exe open, and apparently the old version has a lock on the intellisense files, so the new instance you open up can't get access. Restarting fixes it, or you can just manually kill the old devenv.exe in your task manager.
VA_X.dll file version 10.3.1522.0 built 2006.06.08 VAOpsWin.dll version 1.3.3.2 VATE.dll version 1.0.5.7 DevEnv.exe version 7.10.3077.0 msenv.dll version 2.0.2732.0 Font: Courier New 13(Pixels) Comctl32.dll version 5.82.2900.2180 Windows XP 5.1 Build 2600 Service Pack 2 2 processors
Platform: Win32 Stable Includes: C:\\Program Files\\Microsoft Xbox SDK\\Include; C:\\Program Files\\Microsoft DirectX SDK (December 2005)\\Include; C:\\Program Files\\Microsoft Visual Studio .NET 2003\\Vc7\\include; C:\\Program Files\\Microsoft Visual Studio .NET 2003\\Vc7\\atlmfc\\include; C:\\Program Files\\Microsoft Visual Studio .NET 2003\\Vc7\\PlatformSDK\\include\\prerelease; C:\\Program Files\\Microsoft Visual Studio .NET 2003\\Vc7\\PlatformSDK\\include; C:\\Program Files\\Microsoft Visual Studio .NET 2003\\SDK\\v1.1\\include;
Library Includes: C:\\Program Files\\Microsoft Visual Studio .NET 2003\\Vc7\\atlmfc\\src\\mfc; C:\\Program Files\\Microsoft Visual Studio .NET 2003\\Vc7\\atlmfc\\src\\atl; C:\\Program Files\\Microsoft Visual Studio .NET 2003\\Vc7\\crt\\src;
Other Includes:
|
|
|
support
Whole Tomato Software
5566 Posts |
Posted - Jun 22 2006 : 8:07:26 PM
|
aaronflippo: We're not exactly which problem in this thread you're having. Obviously, a crash of some sort.
Can you start by installing build 1524?
http://www.wholetomato.com/downloads/VA_X_Setup1524.exe
If your crashing persists, is it somewhat reproducible?
Do you have any other add-ins installed? If so, does disabling "at startup" eliminate the crashing? |
|
|
aaronflippo
New Member
4 Posts |
Posted - Jun 27 2006 : 12:02:18 PM
|
quote: Originally posted by support
aaronflippo: We're not exactly which problem in this thread you're having. Obviously, a crash of some sort.
Can you start by installing build 1524?
http://www.wholetomato.com/downloads/VA_X_Setup1524.exe
If your crashing persists, is it somewhat reproducible?
Do you have any other add-ins installed? If so, does disabling "at startup" eliminate the crashing?
Sorry, I should have clarified. I'm getting the same runtime error mentioned at the beginning of the thread:
Runtime Error ...devenv.exe R6025 Pure Virtual Function Call
Since my post, I've upgraded to 1524, and I'm still having the problem, but not quite as often. Whenever it happens, it's been just as I switched tabs in the editor window -- oftentimes between a c++ and an .xml file, if that's helpful.
The only addins I'm running are IncrediBuild, and an Xbox 3D state viewer. I can try disabling these now and see if the problem persists.
|
|
|
feline
Whole Tomato Software
United Kingdom
19024 Posts |
Posted - Jun 28 2006 : 6:23:02 PM
|
please, that should help. |
zen is the art of being at one with the two'ness |
|
|
aaronflippo
New Member
4 Posts |
Posted - Jul 06 2006 : 2:37:17 PM
|
quote: Originally posted by feline
please, that should help.
Ok, I've disabled everything except VAssist, and I'm still getting this. I think I've narrowed it down to the following repro:
1. open a c++ file and a non-c++ file (I've sucessfully reproduced it with both .xml and .txt files) 2. rapidly switch between the files in the editor to get the 6025 crash. 3. The crash always seems to happen when switching *off* of the c++ file.
It doesn't seem to happen with every file combination, but seems to happen more often with larger c++/xml files. Hope that's helpful.
|
|
|
feline
Whole Tomato Software
United Kingdom
19024 Posts |
Posted - Jul 08 2006 : 4:10:53 PM
|
this certainly sounds helpful.
* what are the sizes of the files you are using? * do you have a project or solution open when you do this? * what method are you using to switch between the files? * approximately, how many switches are you doing before you get a crash? * which version of VA have you reproduced this with? |
zen is the art of being at one with the two'ness |
|
|
support
Whole Tomato Software
5566 Posts |
Posted - Jul 09 2006 : 2:24:31 PM
|
The problem with "R6025 Pure Virtual Function Call" should be fixed in build 1530. |
|
|
aaronflippo
New Member
4 Posts |
Posted - Jul 10 2006 : 1:11:02 PM
|
quote: Originally posted by support
The problem with "R6025 Pure Virtual Function Call" should be fixed in build 1530.
Sweet, the 2 files that I was getting it every time when I switched between, now work fine with 1530. Thanks! |
|
|
kevinsikes
Tomato Guru
USA
271 Posts |
Posted - Jul 19 2006 : 3:55:18 PM
|
I just got the R6025 crash with build 1530; however, the call stack has no Visual Assist functions that I can see: VA_X.dll file version 10.3.1530.0 built 2006.07.08 VAOpsWin.dll version 1.3.3.4 VATE.dll version 1.0.5.7 DevEnv.exe version 7.10.3077.0 msenv.dll version 7.10.3077.0 Font: Bitstream Vera Sans Mono 15(Pixels) Comctl32.dll version 5.82.2900.2180 Windows XP 5.1 Build 2600 Service Pack 2 2 processors
> ntdll.dll!7c90eb94() user32.dll!77d49418() msenv.dll!500c993c() msenv.dll!500c9b9d() MSO.DLL!30ce950f() MSO.DLL!30ce9467() msenv.dll!500c9bd4() msenv.dll!500e12e0() ntdll.dll!7c919aeb() ntdll.dll!7c919ba0() kernel32.dll!7c80ac66() kernel32.dll!7c80ac78() devenv.exe!004088a8() devenv.exe!00406ed7() devenv.exe!00410032() ntdll.dll!7c910895() ntdll.dll!7c919a9c() ntdll.dll!7c919b3f() ntdll.dll!7c919aeb() advapi32.dll!77dd6a18() ntdll.dll!7c919aeb() ntdll.dll!7c919ba0() kernel32.dll!7c80ac66() kernel32.dll!7c80ac78() devenv.exe!004055a1() devenv.exe!004055c2() devenv.exe!004055d8() devenv.exe!004077bc() devenv.exe!0040780e() kernel32.dll!7c816d4f() kernel32.dll!7c8399f3()
|
Kevin Sikes Infotainment Platform Design Engineer Ford Motor Company |
|
|
hwatson
Junior Member
23 Posts |
Posted - Jul 21 2006 : 5:25:47 PM
|
I can consistently reproduce this crash in 1530. The conditions are generally what aaronflippo described. If I toggle between an .h/.cpp file and a non .h/.cpp file, it may crash when switching to the non .h/.cpp file. Switching rapidly causes the crash to occur more quickly, but the crash itself does not seem to depend on how rapidly the tabs are switched. Rather, the rapid clicking just presents more opportunities for the crash to occur.
To answer feline's questions:
* what are the sizes of the files you are using? I've tried it with various sized files. The smallest I tested with are around 200-300 lines. The size did not seem to impact the chance of crashing.
* do you have a project or solution open when you do this? I have a solution containing 25 projects open. The files belong to one of those projects.
* what method are you using to switch between the files? Clicking the tabs.
* approximately, how many switches are you doing before you get a crash? As few as four, as many as ~40.
* which version of VA have you reproduced this with? VA_X.dll file version 10.3.1530.0 built 2006.07.08 VAOpsWin.dll version 1.3.3.4 VATE.dll version 1.0.5.7 DevEnv.exe version 7.10.3077.0 msenv.dll version 2.0.3215.0 Font: Courier New 13(Pixels) Comctl32.dll version 5.82.2900.2180 Windows XP 5.1 Build 2600 Service Pack 2 2 processors |
|
|
feline
Whole Tomato Software
United Kingdom
19024 Posts |
Posted - Jul 22 2006 : 5:22:55 PM
|
using VS2003 and VA 1530 i have just opened annother file in the IDE, with a project open as well. using the mouse and clicking on the tabs i have switch back and forward between a C++ header file and the other file lots of times, with no sign of any problems.
i have tried this with a REG file, then with a TXT file, and then with an XML file, trying about 80 switches in each case, and still no sign of a problem.
hwatson does it look like i have missed some obvious, or important step? do you ever see problems when switching between two code files? |
zen is the art of being at one with the two'ness |
|
|
hwatson
Junior Member
23 Posts |
Posted - Jul 24 2006 : 1:44:52 PM
|
feline,
It doesn't sound like you missed anything. After reading your reply, I tried it again and I couldn't reproduce it. I tried with a few files open, a lot of files open, checked in, checked out, active edits, and unchanged. I also tried with multiple instances of Visual Studio running (I often have two or three instances running). I gave up and began reverting the temporary changes I made, and it crashed.
So I don't know what the preconditions are. I could crash it pretty reliably when trying last week. I'll see if I can narrow down the causes.
I have not seen the crash switching between c++ code files. I was working on some vertex and pixel shaders last week, and it would crash when switching to the shader code files. These files have been in the project for a while, and I did not have problems before installing 1530. (I had 1446 installed previously.) I don't know if this is any clue, but Visual Assist doesn't process the shader files. I assume this is because they have unknown extensions. |
|
|
jpizzi
Tomato Guru
USA
642 Posts |
Posted - Jul 24 2006 : 11:24:35 PM
|
quote: originally posted by hwatson
I gave up and began reverting the temporary changes I made, and it crashed.
This suggests that something in the code is confusing VA. Strange that it is confused enough to crash. You mentioned trying to narrow it down. Any clues are welcome. |
Joe Pizzi |
|
|
hwatson
Junior Member
23 Posts |
Posted - Jul 25 2006 : 12:46:24 PM
|
I tried this morning to see if I could set up a test case. I opened the BasicHLSL sample from the June 2006 DirectX SDK. I planned to open all the files in the solution, and then click through them. I got the crash as soon as I opened the first file, BasicHLSL.manifest.
It has worked fine so far since then, so I will continue to gather information. In the meantime, here are the callstacks from the Visual Studio threads using VA_X.dll at the time of the crash. I suspect the first one is displaying the error dialog:
> ntdll.dll!_KiFastSystemCallRet@0() user32.dll!_NtUserWaitMessage@0() + 0xc user32.dll!_InternalDialogBox@24() + 0xb6 user32.dll!_SoftModalMessageBox@4() + 0x677 user32.dll!_MessageBoxWorker@4() + 0x175 user32.dll!_MessageBoxTimeoutW@24() + 0x7a user32.dll!_MessageBoxTimeoutA@24() + 0x9c user32.dll!_MessageBoxExA@20() + 0x1b user32.dll!_MessageBoxA@16() + 0x45 01a5ac49() VA_X.dll!1ee5c585() VA_X.dll!1ee5a62e() VA_X.dll!1ee4b497() ffffff90()
> ntdll.dll!_NtDelayExecution@8() + 0xc kernel32.dll!_SleepEx@8() + 0x51 kernel32.dll!_Sleep@4() + 0xf VA_X.dll!1ed7b110() VA_X.dll!1ed7b786() ntdll.dll!_RtlpWorkerCallout@16() + 0x65 ntdll.dll!_RtlpExecuteWorkerRequest@12() + 0x1a ntdll.dll!_RtlpApcCallout@16() + 0x11 ntdll.dll!_RtlpWorkerThread@4() + 0x16ebc kernel32.dll!_BaseThreadStart@8() + 0x37
> ntdll.dll!_KiFastSystemCallRet@0() ntdll.dll!_ZwWaitForSingleObject@12() + 0xc ntdll.dll!_RtlpWaitForCriticalSection@4() + 0x8c ntdll.dll!_RtlEnterCriticalSection@4() + 0x46 VA_X.dll!1ed45b3d() VA_X.dll!1ee68d0d() VA_X.dll!1ed17240() 5f0a000a() kernel32.dll!_BaseThreadStart@8() + 0x37
> ntdll.dll!_KiFastSystemCallRet@0() ntdll.dll!_NtDelayExecution@8() + 0xc kernel32.dll!_SleepEx@8() + 0x51 kernel32.dll!_Sleep@4() + 0xf VA_X.dll!1ed15e8c() VA_X.dll!1ee68cf3() VA_X.dll!1ed17240() 5f0a0018() kernel32.dll!_BaseThreadStart@8() + 0x37
|
|
|
support
Whole Tomato Software
5566 Posts |
Posted - Jul 31 2006 : 8:40:33 PM
|
hwatson: Can you try simply to open the manifest? We wonder if something in it is causing the problem. (You're welcome to send us the manifest to have us try.)
Can you zip and send us a screenshot of your IDE just prior to reproducing the problem (assuming it's reproducible in the case with your manifest?) |
|
|
sean
Whole Tomato Software
USA
2817 Posts |
Posted - Aug 01 2006 : 2:36:42 PM
|
hwatson - just to confirm, you are getting a Pure Virtual Function Call error message? |
|
|
Topic |
|