Intel® Graphics Performance Analyzers (Intel® GPA)
Improve your game's performance by quickly specifying problem areas

Using ITT occassionally results in error: "R6025 pure virtual function call"

Balazs_T_
Beginner
801 Views

Hi,

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?

0 Kudos
16 Replies
Neal_Pierman
Valued Contributor I
801 Views

Hi,

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.

Thanks!

Neal

0 Kudos
Neal_Pierman
Valued Contributor I
801 Views

Hi,

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?

Thanks!

Neal

0 Kudos
Balazs_T_
Beginner
801 Views

Hi,

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:

     shimd3d32.dll!055d01b4()    Unknown
     [Frames below may be incorrect and/or missing, no symbols loaded for shimd3d32.dll]    
     shimd3d32.dll!0567e2c3()    Unknown
     shimd3d32.dll!05889985()    Unknown
     shimd3d32.dll!05615d09()    Unknown
>    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
Memory: 16309MB
System BIOS: Dell Inc. A07 (11/08/2012)
Video BIOS: Version 80.04.06.00.02  (03/01/12)
Driver 0:
     Device: NVIDIA GeForce GTX 680
     Provider: NVIDIA
     Date: 3-14-2013
     Version: 9.18.13.1422
     VendorId: 10de
     ProductId: 1180
     Stepping: a1
     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.

Thanks

Balazs

0 Kudos
Neal_Pierman
Valued Contributor I
801 Views

Hello,

A couple of things come to mind that might help isolate this issue:

  • Does the problem only occur when using "auto-detect" mode? Is there a reason why you need to run with "auto-detect"?
  • Can you check to see whether your system has a "secure boot" option in the BIOS, and if so disable this and retry your app/game?
  • Does this problem occur on other systems that you might have? I would be especially interested in seeing whether this occurs on a system with Intel Processor Graphics (such as a GT4000).

Regards,

Neal

0 Kudos
Neal_Pierman
Valued Contributor I
801 Views

Hi,

A couple more questions:

  • You indicated that this issue only started after you switched to using ITT. Is it possible for you to "ifdef" out the ITT calls to verify whether ITT is the cause, as I would like to rule out "deferred contexts" as the issue.
  • What API is your game using (that is, what version of DirectX)?

Regards,

Neal

0 Kudos
Balazs_T_
Beginner
801 Views

Hi,

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.

Thanks,

Balazs

0 Kudos
Balazs_T_
Beginner
801 Views

Hi,

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.

Balazs

0 Kudos
Neal_Pierman
Valued Contributor I
801 Views

Hi,

Are you using DX11.0 or DX11.1?

thanks!

0 Kudos
Balazs_T_
Beginner
801 Views

Hi,

We are using DX11.0, we are running on Win7 so we can't use DX11.1 as far as I understand.

Thanks,

Balazs

0 Kudos
Neal_Pierman
Valued Contributor I
801 Views

Hi,

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.

Regards,

Neal

0 Kudos
Balazs_T_
Beginner
801 Views

Hi,

I tried it and unfortunately the problem is still there, maybe the problem is on our side but I have no idea how I could fix it.

Regards,

Balazs

0 Kudos
Neal_Pierman
Valued Contributor I
801 Views

Hi,

A couple of things...

First, I saw this article from Microsoft on this error message (not sure whether this applies in your situation):
   http://support.microsoft.com/kb/125749

Also, please verify the following:

  • You mentioned that the same error occurs on another system, but that system is similar to your existing system (that is, not Intel HD graphics).
  • You said that the error just started when you inserted ITT code. However, you stated the error still occurs if you have all the ITT code ifdef'd out from a compile.
  • The error only occurs when running Intel GPA with "auto-detect" mode enabled. All other use of Intel GPA is fine (that is, "analyze application" works fine, but this is not convenient for you).
  • Please check whether your system has "secure boot" enabled, as we know there are some situations when this BIOS option interferes with the Intel GPA "auto-detect" mode. If your system has it, it should be under the "security" tab of the BIOS options when you boot.

Regards,

Neal

0 Kudos
Neal_Pierman
Valued Contributor I
801 Views

Hi,

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?

Neal

0 Kudos
Balazs_T_
Beginner
801 Views

Hi,

  • You mentioned that the same error occurs on another system, but that system is similar to your existing system (that is, not Intel HD graphics).

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.

  • You said that the error just started when you inserted ITT code. However, you stated the error still occurs if you have all the ITT code ifdef'd out from a compile.
  • The error only occurs when running Intel GPA with "auto-detect" mode enabled. All other use of Intel GPA is fine (that is, "analyze application" works fine, but this is not convenient for you).

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..

  • Please check whether your system has "secure boot" enabled, as we know there are some situations when this BIOS option interferes with the Intel GPA "auto-detect" mode. If your system has it, it should be under the "security" tab of the BIOS options when you boot.

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.

  • Does the error still occur if you comment out the specific DX API call that causes the error?

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.

0 Kudos
Neal_Pierman
Valued Contributor I
801 Views

Hello again,

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.

Thanks!

0 Kudos
Balazs_T_
Beginner
801 Views

Hi,

It never happened without using GPA, neither on my machine nor on anyone elses in the company.

Thanks

0 Kudos
Reply