report is not clear enough

delphi package - automated exception handling
Post Reply
emailaya
Posts: 249
Joined: Thu Oct 13, 2005 11:33 am
Contact:

report is not clear enough

Post by emailaya »

following is the bug report i got
the error occured to me, with no apparent reason
reading the report itself didnt shed any light on the problem
can someone plz help me knowing where to start searching for the cause of it?
thanks

date/time : 2006-01-01, 14:01:11, 988ms
computer name : AMOS
user name : xxxxxxxx
operating system : Windows XP Service Pack 2 build 2600
system language : Hebrew
system up time : 5 hours 4 minutes
program up time : 5 hours 1 minute
processors : 2x Intel(R) Pentium(R) 4 CPU 3.20GHz
physical memory : 157/1007 MB (free/total)
free disk space : (C:) 35.38 GB
display mode : 1152x864, 32 bit
process id : $8f4
allocated memory : 23.82 MB
executable : eMailaya.exe
exec. date/time : 2005-12-23 17:08
madExcept version : 3.0
application version : 1.5.1
callstack crc : $a7654a6e, $dd21961f, $06ef1b11
contact name : bv
contact email : amos@emailaya.co.il
exception class : EAccessViolation
exception message : Access violation at address 004A4998 in module 'eMailaya.exe'. Read of address 00007469.

main thread ($928):
004a4998 +014 eMailaya.exe ComCtrls 13165 +2 TListItems.GetItem
004a90a5 +0e1 eMailaya.exe ComCtrls 15188 +19 TCustomListView.GetNextItem
004a8e66 +016 eMailaya.exe ComCtrls 15109 +1 TCustomListView.GetSelected
0046cecd +101 eMailaya.exe Classes 9339 +22 CheckSynchronize
004eb627 +6df eMailaya.exe Forms 6671 +144 TApplication.WndProc
0046ed9c +014 eMailaya.exe Classes 10966 +8 StdWndProc
004ebd7c +0ac eMailaya.exe Forms 6873 +13 TApplication.ProcessMessage
004ebdc3 +00f eMailaya.exe Forms 6892 +1 TApplication.HandleMessage
004ec05e +0a6 eMailaya.exe Forms 6976 +16 TApplication.Run
0062923b +28b eMailaya.exe eMailaya 72 +30 initialization

thread $9e4:
7c90eb94 ntdll.dll KiFastSystemCallRet
>> created by main thread ($928) at:
771d9260 wininet.dll

thread $988:
7c90eb94 ntdll.dll KiFastSystemCallRet

thread $6d0 (TShellChangeThread):
7c90eb94 +00 ntdll.dll KiFastSystemCallRet
0046d37b +cb eMailaya.exe Classes 9583 +24 TThread.Synchronize
0046d42a +32 eMailaya.exe Classes 9608 +4 TThread.Synchronize
0046cfa6 +36 eMailaya.exe Classes 9372 +7 ThreadProc
004051e4 +28 eMailaya.exe System 11554 +33 ThreadWrapper
>> created by main thread ($928) at:
0057286c +48 eMailaya.exe ShellCtrls TShellChangeThread.Create

thread $1c0 (TShellChangeThread):
7c90eb94 +00 ntdll.dll KiFastSystemCallRet
0046d37b +cb eMailaya.exe Classes 9583 +24 TThread.Synchronize
0046d42a +32 eMailaya.exe Classes 9608 +4 TThread.Synchronize
0046cfa6 +36 eMailaya.exe Classes 9372 +7 ThreadProc
004051e4 +28 eMailaya.exe System 11554 +33 ThreadWrapper
>> created by main thread ($928) at:
0057286c +48 eMailaya.exe ShellCtrls TShellChangeThread.Create

thread $ae4 (TShellChangeThread):
7c90eb94 +00 ntdll.dll KiFastSystemCallRet
0046d37b +cb eMailaya.exe Classes 9583 +24 TThread.Synchronize
0046d42a +32 eMailaya.exe Classes 9608 +4 TThread.Synchronize
0046cfa6 +36 eMailaya.exe Classes 9372 +7 ThreadProc
004051e4 +28 eMailaya.exe System 11554 +33 ThreadWrapper
>> created by main thread ($928) at:
0057286c +48 eMailaya.exe ShellCtrls TShellChangeThread.Create

thread $adc (TShellChangeThread):
7c90eb94 +00 ntdll.dll KiFastSystemCallRet
0046d37b +cb eMailaya.exe Classes 9583 +24 TThread.Synchronize
0046d42a +32 eMailaya.exe Classes 9608 +4 TThread.Synchronize
0046cfa6 +36 eMailaya.exe Classes 9372 +7 ThreadProc
004051e4 +28 eMailaya.exe System 11554 +33 ThreadWrapper
>> created by main thread ($928) at:
0057286c +48 eMailaya.exe ShellCtrls TShellChangeThread.Create

thread $48c: <priority:15>
7c90eb94 ntdll.dll KiFastSystemCallRet
>> created by main thread ($928) at:
72d2328c wdmaud.drv

