I started using the ITT libraries in our engine and sometimes it crashes with the error:
R6025 pure virtual function call
It never happened previously but since I use the ITT API I get it omre then 50% of the time. Is there any workaround for this problem?
This is a new one -- never heard of this before with ITT.
Do you have any more info on this, such as a crash report from Intel GPA, or any more information about your environment that you believe might help us figure out what's happening? Also, please right-click on the Intel GPA Monitor in the notification tray, and copy the "About..." info here.
One more question -- I'm assuming that this error occurs independent of whether or not you are running Intel GPA, and independent of whether the Intel GPA Monitor is running?
It seems like it only happens when I have GPA running and auto detecting the application.
I noticed that sometimes there is a crash in the shimd3d32.dll with creating a deferred context. I assume that this is the same reason why the pure virtual function call happens, it just results in a crash sometimes. The callstack is not too informative but maybe you can make sense of it:
[Frames below may be incorrect and/or missing, no symbols loaded for shimd3d32.dll]
> r4game.exe!GpuApi::CreateContext() Line 452 C++
This last line is the deferred context creation in our system.
Here is the About from GPA:
Windows 7, 64-bit DEP enabled
Num Processors: 8
System BIOS: Dell Inc. A07 (11/08/2012)
Video BIOS: Version 80.04.06.00.02 (03/01/12)
Device: NVIDIA GeForce GTX 680
No support for GPA Instrumentation
GPA install directory: C:\Program Files\Intel\GPA\2013 R1\
GPA version: 13.1.194259
Current user is in Administrators group: YES
Current GPA 2013 R1 (13.1.194259)
"Auto-detect launched applications" is On
I hope this will help figuring out what is the problem, GPA is a great tool but right now it's almost impossible to use it in our system.
A couple of things come to mind that might help isolate this issue:
A couple more questions:
I don't seem to have it when not using the auto detect. I'm using it though because I make a lot of iterations and I just build the game from VS and start it and this way I don't have to build then run from GPA.
I haven't checked the BIOS yet but I checked it on another system, and it happens. I haven't checked it on Intel Processor Graphics because right now I don't have any such machine accessible.
If I don't have the ITT then it doesn't seem to happen. As I said before it is a random thing so maybe it just reduces the occurences so much that we would have to run a lot of times to verify.
We use DirectX11.
I just had pure virtual issue while running from the Analyze Application, so it happens and also I had ITT ifdefed out.
I don't know what could cause it, it is quite rare in these circumstances but still happens.
I know we've been discussing this issue via private messages, but wanted to have you try your app with the new version of Intel GPA, release 2013 R2. You can get it from the Intel GPA Home Page --> www.intel.com/software/gpa
Hopefully the new version fixes the issue you've been seeing.
A couple of things...
First, I saw this article from Microsoft on this error message (not sure whether this applies in your situation):
Also, please verify the following:
One more thing... does the error still occur if you comment out the specific DX API call that causes the error?
Also, what version of VS are you using?
Yes the other system doesn't have Intel HD graphics either. As I mentioned before I don't have access to such a machine right now.
I tried to reproduce without ITT and without "auto-detect" and it happens very very rarely but it still happens. If I have the ITT and the "auto-detect" on then it happens more then 50%, if I don't then it's almost never..
I tried to check this but I'm not sure that I fully understand it, I tried to read about the secure boot feature because I haven't found this in the BIOS. As far as I understand this feature is part of the UEFI boot process which is switched off on my PC. If this is something else then please describe it.
I can't really do this, without creating deferred contexts I wouldn't be able to run the game.
Also, what version of VS are you using?
I'm using VS 2012, but I tried from VS2010 with the same effect.
Thanks for the info.
One more question that I'm not sure you answered: if you remove ITT and don't use Intel GPA (either with "auto-detect" or "analyze app"), does the problem still occur when running the game? In other words, I'm trying to determine if the problem is solely with your game itself, or whether ITT or Intel GPA are contributing to the issue.