AnsweredAssumed Answered

CodeAnalyst access violation

Question asked by mhi on Dec 5, 2012

I'm trying to use CodeAnalyst timer-based analysis on a substantial Windows application written mainly in C++. If I turn off CSS (call stack sampling), it works fine and I have already started to improve my application's performance. I'd like to use CSS, but when I turn it on, even with the stack depth reduced to 2, CodeAnalyst crashes trying to analyse the data when the sampling session ends. If I use CodeAnalyst within Visual Studio, it crashes Visual Studio. Here are some of the details. Let me know what I can do to help identify (even fix) the problem.

 

Using Visual Studio 2010, CodeAnalyst 3.8.1203.1066, Windows Vista 64-bit, with a 64-bit application to test.

 

Unhandled exception at 0x000007feeef18bc1 (CAK86Disasm.dll) in CodeAnalyst.exe: 0xC0000005: Access violation reading location 0x0000000004840000.

 

>    CAK86Disasm.dll!CDisassembler::GetPrefixBytesString()  + 0x31 bytes   

     [Frames below may be incorrect and/or missing, no symbols loaded for CAK86Disasm.dll]   

     CAK86Disasm.dll!CDisassembler::Disassemble()  + 0x31 bytes   

     CAK86Disasm.dll!CDisassembler::Disassemble()  + 0x20 bytes   

     CAK86Disasm.dll!CK86Disasm::UIDisassemble()  + 0x7e bytes   

     ModAnalyzer.dll!CModAnalyzer::CallSiteAnalysis()  + 0x1bf bytes   

     CADataTranslation.dll!CDataTranslator::processCSSData()  + 0x573 bytes   

     CADataTranslation.dll!CDataTranslator::ThreadtranslateDataPrdFile()  + 0x48a bytes   

     CADataTranslation.dll!CDataTranslator::ThreadtranslateDataPrdFile()  + 0x1106 bytes   

     CACommon.dll!CThreadPool::threadExecute()  + 0x5b bytes   

     kernel32.dll!BaseThreadInitThunk()  + 0xd bytes   

     ntdll.dll!RtlUserThreadStart()  + 0x21 bytes

 

000007FEEEF18BBD  cmp     ebx,eax
000007FEEEF18BBF  jae     CDisassembler::GetPrefixBytesString+55h (7FEEEF18BE5h)
000007FEEEF18BC1  cmp     byte ptr [rsi],0F0h  *** Exception address here ***
000007FEEEF18BC4  jne     CDisassembler::GetPrefixBytesString+3Fh (7FEEEF18BCFh)
000007FEEEF18BC6  test    dword ptr [rdi+24h],8000h

 

The exception seems repeatable, but I'm afraid the application is large and closed-source, so I can't copy it here.

 

Advice to avoid the problem? Or where should I send more information, who should I contact?

 

Added: system information box reads...

 

Vendor: AMD, Family: AMD Athlon™ 64 Processor

Family 15 Model 15 Stepping 2

Approximate core frequency is 2000 MHz

Onboard local APIC detected.

2 Processors Installed

 

Computer Name: *Redacted*

Windows Vista Version 6.0 Build 6002

Service Pack 2

 

Memory:

Percentage of Memory is in use: 56

Total physical memory: 6027512 KB

Free physical memory: 2603788 KB

Total size of paging file : 12264928 KB

Free size of paging file: 7496812 KB

Total virtual memory: 8589934464 KB

Free virtual memory: 8589602280 KB

 

Screen display: 1920 X 1080 pixels

Outcomes