Graphics
Intel® graphics drivers and software, compatibility, troubleshooting, performance, and optimization
20629 Discussions

DirectX9 crash on calls to GetRenderTargetData with HD 4000 range drivers

SGill5
Beginner
3,500 Views

Hi, I'm a developer on the PhotoVidShow software. We have had crash issues with users using our software on computers with Intel HD 4000 range graphics cards. This seems to happen on most versions of the driver included the latest 10.18.10.3958. This problem has been seen on windows 8 and 7 computers.

After investigation the problem seems to be a crash on a directx9 call to Idirect3DDevice9::GetRenderTargetData method.

Attached is a Directx9 program which demonstrates this problem as simply as possible.

Here we create 2 surfaces in system memory (1920x1080 32 bit). Then under the normal render loop we copy the back buffer (same size) from the GPU to a surface. We alternate the surface on each call to render. After about the 3rd call to GetRenderTargetData() it crashes in igdumdim32.dll

This code runs on other computers with no problem, including with Nvidia cards as well as things like an integrated Mobile Intel 4 Series Express Chipset

It maybe we're doing something silly, but I'm also wondering if this is an issue in the HD 4000 drivers?

Only creating one surface above fixes the issue, so is a possible workaround for us. Also at lower resolution surfaces like 720p, this problem only happens if there are 3 surfaces etc.

Our software http://www.photovidshow.com/ PhotoVidShow creates Photo DVD and HD slideshows, so we need to do this constant copying from the back buffer to send to our mpg encoders which runs on the CPU.

Hope this make sense.

Many thanks in advance

Stu

0 Kudos
21 Replies
Allan_J_Intel1
Employee
1,713 Views

Thanks for joining the Graphics community.

I am currently researching on this issue. As soon as I can, I will send you a message with my findings.

Allan.

0 Kudos
Allan_J_Intel1
Employee
1,713 Views

Would you provide step by step information? I would like to replicate this matter. I obtained some errors while rendering, however, I need to see if they are the same. Also, add some screen shots and step by step information.

Thanks

Allan.

0 Kudos
SGill5
Beginner
1,713 Views

Hi Allan thanks for looking into this. I take it the errors you get are not what you think I get?

I've attached screenshots as requested and also my VS 2008 solution which also contains my build version of the .exe in the debug folder

Step by step:-

Run the crash.exe in the debug folder

Or

Load crash solution into Visual Studio. I'm using Visual studio 2008 and Directx9, but I'm sure this happens on other versions of VS

build

Run it in the debugger

It should crash on second loop of for render loop (see crash.jpg and crashstacktrace.jpg)

my output.txt file looks like this

Started app

Render loop 1 surface(1)

Calling GetRenderTargetData

Called GetRenderTargetData

Render loop 1 surface(2)

Calling GetRenderTargetData

Called GetRenderTargetData

Render loop 2 surface(1)

Calling GetRenderTargetData

Also I've attached my output program screenshot, where we render the red square on a blue background.

As I said the actual problem is our software on clients machines, so this program is only a way I found to replicate the same issue on similar hardware at my end. This program works fine on all other computers we have with different graphics cards.

Thanks

Stuart

0 Kudos
PLiv
New Contributor II
1,713 Views

I can reproduce it too. I have an Intel Core i3-3220 with Intel HD Graphics 2500. Driver version 15.33.30.64.3958. Motherboard information:

Steps taken:

-Downloaded solution;

-Opened solution and upgraded it using Visual Studio 2013 For Windows Desktop Update 4, got some warnings though (upgrade log attached);

-After getting errors on linking, I got a stripped down version of DirectX SDK from here: https://github.com/hrydgard/minidx9 https://github.com/hrydgard/minidx9;

-Extracted contents of dx9sdk\Lib\x86 in.\crash

-Did a clean build because on first attempt I got corrupted PDB related error when building;

-I built it using Debug profile for Win32 (it is the only mode that builds successfully).

When I launched it directly, it crashed shortly after start-up.

After re-launching it in Visual Studio instead, with debugging, I got a very similar crash signature as one posted by StuPVS

0 Kudos
SGill5
Beginner
1,713 Views

Hi Pal1000, thanks for trying this out. I would say you have the same issue I have.

Interesting it was on a HD 2500 but no surprise. Without knowing too much myself, I suppose it is the same or similar drivers.

Users of our software who have this problem (and got back to me with hardware information) were using either HD 4000 or HD 4600. After that I didn't bother asking because I knew the conflict was with using the Intel HD drivers. I have a Sony Vaio wth HD4000 here myself to try things out.

Thanks

Stu

0 Kudos
PLiv
New Contributor II
1,713 Views

Yes, @StuVPS, you are right. Intel HD Graphics 2500 and 4000 use drivers from same line of drivers packages thus having the same driver version.

Check these 2 links. Both redirect to same driver package:

https://downloadcenter.intel.com/SearchResult.aspx?lang=eng&ProdId=3712 https://downloadcenter.intel.com/SearchResult.aspx?lang=eng&ProdId=3712

https://downloadcenter.intel.com/SearchResult.aspx?lang=eng&ProdId=3712 https://downloadcenter.intel.com/SearchResult.aspx?lang=eng&ProdId=3711

