Reputation: 12183
Recently my Logging Form started producing Access Violations, when I close it on the Close button.
Using madExcept, I could not find anything usefull (to me) in the Call Stack, or anything actually.
Here is my log:
date/time : 2011-06-19, 16:26:06, 851ms
computer name : JEFF-PC
user name : Jeff <admin>
registered owner : Microsoft / Microsoft
operating system : Windows 7 x64 Service Pack 1 build 7601
system language : Danish
system up time : 4 hours 27 minutes
program up time : 13 seconds
processors : 8x Intel(R) Core(TM) i7 CPU 920 @ 2.67GHz
physical memory : 2852/6142 MB (free/total)
free disk space : (C:) 321,83 GB
display mode : 1920x1080, 32 bit
process id : $1e70
allocated memory : 77,05 MB
executable : xSky.exe
exec. date/time : 2011-06-19 16:25
version : 1.4.25.1168
compiled with : Delphi 2010
madExcept version : 3.0l
contact name : Jeff Hansen
contact email : [email protected]
callstack crc : $85c8cb0e, $11baad03, $46cd9070
exception number : 1
exception class : EAccessViolation
exception message : Access violation at address 0052A237 in module 'xSky.exe'. Read of address 00000258.
main thread ($7b0):
0052a237 +0003 xSky.exe Controls 11847 +1 TWinControl.HandleNeeded
0052a25d +0005 xSky.exe Controls 11856 +1 TWinControl.GetHandle
006742c5 +6735 xSky.exe sSkinProvider TsSkinProvider.NewWndProc
00526b2c +002c xSky.exe Controls 9540 +3 TWinControl.MainWndProc
004a3b28 +0014 xSky.exe Classes 13014 +8 StdWndProc
770c0117 +002b ntdll.dll KiUserCallbackDispatcher
76950d48 +0016 USER32.dll CallWindowProcW
0052758c +00d8 xSky.exe Controls 9860 +30 TWinControl.DefaultHandler
0054be0a +005a xSky.exe Forms 5223 +11 TCustomForm.DefaultHandler
00529177 +00a3 xSky.exe Controls 11042 +20 TWinControl.WMSysCommand
0054cedd +0055 xSky.exe Forms 5832 +14 TCustomForm.WMSysCommand
00522bc8 +02d4 xSky.exe Controls 7062 +91 TControl.WndProc
0052748c +0568 xSky.exe Controls 9819 +144 TWinControl.WndProc
00549b98 +0594 xSky.exe Forms 3960 +191 TCustomForm.WndProc
00673672 +5ae2 xSky.exe sSkinProvider TsSkinProvider.NewWndProc
00526b2c +002c xSky.exe Controls 9540 +3 TWinControl.MainWndProc
004a3b28 +0014 xSky.exe Classes 13014 +8 StdWndProc
769496c0 +0047 USER32.dll SendMessageW
006712ed +375d xSky.exe sSkinProvider TsSkinProvider.NewWndProc
00526b2c +002c xSky.exe Controls 9540 +3 TWinControl.MainWndProc
004a3b28 +0014 xSky.exe Classes 13014 +8 StdWndProc
769496c0 +0047 USER32.dll SendMessageW
0067f857 +073f xSky.exe sSkinProvider TacBorderForm.BorderProc
00526b2c +002c xSky.exe Controls 9540 +3 TWinControl.MainWndProc
004a3b28 +0014 xSky.exe Classes 13014 +8 StdWndProc
76947885 +000a USER32.dll DispatchMessageW
00552d55 +011d xSky.exe Forms 9784 +30 TApplication.ProcessMessage
00552d9a +000a xSky.exe Forms 9814 +1 TApplication.HandleMessage
005530c5 +00c9 xSky.exe Forms 9951 +26 TApplication.Run
007e493b +008f xSky.exe xSky 54 +10 initialization
750f33c8 +0010 kernel32.dll BaseThreadInitThunk
thread $b8c:
770d1f2f +0b ntdll.dll NtWaitForWorkViaWorkerFactory
750f33c8 +10 kernel32.dll BaseThreadInitThunk
thread $129c:
770d1f2f +0b ntdll.dll NtWaitForWorkViaWorkerFactory
750f33c8 +10 kernel32.dll BaseThreadInitThunk
thread $1748:
770d1f2f +0b ntdll.dll NtWaitForWorkViaWorkerFactory
750f33c8 +10 kernel32.dll BaseThreadInitThunk
thread $1ac8:
770d0146 +0e ntdll.dll NtWaitForMultipleObjects
750f33c8 +10 kernel32.dll BaseThreadInitThunk
thread $a88 (TWorkerThread):
770cf8ba +0e ntdll.dll NtWaitForSingleObject
74f20810 +92 KERNELBASE.dll WaitForSingleObjectEx
750f118f +3e kernel32.dll WaitForSingleObjectEx
750f1143 +0d kernel32.dll WaitForSingleObject
006d0129 +19 xSky.exe VirtualTrees TWorkerThread.Execute
004666af +2b xSky.exe madExcept HookedTThreadExecute
004a1656 +42 xSky.exe Classes 11018 +8 ThreadProc
00406cf0 +28 xSky.exe System 13579 +33 ThreadWrapper
00466591 +0d xSky.exe madExcept CallThreadProcSafe
004665fb +37 xSky.exe madExcept ThreadExceptFrame
750f33c8 +10 kernel32.dll BaseThreadInitThunk
>> created by main thread ($7b0) at:
006d006e +16 xSky.exe VirtualTrees TWorkerThread.Create
thread $1fb0:
76947908 +26 USER32.dll GetMessageW
750f33c8 +10 kernel32.dll BaseThreadInitThunk
thread $1fc8:
770d1f2f +0b ntdll.dll NtWaitForWorkViaWorkerFactory
750f33c8 +10 kernel32.dll BaseThreadInitThunk
thread $15dc (TacTimerThread):
770d0146 +0e ntdll.dll NtWaitForMultipleObjects
74f2095c +fa KERNELBASE.dll WaitForMultipleObjectsEx
750f1a27 +89 kernel32.dll WaitForMultipleObjectsEx
004a4e06 +56 xSky.exe SyncObjs 339 +14 THandleObject.WaitFor
005f54b0 +0c xSky.exe acThdTimer 6852 +0 TacTimerThread.Execute
004a1656 +42 xSky.exe Classes 11018 +8 ThreadProc
00406cf0 +28 xSky.exe System 13579 +33 ThreadWrapper
00466591 +0d xSky.exe madExcept CallThreadProcSafe
004665fb +37 xSky.exe madExcept ThreadExceptFrame
750f33c8 +10 kernel32.dll BaseThreadInitThunk
>> created by main thread ($7b0) at:
005f55a1 +0d xSky.exe acThdTimer 6852 +0 TacThreadedTimer.StartTimer
The only change I did to my project, before this started happening, was that I added a form to my Project, and later removed it again. All traces of it has been removed, however my Log form still pukes AV's.
The Logging Form is an Auto-Create form. All I do to show it, is frmLog.Show;
Its probably something really stupid, as always, but I just cant figure it out.
I am not doing anything in any of the Form Close events.
EDIT: When doubleclicking the top Call Stack item in Mad, it took me to unit Controls, and the line if WindowHandle = 0 then in procedure TWinControl.HandleNeeded;
Upvotes: 2
Views: 3155
Reputation: 15817
Turn off your skins and see if it still blows up. That's probably not the root cause, but having the skin stuff in the call stack may be obscuring the real problem.
Upvotes: 3