I have a Windows MFC application that is crashing on launch on a customer's Windows Server OS. The application runs fine on our Windows 10 workstations and Windows Server 2019 test OS. I have a crash dump and loaded the debug symbols but all I get is this call stack:
MyApp.exe!abort() Line 77
at minkernel\crts\ucrt\src\appcrt\startup\abort.cpp(77)
MyApp.exe!terminate() Line 58
at minkernel\crts\ucrt\src\appcrt\misc\terminate.cpp(58)
[External Code]
The exception is Unhandled exception at 0x008EAE83 (MyApp.exe) in MyApp.exe.9156.dmp: Fatal program exit requested.
Event viewer gives an application exception error code 0xc0000409
or STATUS_STACK_BUFFER_OVERRUN
. But apparently, this can be called even though it's not actually a stack buffer overrun.
The weird thing is, if we insert AfxMessageBox()
at the start of the app - CMainFrame::OnCreate()
then it doesn’t crash and it launches fine.
There is an existing binary built using VS2008 or VS2013 with the same code that launches fine. We are unable to recreate that build from source code though.