Sign in to follow this  

D3DXMatrixLookAtLH exception after windows 7 update

This topic is 1856 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Dear all,

we have a 3D software component written by using SlimDX January 2012 .NET4. It's a DirectX 9.0c app.

One of our users have now reported a problem after windows update. It's a Win 7 machine. The software was working correctly but after Windows update that was run about 2 weeks ago, the following exception is thrown:
System.Runtime.InteropServices.SEHException (0x80004005): External component has thrown an exception.
at D3DXMatrixLookAtLH(D3DXMATRIX* , D3DXVECTOR3* , D3DXVECTOR3* , D3DXVECTOR3* )
at SlimDX.Matrix.LookAtLH(Vector3 eye, Vector3 target, Vector3 up)

The windows updates were uninstalled but it didn't fix the problem. SlimDx runtime for x86 and x64 were both removed and reinstalled. It didn't fix anything.

Newest GPU drivers were also updated for AMD FireGL V7900.

I think you are going to propose reinstalling Windows, but we certainly want to avoid that!

Any clue, anybody? I'm clueless :-(

Share this post


Link to post
Share on other sites
Hi Mike,

thanks for the tip. I already asked for d3*.dll listing from windows folder and it's subfolders... customer hasn't yet replied.

I believe it's D3DX9_43.dll, dated May 26, 2010 is the correct one that is compatible with SlimDX January 2012?

Share this post


Link to post
Share on other sites
Hi Mike,

I just got the listing from the user. M$ seems to have updated d3dx9_43.dll, it's dated 30th November 2012! A week ago. I assume it is not anymore compatible with SlimDX January 2012?
I'm sure we'll get a lot angry users soon... when they update their windows.

Do you have any suggestions, Mike?

Share this post


Link to post
Share on other sites
Received all D3D*.DLLs from customer's PC, from both c:\windows\System32 and c:\windows\SysWOW64 folders today.

System32-folder is the place where 64-bit DirectX DLLs exist in 64-bit machine. But that's not the case regarding D3DX9_43.DLL in this specific system. By using Visual Studio's command prompt,
dumpbin /headers c:\windows\System32\d3dx9_43.dll it revealed it is 32-bit (x86 in file file header section). All other D3D DLLs are 64-bit (x64). Found also a file named "D3DX9_43.old", which in fact is the correct 64-bit DLL.

It is still a big mystery which software has explicitly tried to update the DLL into wrong folder, and also time stamped it to 30th November 2012.

Share this post


Link to post
Share on other sites
This is wrong - every machine I've ever seen does not update D3DX DLLs in this manner, and the latest version of d3dx9_43.dll I've seen is 26/05/2010 - fairly consistent with the last DX SDK. This would be expected as historically D3DX was updated with a new SDK release.

It's more likely that this is absolutely nothing to do with Microsoft and everything to do with the end-user randomly downloading and copy/pasting DLLs around, and thereby creating a mess.

Share this post


Link to post
Share on other sites
mhagain, that's wrong, yes. No software should mess up with the DirectX DLLs directly. Our software certainly doesn't. I'm just telling that some (yet unidentified) software is messing up the DLL. And that causes our software to not work.

Share this post


Link to post
Share on other sites
Sign in to follow this