VTune crashes when profiling a call graph activity

VTune crashes when profiling a call graph activity

VTune libraries crash at this location:

XERNEL32.DLL!0037100b() 	
[Frames below may be incorrect and/or missing, no symbols loaded for XERNEL32.DLL]
ntdll.dll!_LdrpCallInitRoutine@16() + 0x14 bytes
ntdll.dll!_LdrpRunInitializeRoutines@4() + 0x1c3 bytes
ntdll.dll!_LdrpLoadDll@24() + 0x581 bytes
ntdll.dll!_LdrLoadDll@16() + 0x102 bytes
kernel32.dll!_LoadLibraryExW@12() + 0xe7 bytes
kernel32.dll!_LoadLibraryW@4() + 0x11 bytes
test.exe!main(int argc=1, char * * argv=0x00356358) Line 152 C++

The faulty code fragment:

00371000 68 FC 80 37 00    push        3780FCh 
00371005 FF 15 D0 DE 37 00 call dword ptr ds:[37DED0h]
0037100B E9 1A 21 E8 67 jmp 681f312a 00371010 68 08 81 37 00 push 378108h 00371015 FF 15 C8 DE 37 00 call dword ptr ds:[37DEC8h] 0037101B FF 25 D8 DE 37 00 jmp dword ptr ds:[37DED8h] 00371021 68 08 81 37 00 push 378108h 00371026 FF 15 CC DE 37 00 call dword ptr ds:[37DECCh]

The address point to uncommitted memory. The function call right above the red line goes into cgraphinst.dll!10d03ab1 and successfully completes. Looking at the instructions around it, it seems that the red line is a botched jump that is supposed to go to kernel32.dll (all jumps below do), which either doesn't match my kernel32.dll exports or the call before it didn't set it up correctly.

As you can see from the initial stack trace, this code is the startup code for XERNEL32.DLL. Before dying this way, these DLLs are successfully initialized, in this order:

RTEnvSupport.dll!152576c0() 
cgbe.dll!109f50b0()
COMTrace.dll!11001105()
cgraphinst.dll!10d026a2()
cgraphinst.dll!10d026a2()

Environment:

Intel VTune Performance Analyzer 9.0 Build:623

32-bit Windows 2003 Server Standard, SP2 running inside VMWare.

Any help will be greatly appreciated.

Andre

1 post / novo 0
Para obter mais informações sobre otimizações de compiladores, consulte Aviso sobre otimizações.