2

I need to analyze a crash dump which reports an unhandled exception triggered by the AppVerif application. Usually the Application Verifier send an exception when a problem is detected in one of the checks flagged in the UI (heap, handle and leak error /problems).

Usually when I open the crash dump in Visual Studio I see in the Output panel a meaningful message like "A heap allocation was leaked" or "Critical section not initialized". Now I only get this:

0xC0000421: Application verifier has found an error in the current process (parameters: 0x32725641, 0x00000013, 0x00000030, 0x012A9705, 0x2668F0A0, 0x2668F0F0)

And the call stack only shows _VerifierStopMessage@40 and one of my function which call EnterCriticalSection but apparently the handle of the mutex is correctly initialized.

I suppose the value 40, 0x00000013 or 0x00000030 should be error codes while the other are memory addresses. However I can't figure out what is the specific problem reported by the Application Verifier.

Is there a list of error codes for the Application Verifier ? How can I have a better understanding of the reported error ?

Bemipefe
  • 1,397
  • 4
  • 17
  • 30

1 Answers1

0

40 is name mangling of VerifierStopMessage function, discard it.

I think 0x00000013 is the actual stop code. Press F1 in Application Verifier UI and lookup 0013.

Interpret the rest according to it:

First chance access violation for current stack trace.

0x00000030 - Invalid address causing the exception

0x012A9705 - Code address executing the invalid access

0x2668F0A0 - Exception record. Context Record

0x2668F0F0 - Context record

0x30 pointer appears to be a small offset from null pointer.

Apparently you have access violation that could have happened even without Application Verifier, though with more familiar 0xC0000005 exception.

Alex Guteniev
  • 12,039
  • 2
  • 34
  • 79