Exception caused by madExcept

delphi package - automated exception handling
Post Reply
andi
Posts: 1
Joined: Tue Apr 09, 2019 9:23 am

Exception caused by madExcept

Post by andi »

Hello,
I got this exception from a customer, that looks like an exception in madExcept.
Hope you can find an explanation.
Andreas

Code: Select all

date/time          : 2019-04-09, 10:28:25, 660ms
operating system   : Windows 2008 Service Pack 2 build 6002
system language    : German
system up time     : 27 days 8 hours
program up time    : 2 hours 47 minutes
processors         : 2x Intel(R) Xeon(R) CPU E5-4640 0 @ 2.40GHz
physical memory    : 1366/3071 MB (free/total)
free disk space    : (N:) 57.28 GB (C:) 67.42 GB
display mode       : 3360x1050, 16 bit
process id         : $289c
allocated memory   : 542.00 MB
largest free block : 897.12 MB
compiled with      : Delphi 10.3 Rio
madExcept version  : 5.0.0
callstack crc      : $0bcb0549, $7ca4530c, $918e62ce
exception number   : 2
exception class    : EAccessViolation
exception message  : Zugriffsverletzung bei Adresse 0BCB0549. Schreiben von Adresse 00000001.

thread $29ac:
0bcb0549 +00 ???
004b8939 +0d vlm3.exe     madExcept CallThreadProcSafe
004b899e +32 vlm3.exe     madExcept ThreadExceptFrame
75f8d40f +10 kernel32.dll           BaseThreadInitThunk
>> created by thread $1204 (TIndyThread) at:
706d697c +00 shdocvw.dll

...
madshi
Site Admin
Posts: 10753
Joined: Sun Mar 21, 2004 5:25 pm

Re: Exception caused by madExcept

Post by madshi »

I know, that's what it looks like, but it's actually not. madExcept has to insert itself into every newly created thread, in order to be able to properly report crashes in secondary threads. And the items in the callstack you're seeing there are just the madExcept "try..except" frame, nothing else. So this callstack doesn't actually indicate a crash inside of madExcept at all.

Unfortunately the callstack is very short and not very helpful. It seems that shdocvw.dll has created a thread which somehow jumps to a memory page which doesn't belong to any EXE or DLL file.
Post Reply