vautieri

ATI Stream Bug

Discussion created by vautieri on Dec 25, 2010
Latest reply on Jan 3, 2011 by himanshu.gautam
cl::Platform::get(&allPlatforms); crashes with 2 cards, ATI/AMD and NVIDIA

 

 

I have no idea how for back this bug goes with AMD/ATI, but if I run in the debugger I do not crash on cl:latform::get.  I have narrowed it down to this call in cl.hpp

cl_int err = ::clGetPlatformIDs(0, NULL, &n);

I have an HD3400 ATI/AMD card and an NVIDIA 8800.  My monitor is currently connected to the NVIDIA card, having no monitor connected to the ATI/AMD card.  Please keep in mind if I run in the VS2005 debugger, the ATI/AMD dll/ does not crash with the exception below, and I only see NVIDIA listed.  My guess is AMD/ATI is expecting a monitor to be connected.

My code:

std::vector<cl:latform> allPlatforms;

std::vector<cl:latform>::iterator iter;

cl:latform targetPlatform;

cl:latform::get(&allPlatforms);

 

 

 Using DEPENDS/profile mode to see where it might be crashing:

etProcAddress(0x765C0000 [GDI32.DLL], "D3DKMTCheckOcclusion") called from "ATICFX32.DLL" at address 0x6656703A and returned 0x7661610D.

GetProcAddress(0x765C0000 [GDI32.DLL], "D3DKMTWaitForIdle") called from "ATICFX32.DLL" at address 0x66567047 and returned 0x766165ED.

GetProcAddress(0x765C0000 [GDI32.DLL], "D3DKMTCheckMonitorPowerState") called from "ATICFX32.DLL" at address 0x66567054 and returned 0x765EE7CE.

GetProcAddress(0x765C0000 [GDI32.DLL], "D3DKMTCheckExclusiveOwnership") called from "ATICFX32.DLL" at address 0x66567061 and returned 0x765EE7B0.

GetProcAddress(0x765C0000 [GDI32.DLL], "D3DKMTCheckVidPnExclusiveOwnership") called from "ATICFX32.DLL" at address 0x6656706E and returned 0x7661614D.

GetProcAddress(0x765C0000 [GDI32.DLL], "D3DKMTSetDisplayPrivateDriverFormat") called from "ATICFX32.DLL" at address 0x6656707B and returned 0x7661650D.

GetProcAddress(0x765C0000 [GDI32.DLL], "D3DKMTSharedPrimaryLockNotification") called from "ATICFX32.DLL" at address 0x66567088 and returned 0x7661658D.

GetProcAddress(0x765C0000 [GDI32.DLL], "D3DKMTSharedPrimaryUnLockNotification") called from "ATICFX32.DLL" at address 0x66567095 and returned 0x766165AD.

GetProcAddress(0x765C0000 [GDI32.DLL], "D3DKMTCreateKeyedMutex") called from "ATICFX32.DLL" at address 0x665670A2 and returned 0x7661618D.

GetProcAddress(0x765C0000 [GDI32.DLL], "D3DKMTOpenKeyedMutex") called from "ATICFX32.DLL" at address 0x665670AF and returned 0x7661638D.

GetProcAddress(0x765C0000 [GDI32.DLL], "D3DKMTDestroyKeyedMutex") called from "ATICFX32.DLL" at address 0x665670BC and returned 0x766161ED.

GetProcAddress(0x765C0000 [GDI32.DLL], "D3DKMTAcquireKeyedMutex") called from "ATICFX32.DLL" at address 0x665670C9 and returned 0x766160ED.

GetProcAddress(0x765C0000 [GDI32.DLL], "D3DKMTReleaseKeyedMutex") called from "ATICFX32.DLL" at address 0x665670D6 and returned 0x7661646D.

GetProcAddress(0x765C0000 [GDI32.DLL], "D3DKMTConfigureSharedResource") called from "ATICFX32.DLL" at address 0x665670E3 and returned 0x765EE9C8.

GetProcAddress(0x765C0000 [GDI32.DLL], "D3DKMTGetOverlayState") called from "ATICFX32.DLL" at address 0x665670F0 and returned 0x7661628D.

GetProcAddress(0x765C0000 [GDI32.DLL], "D3DKMTCheckSharedResourceAccess") called from "ATICFX32.DLL" at address 0x665670FD and returned 0x7661612D.



 

 

Second chance exception 0xC0000005 (Access Violation) occurred in "ATICFX32.DLL" at address 0x66579C8A.

 

 

 

 

 

 



Outcomes