I made some research since you mentioned Intel HD Graphics 4600 as well. It appears that Intel HD Graphics 4600 which is bundled with 4th generation Intel Core processors use drivers from a different line of drivers packages. See: https://downloadcenter.intel.com/SearchResult.aspx?lang=eng&ProdId=3720 https://downloadcenter.intel.com/SearchResult.aspx?lang=eng&ProdId=3720

This further complicates the situation because we are not talking about just 1 driver release being affected but at least 2.

So don't hope for it to be fixed soon.

It may worth trying this on Intel HD Graphics 4200 and 4400 because both use same driver package as Intel HD Graphics 4600.

0 Kudos
SGill5
Beginner
1,713 Views

Hi Pal1000, i actually made a mistake on my last post, i meant HD 4400 not HD 4600. But sounds like this makes no difference because, like you said, they use the same driver package.anyway.

Stu

0 Kudos
PLiv
New Contributor II
1,713 Views

I also tested this on a Dell Vostro 2521-9566 notebook with Intel Core i3-2375M, Intel HD Graphics 3000. Driver 9.17.10.3517 and couldn't reproduce.

Made a small video with this and also attached internal application output:

0 Kudos
PLiv
New Contributor II
1,713 Views

It appears that 2nd generation Intel Core processors line is unaffected. Only 3rd and 4th seams to be.

0 Kudos
Allan_J_Intel1
Employee
1,713 Views

Thanks for the information. I am currently researching on this issue. As soon as I can, I will send you a message with my findings.

Allan.

0 Kudos
SGill5
Beginner
1,713 Views

Hi Allan, is there any findings to this yet as it has been a while? At the minimum, an acknowledgement that you agree there is an issue in the drivers (or not), and perhaps saying it has been added to the bug database to be hopefully fixed at some point, would be useful.

Thanks

StuPVS

0 Kudos
Allan_J_Intel1
Employee
1,713 Views

I am still checking on this matter. I will update this post as soon as I get anything of my findings.

Allan.

0 Kudos
ROBERT_U_Intel
Employee
1,713 Views

All,, Our debug team is working to reproduce the issue and we are seeing errors when running the crash.exe. We are seeing missing file errors and it looks like we do not have the correct symbols. We are seeing this on both VS 8 and 10. Is there any additional steps to reproduce the issue that we may be missing?

Thanks

Robert

0 Kudos
SGill5
Beginner
1,713 Views

Hi Robert, thanks for looking at this. I'm guessing you are missing MSVCR90D.DLL, this is the debug version of the Microsoft c runtime libraries. The crash.exe I uploaded was the debug version and I forgot it needed this (sorry). If you have VS 2008 installed then you would have this installed and it will work.

To save you time, I've attached the release version of the crash.exe which has the c runtime libraries built in. So this should work fine. It also needs directx 9 (d3d9.dll) but this will be included with windows 7/8 anyway.

Saying all that, running the crash.exe will probably only get you so far... I suspect to get to the bottom of this you will need to build your own version of this program, like what PAL1000 did. This is why I only provided the source code on my initial post and later provided my VS2008 solution.

If you need any more info or having problems, then let us know

Thanks

StuPVS

0 Kudos
SGill5
Beginner
1,712 Views

Hi Robert, Allan and all. I was wondering if there is any update to this as it has been a while.

I know you get a lot of questions and I sympathise with your situation, but is this issue likely to be looked at?

As my last post says, I've now updated the 'crash' program to a release build.

Anyway, It looks like an issue in your drivers as I can't repeat this crash on any other graphics card. The problem code that can cause this crash is not that complicated so it seems likely that other software programs have or will have hit the same problem.

The http://www.photovidshow.com/ Photo DVD software now has a patch to "by-pass" this issue but we still have customers email us about crashes due to this issue who have not got the update and there are also many CD versions of this software out there which will crash when used with computers with Intel HD Graphics.

btw the new drivers released on the 8th Jan - version 15.33.32.64.4061 (10.18.10.4061) does not fix this issue I'm afraid.

Thanks

StuPVS

0 Kudos
PLiv
New Contributor II
1,713 Views

The newest driver 10.18.10.4061 still exhibits this issue. A different stack trace this time:

0 Kudos
SGill5
Beginner
1,712 Views

Hi Pal1000, thanks for your findings. I also found that the new driver did not fix this issue, as mentioned at the end of my previous post. I did see, however, that it did fix an issue you spotted a while back, which is good news.

I hate to criticise Intel support here, but they're not the best at getting back to me on this one. i.e. they haven't even confirmed this is an issue.

As a developer myself and also a provider of technical support, the information we have given in this thread is priceless to any developer trying to sort out crash issues. Perhaps they're not interested, or maybe they are and it just takes time for things to happen.

Anyway I hope this thread is useful for Intel at some point. Seems only likely that other software products will hit or have hit this same issue. The example code isn't doing anything complicated or that rare.

Thanks

StuPVS

0 Kudos
ROBERT_U_Intel
Employee
1,712 Views

All,,

This issue is still under debug investigation. Please watch this thread for updates.

Thanks

Robert

0 Kudos
PLiv
New Contributor II
1,614 Views

I am sorry to bring bad news but the latest driver you linked doesn't solve this problem. I attached the whole package needed to build the solution in VS2013 Express.

Just build and run.

0 Kudos
Reply