none
Faulting module name: ntdll.dll, version: 6.1.7601.17514, Exception code: 0xc0000374

    Question

  • Hi all, I have a faulting application that is built in .NET.  The following exception is raised:-

    Unhandled exception at 0x774d40f2 in : 0xC0000374: A heap has been corrupted.
    Call stack location
    ntdll.dll!00000000774d40f2()

    The application crashes and in the event viewer application log the following entry is found.

    Faulting module name: ntdll.dll, version: 6.1.7601.17514, time stamp: 0x4ce7c8f9

    Exception code: 0xc0000374

    Fault offset: 0x00000000000c40f2

    Faulting process id: 0xe23d4

    Faulting application start time: 0x01cc75d237cce6b8

    Faulting application path: C:\Program Files (x86)\INNOBATE Limited\INNOBATE® AntiVirus 2012 Business\1.0.0.0\INNOBATE Antivirus.exe

    Faulting module path: C:\Windows\SYSTEM32\ntdll.dll

    Report Id: a4a2d7b0-e1d5-11e0-b4fa-001d7d99d5fa

    Its just that this exception is raised from unmanaged code, and generated so far into the OS even Visual studio has a hard time giving me a report on the call stack that may help me in identifying the method with ntdll.dll that the call is made to.  Any pointers or reference documents you can guide me to will be greatly appreciated.

    Kind Regards,

    INNOBATE.

     

    Monday, September 19, 2011 4:11 AM

Answers

  • such error indicates either a CLR defect or a heap corruption, the process will be terminated immediately, it doesn't make any sense to catch this exception;

    In this case, it is a heap corruption, and we should do a live debugging or capture a dump for further investigation.

    You can use WinDbg + SOS to debug such issue. use ADPlus to capture a dump file. MDA is a useful tool to detect such error.

     

    ADPlus is shipped with Debugging Tools For Windows which available at here, you can try this command to capture a dump file:

     

    adplus -crash -o d:\dumps -pn MyApplication


    Paul Zhou [MSFT]
    MSDN Community Support | Feedback to us
    Get or Request Code Sample from Microsoft
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.

    • Marked as answer by Paul Zhou Monday, September 26, 2011 8:20 AM
    Tuesday, September 20, 2011 7:53 AM

All replies

  • If you are debugging this .NET app from within VS, you set "Enable Unmanaged Code Debugging" option to get more info on the method that generated the exception.
    --Abhimanyu
    Click the 'Vote as Helpful' arrow if this post was helpful.
    Monday, September 19, 2011 5:34 AM
  • such error indicates either a CLR defect or a heap corruption, the process will be terminated immediately, it doesn't make any sense to catch this exception;

    In this case, it is a heap corruption, and we should do a live debugging or capture a dump for further investigation.

    You can use WinDbg + SOS to debug such issue. use ADPlus to capture a dump file. MDA is a useful tool to detect such error.

     

    ADPlus is shipped with Debugging Tools For Windows which available at here, you can try this command to capture a dump file:

     

    adplus -crash -o d:\dumps -pn MyApplication


    Paul Zhou [MSFT]
    MSDN Community Support | Feedback to us
    Get or Request Code Sample from Microsoft
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.

    • Marked as answer by Paul Zhou Monday, September 26, 2011 8:20 AM
    Tuesday, September 20, 2011 7:53 AM