razor950 / vld

Visual Leak Detector for Visual C++ 2008-2019
https://kinddragon.github.io/vld/
GNU Lesser General Public License v2.1
19 stars 5 forks source link

Vld exception on Windows 10 x86 #3

Open Lyidgi opened 3 years ago

Lyidgi commented 3 years ago

Hello, Thanks for your release incorporates all previous changes! but even with all updates i have an exception in vld.

I 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. I tried to manged the problem by myself by failed.

Could you help me?... May be you know where can be the problem and what exactly go wrong

This what i know from windows EventViewer:

Faulting Application Name: ApcConsole.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: \ ApcCode \ ApcConsole.exe Faulting module path: C: \ ApcCode \ 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. I know it crashed in LPVOID FindRealCode(LPVOID pCode) -> if ((WORD )pCode == 0x25ff) // JMP r/m32 pCode becomes invalid, so we get exception.

I 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...

razor950 commented 2 years ago

check if the latest version works fine