Jeff
Jeff

Reputation: 12183

Closing form produces Access Violation at 00000258

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

Answers (1)

Chris Thornton
Chris Thornton

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

Related Questions