oneiric / vld

Visual Leak Detector for Visual C++ 2019
GNU Lesser General Public License v2.1
112 stars 35 forks source link

VLD crashed application on Windows 10 x86 #8

Open Lyidgi opened 3 years ago

Lyidgi commented 3 years ago

Hello, We have the application that launch many (~30) times with different params from one script. Application do its job in notime, so lauching happend rigth one after another, consequentially

Crash happend randomly and only on x86 version. We tried to manged the problem by ourselves by failed.

Could you us... May be you know where can be the problem and what exactly go wrong

This what we know from windows EventViewer:

Faulting Application Name: ApcGenConsole.exe, Version: 8.3.49620.0, Timestamp: 0x60006858 Faulting module name: vld_x86.dll, version: 2.6.0.0, timestamp: 0x600062b1 Exception code: 0xc0000005 Error offset: 0x00047ab6 Faulting Process ID: 0x8d08 Faulting application start time: 0x01d6ea8da2ffe75f Faulting Application Path: C: \ ApcCodeGen \ ApcGenConsole.exe Faulting module path: C: \ ApcCodeGen \ vld_x86.dll Report ID: 47305d04-1a8d-4450-8716-7964682b12b9 Bad package full name: Application code associated with the failing package:

So it crash without any stack or debug information and we can't debug by any tools. We know it crashed in LPVOID FindRealCode(LPVOID pCode) -> if ((WORD )pCode == 0x25ff) // JMP r/m32 pCode becomes invalid, so we get exception.

we tried to fix it by additional checks:

utility.cpp if ((idte == NULL) || (idte->OriginalFirstThunk == 0)) {

utility.cpp for (; origThunk->u1.Function != NULL && thunk->u1.Function != NULL; origThunk++, thunk++)

But all this have no use...