Problem
This application requested Runtime to complete it in an unusual way.
If you ever received this error when starting a Windows application, it is most likely because the abort() procedure was called somewhere in your python library and even possibly from your python runtime. For more information and abort call behavior, refer to the MSDN documentation for aborting
Demo
You will need
Create a C DLL that calls abort() , and then call that DLL using ctypes
abort_dll.h header abort_dll.h
#include<cstdlib> #include <windows.h> extern "C" __declspec(dllexport) void call_abort(void);
Source abort_dll.cpp
#include "abort_dll.h" __declspec(dllexport) void call_abort(void) { abort(); }
Source dllmain.cpp
#include "abort_dll.h" BOOL APIENTRY DllMain( HMODULE hModule, DWORD ul_reason_for_call, LPVOID lpReserved ) { switch (ul_reason_for_call) { case DLL_PROCESS_ATTACH: case DLL_THREAD_ATTACH: case DLL_THREAD_DETACH: case DLL_PROCESS_DETACH: break; } return TRUE; }
Now compile and create your DLL (in both Debug and Release Version).
Assuming my dll files are present in the following location
Debug version: C: \ TEMP \ Debug \ abort_dll.dll Release version: C: \ TEMP \ Release \ abort_dll.dll
Run the following code in your IDLE
from ctypes import * hDLL = WinDLL(r"C:\TEMP\Debug\abort_dll.dll") hDLL.call_abort()
You will definitely see the following popup

The only difference in your case is that it gives you the notorious option [Abort | Retry \ Ignore]. It was only because I used the Debug version of my DLL. Instead, if I were to use the release version, I would usually see

Decision
On Windows AFAIK, you cannot handle SIGABRT with a signal handler. So, the only bet is to use JIT, which I suppose you have already installed. then you will see the following popup.

If you select Debug, this will open the installed JIT debugger. After that, you can discard the failed stack and identify the failed module. After that, you can map what could be a python module that could call the module.