Details
Description
I see frequent crashes in prunsrv.exe on Windows 10.
I have the impression that the WM_CLOSE windows message is sent multiple times - and the code does not expect that, resulting in an attempt to free memory that was already freed.
Here is a stack trace from a minidump:
ntdll.dll!00007ff903af6e1e() Unknown
AcLayers.dll!00007ff87cd77a56() Unknown
prunsrv.exe!HeapFREE(void * hHeap, unsigned long dwFlags, void * lpMem) Line 71 C
prunsrv.exe!__apxPoolFreeCore(void * lpMem) Line 133 C
prunsrv.exe!apxFree(void * lpMem) Line 402 C
prunsrv.exe!__apxProcessCallback(stAPXHANDLE * hObject, unsigned int uMsg, unsigned __int64 wParam, __int64 lParam) Line 396 C
prunsrv.exe!apxCloseHandle(stAPXHANDLE * hObject) Line 498 C
prunsrv.exe!__apxPoolCallback(stAPXHANDLE * hObject, unsigned int uMsg, unsigned __int64 wParam, __int64 lParam) Line 190 C
prunsrv.exe!__apxPoolCallback(stAPXHANDLE * hObject, unsigned int uMsg, unsigned __int64 wParam, __int64 lParam) Line 184 C
prunsrv.exe!apxCloseHandle(stAPXHANDLE * hObject) Line 498 C
prunsrv.exe!apxHandleManagerDestroy(...) Line 291 C
prunsrv.exe!main(int argc, char * * argv) Line 1830 C