Starting with -XX:+CreateMinidumpOnCrash and running into an assert will cause a zero-length .mdmp file to be created and no error message to be reported. The problem is that when we call MiniDumpWriteDump we expect there to be siginfo and context information available (there is for "real" crashes). Whwn the information is not avilable we call MiniDumpWriteDump with an incorrect MINIDUMP_EXCEPTION_INFORMATION which causes it to crash and we get a recursive crash in the crash handling code. The fix is to call MiniDumpWriteDump with a NULL MINIDUMP_EXCEPTION_INFORMATION when context is not available.
|