thread $d88 (TShellChangeThread):
7c90eb94 +00 ntdll.dll KiFastSystemCallRet
0046d37b +cb eMailaya.exe Classes 9583 +24 TThread.Synchronize
0046d42a +32 eMailaya.exe Classes 9608 +4 TThread.Synchronize
0046cfa6 +36 eMailaya.exe Classes 9372 +7 ThreadProc
004051e4 +28 eMailaya.exe System 11554 +33 ThreadWrapper
>> created by main thread ($928) at:
0057286c +48 eMailaya.exe ShellCtrls TShellChangeThread.Create

thread $b34 (TShellChangeThread):
7c90eb94 +00 ntdll.dll KiFastSystemCallRet
0046d37b +cb eMailaya.exe Classes 9583 +24 TThread.Synchronize
0046d42a +32 eMailaya.exe Classes 9608 +4 TThread.Synchronize
0046cfa6 +36 eMailaya.exe Classes 9372 +7 ThreadProc
004051e4 +28 eMailaya.exe System 11554 +33 ThreadWrapper
>> created by main thread ($928) at:
0057286c +48 eMailaya.exe ShellCtrls TShellChangeThread.Create

thread $f80:
7c90eb94 ntdll.dll KiFastSystemCallRet

thread $d8c: <priority:2>
7c90eb94 ntdll.dll KiFastSystemCallRet
>> created by main thread ($928) at:
76b45f4c WINMM.dll

thread $ba4:
7c90eb94 ntdll.dll KiFastSystemCallRet

thread $f7c:
7c90eb94 ntdll.dll KiFastSystemCallRet

thread $868:
7c90eb94 ntdll.dll KiFastSystemCallRet
>> created by thread $ba4 at:
769c8951 USERENV.dll

thread $ad0:
7c90eb94 ntdll.dll KiFastSystemCallRet
>> created by thread $a4c at:
77e8760d RPCRT4.dll

thread $a64:
7c90eb94 ntdll.dll KiFastSystemCallRet
>> created by thread $ad0 at:
77e8760d RPCRT4.dll

thread $9cc: <priority:1>
7c90eb94 ntdll.dll KiFastSystemCallRet
>> created by thread $ba4 at:
71a5dbb3 mswsock.dll

thread $73c:
7c90eb94 ntdll.dll KiFastSystemCallRet
>> created by main thread ($928) at:
7d5773ea mshtml.dll
madshi
Site Admin
Posts: 10764
Joined: Sun Mar 21, 2004 5:25 pm

Post by madshi »

Look at these 2 threads:

Code: Select all

main thread ($928):
004a4998 +014 eMailaya.exe ComCtrls 13165 +2 TListItems.GetItem
004a90a5 +0e1 eMailaya.exe ComCtrls 15188 +19 TCustomListView.GetNextItem
004a8e66 +016 eMailaya.exe ComCtrls 15109 +1 TCustomListView.GetSelected
0046cecd +101 eMailaya.exe Classes 9339 +22 CheckSynchronize

thread $6d0 (TShellChangeThread):
7c90eb94 +00 ntdll.dll KiFastSystemCallRet
0046d37b +cb eMailaya.exe Classes 9583 +24 TThread.Synchronize
0046d42a +32 eMailaya.exe Classes 9608 +4 TThread.Synchronize
0046cfa6 +36 eMailaya.exe Classes 9372 +7 ThreadProc
004051e4 +28 eMailaya.exe System 11554 +33 ThreadWrapper
>> created by main thread ($928) at:
0057286c +48 eMailaya.exe ShellCtrls TShellChangeThread.Create 
As you can see, the "TShellChangeThread" thread created internally by ShellCtrl.pas called "TThread.Synchronize", which moves execution of a specific method to the context of the main thread.

Then in the main thread you can see that the synchronization request arrived and that Delphi tried to do as requested. However, while doing so, an exception occurred inside of the to-be-synchronized method.

It's hard for me to say what the reason for this problem is, but I'd guess it's a timing problem. Maybe the shell control was already freed while the synchronization request waited for execution. But I'm only guessing here. madExcept can only record the callstacks, it can not magically explain why the program crashed at that location, unfortunately.
emailaya
Posts: 249
Joined: Thu Oct 13, 2005 11:33 am
Contact:

Post by emailaya »

"madExcept can only record the callstacks, it can not magically explain why the program crashed at that location, unfortunately."

so take it as a new suggestion :)
im kidding
thanks for your explanation
im using shellctrls of delphi (components that comes with it)
its very buggy i already know it
i wish i had a free alternative for those components

thanks again
thany
Posts: 9
Joined: Mon Jan 02, 2006 3:18 pm
Location: The Netherlands
Contact:

Post by thany »

VirtualTrees in combination with VirtualShellControls is a good and free alternative. Heavy-weighted, but very good and powerful. And did I mention it's free? :)
emailaya
Posts: 249
Joined: Thu Oct 13, 2005 11:33 am
Contact:

Post by emailaya »

i know it
it is much more complicated than what i need
i already found a freeware, ls components
Post Reply