Identify socket error in report

delphi package - automated exception handling
Post Reply
wandersonpaiva
Posts: 1
Joined: Tue Jul 25, 2023 12:53 pm

Identify socket error in report

Post by wandersonpaiva »

I have a socket application compiled with delphi berlin that daily aborts and stops working.
So I'm using madExcept to catch possible bugs.
It generated me a report but I couldn't understand at what point the exception is being generated.
I'll attach the report here and if anyone can help me identify the source I'd be grateful.

Code: Select all

date/time          : 2023-07-25, 07:47:36, 713ms
computer name      : CLIENTE-USUA04
wts client name    : DW-USUARIO
user name          : softwarehouse.user <admin>
registered owner   : Oracle Public Cloud / Oracle.com
operating system   : Windows 2012 R2 x64 build 9600
system language    : Portuguese
system up time     : 6 hours 46 minutes
program up time    : 6 hours 38 minutes
processors         : 4x AMD EPYC 7J13 64-Core Processor
physical memory    : 17518/20474 MB (free/total)
free disk space    : (C:) 159,55 GB
display mode       : 1920x1080, 32 bit
process id         : $129c
allocated memory   : 37,23 MB
largest free block : 1,60 GB
executable         : VsScktSrvr.exe
exec. date/time    : 2023-07-24 18:45
version            : 1.2023.7.24
compiled with      : Delphi 10.1 Berlin
madExcept version  : 5.1.2
callstack crc      : $00000000, $0357d6b2, $6bd21693
exception number   : 1
exception class    : EAccessViolation
exception message  : Access violation at address 00000000 in module 'VsScktSrvr.exe'. Execution of address 00000000.

main thread ($12a0):
00000000 +000 ???
0053a6b0 +014 VsScktSrvr.exe System.Classes         StdWndProc
7581a86b +00b user32.dll                            DispatchMessageW
0067ded3 +0f3 VsScktSrvr.exe Vcl.Forms              TApplication.ProcessMessage
0067df16 +00a VsScktSrvr.exe Vcl.Forms              TApplication.HandleMessage
0067e249 +0c9 VsScktSrvr.exe Vcl.Forms              TApplication.Run
0070444f +143 VsScktSrvr.exe VsScktSrvr     106 +24 initialization
75eb6a12 +022 KERNEL32.DLL                          BaseThreadInitThunk

thread $12a8 (TServerAcceptThread):
756cdd07 +97 WS2_32.dll                               WSAAccept
756cde92 +12 WS2_32.dll                               accept
006e4e21 +79 VsScktSrvr.exe System.Win.ScktComp       TServerWinSocket.Accept
006e5454 +10 VsScktSrvr.exe System.Win.ScktComp       TServerAcceptThread.Execute
004a904b +2b VsScktSrvr.exe madExcept                 HookedTThreadExecute
00536bd1 +49 VsScktSrvr.exe System.Classes            ThreadProc
0040a558 +28 VsScktSrvr.exe System              50 +0 ThreadWrapper
004a8f31 +0d VsScktSrvr.exe madExcept                 CallThreadProcSafe
004a8f96 +32 VsScktSrvr.exe madExcept                 ThreadExceptFrame
75eb6a12 +22 KERNEL32.DLL                             BaseThreadInitThunk
>> created by main thread ($12a0) at:
006e541f +1f VsScktSrvr.exe System.Win.ScktComp       TServerAcceptThread.Create

thread $12e8 (TSocketDispatcherThread): <priority:1>
75c7285d +000 KERNELBASE.dll                             WaitForMultipleObjectsEx
7581dbcd +15d user32.dll                                 MsgWaitForMultipleObjectsEx
7581e4ea +01a user32.dll                                 MsgWaitForMultipleObjects
006f723e +166 VsScktSrvr.exe uMain               299 +21 TSocketDispatcherThread.ClientExecute
006e56d9 +049 VsScktSrvr.exe System.Win.ScktComp         TServerClientThread.Execute
004a904b +02b VsScktSrvr.exe madExcept                   HookedTThreadExecute
00536bd1 +049 VsScktSrvr.exe System.Classes              ThreadProc
0040a558 +028 VsScktSrvr.exe System               50  +0 ThreadWrapper
004a8f31 +00d VsScktSrvr.exe madExcept                   CallThreadProcSafe
004a8f96 +032 VsScktSrvr.exe madExcept                   ThreadExceptFrame
75eb6a12 +022 KERNEL32.DLL                               BaseThreadInitThunk
>> created by thread $12a8 (TServerAcceptThread) at:
006e5499 +039 VsScktSrvr.exe System.Win.ScktComp         TServerClientThread.Create

thread $a84 (TSocketDispatcherThread): <priority:1>
75c7285d +000 KERNELBASE.dll                             WaitForMultipleObjectsEx
7581dbcd +15d user32.dll                                 MsgWaitForMultipleObjectsEx
7581e4ea +01a user32.dll                                 MsgWaitForMultipleObjects
006f723e +166 VsScktSrvr.exe uMain               299 +21 TSocketDispatcherThread.ClientExecute
006e56d9 +049 VsScktSrvr.exe System.Win.ScktComp         TServerClientThread.Execute
004a904b +02b VsScktSrvr.exe madExcept                   HookedTThreadExecute
00536bd1 +049 VsScktSrvr.exe System.Classes              ThreadProc
0040a558 +028 VsScktSrvr.exe System               50  +0 ThreadWrapper
004a8f31 +00d VsScktSrvr.exe madExcept                   CallThreadProcSafe
004a8f96 +032 VsScktSrvr.exe madExcept                   ThreadExceptFrame
75eb6a12 +022 KERNEL32.DLL                               BaseThreadInitThunk
>> created by thread $12a8 (TServerAcceptThread) at:
006e5499 +039 VsScktSrvr.exe System.Win.ScktComp         TServerClientThread.Create

thread $d28 (TSocketDispatcherThread): <priority:1>
75c7285d +000 KERNELBASE.dll                             WaitForMultipleObjectsEx
7581dbcd +15d user32.dll                                 MsgWaitForMultipleObjectsEx
7581e4ea +01a user32.dll                                 MsgWaitForMultipleObjects
006f723e +166 VsScktSrvr.exe uMain               299 +21 TSocketDispatcherThread.ClientExecute
006e56d9 +049 VsScktSrvr.exe System.Win.ScktComp         TServerClientThread.Execute
004a904b +02b VsScktSrvr.exe madExcept                   HookedTThreadExecute
00536bd1 +049 VsScktSrvr.exe System.Classes              ThreadProc
0040a558 +028 VsScktSrvr.exe System               50  +0 ThreadWrapper
004a8f31 +00d VsScktSrvr.exe madExcept                   CallThreadProcSafe
004a8f96 +032 VsScktSrvr.exe madExcept                   ThreadExceptFrame
75eb6a12 +022 KERNEL32.DLL                               BaseThreadInitThunk
>> created by thread $12a8 (TServerAcceptThread) at:
006e5499 +039 VsScktSrvr.exe System.Win.ScktComp         TServerClientThread.Create

thread $e84 (TSocketDispatcherThread): <priority:1>
75c7285d +000 KERNELBASE.dll                             WaitForMultipleObjectsEx
7581dbcd +15d user32.dll                                 MsgWaitForMultipleObjectsEx
7581e4ea +01a user32.dll                                 MsgWaitForMultipleObjects
006f723e +166 VsScktSrvr.exe uMain               299 +21 TSocketDispatcherThread.ClientExecute
006e56d9 +049 VsScktSrvr.exe System.Win.ScktComp         TServerClientThread.Execute
004a904b +02b VsScktSrvr.exe madExcept                   HookedTThreadExecute
00536bd1 +049 VsScktSrvr.exe System.Classes              ThreadProc
0040a558 +028 VsScktSrvr.exe System               50  +0 ThreadWrapper
004a8f31 +00d VsScktSrvr.exe madExcept                   CallThreadProcSafe
004a8f96 +032 VsScktSrvr.exe madExcept                   ThreadExceptFrame
75eb6a12 +022 KERNEL32.DLL                               BaseThreadInitThunk
>> created by thread $12a8 (TServerAcceptThread) at:
006e5499 +039 VsScktSrvr.exe System.Win.ScktComp         TServerClientThread.Create

thread $11d8 (TSocketDispatcherThread): <priority:1>
75c7285d +000 KERNELBASE.dll                             WaitForMultipleObjectsEx
7581dbcd +15d user32.dll                                 MsgWaitForMultipleObjectsEx
7581e4ea +01a user32.dll                                 MsgWaitForMultipleObjects
006f723e +166 VsScktSrvr.exe uMain               299 +21 TSocketDispatcherThread.ClientExecute
006e56d9 +049 VsScktSrvr.exe System.Win.ScktComp         TServerClientThread.Execute
004a904b +02b VsScktSrvr.exe madExcept                   HookedTThreadExecute
00536bd1 +049 VsScktSrvr.exe System.Classes              ThreadProc
0040a558 +028 VsScktSrvr.exe System               50  +0 ThreadWrapper
004a8f31 +00d VsScktSrvr.exe madExcept                   CallThreadProcSafe
004a8f96 +032 VsScktSrvr.exe madExcept                   ThreadExceptFrame
75eb6a12 +022 KERNEL32.DLL                               BaseThreadInitThunk
>> created by thread $12a8 (TServerAcceptThread) at:
006e5499 +039 VsScktSrvr.exe System.Win.ScktComp         TServerClientThread.Create

thread $1274 (TSocketDispatcherThread): <priority:1>
75c7285d +000 KERNELBASE.dll                             WaitForMultipleObjectsEx
7581dbcd +15d user32.dll                                 MsgWaitForMultipleObjectsEx
7581e4ea +01a user32.dll                                 MsgWaitForMultipleObjects
006f723e +166 VsScktSrvr.exe uMain               299 +21 TSocketDispatcherThread.ClientExecute
006e56d9 +049 VsScktSrvr.exe System.Win.ScktComp         TServerClientThread.Execute
004a904b +02b VsScktSrvr.exe madExcept                   HookedTThreadExecute
00536bd1 +049 VsScktSrvr.exe System.Classes              ThreadProc
0040a558 +028 VsScktSrvr.exe System               50  +0 ThreadWrapper
004a8f31 +00d VsScktSrvr.exe madExcept                   CallThreadProcSafe
004a8f96 +032 VsScktSrvr.exe madExcept                   ThreadExceptFrame
75eb6a12 +022 KERNEL32.DLL                               BaseThreadInitThunk
>> created by thread $12a8 (TServerAcceptThread) at:
006e5499 +039 VsScktSrvr.exe System.Win.ScktComp         TServerClientThread.Create

thread $c04 (TSocketDispatcherThread): <priority:1>
75c7285d +000 KERNELBASE.dll                             WaitForMultipleObjectsEx
7581dbcd +15d user32.dll                                 MsgWaitForMultipleObjectsEx
7581e4ea +01a user32.dll                                 MsgWaitForMultipleObjects
006f723e +166 VsScktSrvr.exe uMain               299 +21 TSocketDispatcherThread.ClientExecute
006e56d9 +049 VsScktSrvr.exe System.Win.ScktComp         TServerClientThread.Execute
004a904b +02b VsScktSrvr.exe madExcept                   HookedTThreadExecute
00536bd1 +049 VsScktSrvr.exe System.Classes              ThreadProc
0040a558 +028 VsScktSrvr.exe System               50  +0 ThreadWrapper
004a8f31 +00d VsScktSrvr.exe madExcept                   CallThreadProcSafe
004a8f96 +032 VsScktSrvr.exe madExcept                   ThreadExceptFrame
75eb6a12 +022 KERNEL32.DLL                               BaseThreadInitThunk
>> created by thread $12a8 (TServerAcceptThread) at:
006e5499 +039 VsScktSrvr.exe System.Win.ScktComp         TServerClientThread.Create

thread $f84:
75c7285d +00 KERNELBASE.dll           WaitForMultipleObjectsEx
004a8f31 +0d VsScktSrvr.exe madExcept CallThreadProcSafe
004a8f96 +32 VsScktSrvr.exe madExcept ThreadExceptFrame
75eb6a12 +22 KERNEL32.DLL             BaseThreadInitThunk
>> created by thread $c04 (TSocketDispatcherThread) at:
761caa95 +00 combase.dll

thread $10cc (TSocketDispatcherThread): <priority:1>
75c7285d +000 KERNELBASE.dll                             WaitForMultipleObjectsEx
7581dbcd +15d user32.dll                                 MsgWaitForMultipleObjectsEx
7581e4ea +01a user32.dll                                 MsgWaitForMultipleObjects
006f723e +166 VsScktSrvr.exe uMain               299 +21 TSocketDispatcherThread.ClientExecute
006e56d9 +049 VsScktSrvr.exe System.Win.ScktComp         TServerClientThread.Execute
004a904b +02b VsScktSrvr.exe madExcept                   HookedTThreadExecute
00536bd1 +049 VsScktSrvr.exe System.Classes              ThreadProc
0040a558 +028 VsScktSrvr.exe System               50  +0 ThreadWrapper
004a8f31 +00d VsScktSrvr.exe madExcept                   CallThreadProcSafe
004a8f96 +032 VsScktSrvr.exe madExcept                   ThreadExceptFrame
75eb6a12 +022 KERNEL32.DLL                               BaseThreadInitThunk
>> created by thread $12a8 (TServerAcceptThread) at:
006e5499 +039 VsScktSrvr.exe System.Win.ScktComp         TServerClientThread.Create

thread $608 (TSocketDispatcherThread): <priority:1>
75c7285d +000 KERNELBASE.dll                             WaitForMultipleObjectsEx
7581dbcd +15d user32.dll                                 MsgWaitForMultipleObjectsEx
7581e4ea +01a user32.dll                                 MsgWaitForMultipleObjects
006f723e +166 VsScktSrvr.exe uMain               299 +21 TSocketDispatcherThread.ClientExecute
006e56d9 +049 VsScktSrvr.exe System.Win.ScktComp         TServerClientThread.Execute
004a904b +02b VsScktSrvr.exe madExcept                   HookedTThreadExecute
00536bd1 +049 VsScktSrvr.exe System.Classes              ThreadProc
0040a558 +028 VsScktSrvr.exe System               50  +0 ThreadWrapper
004a8f31 +00d VsScktSrvr.exe madExcept                   CallThreadProcSafe
004a8f96 +032 VsScktSrvr.exe madExcept                   ThreadExceptFrame
75eb6a12 +022 KERNEL32.DLL                               BaseThreadInitThunk
>> created by thread $12a8 (TServerAcceptThread) at:
006e5499 +039 VsScktSrvr.exe System.Win.ScktComp         TServerClientThread.Create

thread $a7c (TSocketDispatcherThread): <priority:1>
75c7285d +000 KERNELBASE.dll                             WaitForMultipleObjectsEx
7581dbcd +15d user32.dll                                 MsgWaitForMultipleObjectsEx
7581e4ea +01a user32.dll                                 MsgWaitForMultipleObjects
006f723e +166 VsScktSrvr.exe uMain               299 +21 TSocketDispatcherThread.ClientExecute
006e56d9 +049 VsScktSrvr.exe System.Win.ScktComp         TServerClientThread.Execute
004a904b +02b VsScktSrvr.exe madExcept                   HookedTThreadExecute
00536bd1 +049 VsScktSrvr.exe System.Classes              ThreadProc
0040a558 +028 VsScktSrvr.exe System               50  +0 ThreadWrapper
004a8f31 +00d VsScktSrvr.exe madExcept                   CallThreadProcSafe
004a8f96 +032 VsScktSrvr.exe madExcept                   ThreadExceptFrame
75eb6a12 +022 KERNEL32.DLL                               BaseThreadInitThunk
>> created by thread $12a8 (TServerAcceptThread) at:
006e5499 +039 VsScktSrvr.exe System.Win.ScktComp         TServerClientThread.Create

thread $df4 (TSocketDispatcherThread): <priority:1>
75c7285d +00 KERNELBASE.dll                           WaitForMultipleObjectsEx
004097ee +9e VsScktSrvr.exe System              50 +0 TMonitor.Wait
0058c552 +56 VsScktSrvr.exe System.SyncObjs           THandleObject.WaitFor
006e57eb +0b VsScktSrvr.exe System.Win.ScktComp       TServerClientThread.StartConnect
006e56cb +3b VsScktSrvr.exe System.Win.ScktComp       TServerClientThread.Execute
004a904b +2b VsScktSrvr.exe madExcept                 HookedTThreadExecute
00536bd1 +49 VsScktSrvr.exe System.Classes            ThreadProc
0040a558 +28 VsScktSrvr.exe System              50 +0 ThreadWrapper
004a8f31 +0d VsScktSrvr.exe madExcept                 CallThreadProcSafe
004a8f96 +32 VsScktSrvr.exe madExcept                 ThreadExceptFrame
75eb6a12 +22 KERNEL32.DLL                             BaseThreadInitThunk
>> created by thread $12a8 (TServerAcceptThread) at:
006e5499 +39 VsScktSrvr.exe System.Win.ScktComp       TServerClientThread.Create

thread $c34:
75eb6a12 +22 KERNEL32.DLL  BaseThreadInitThunk

thread $aac:
75eb6a12 +22 KERNEL32.DLL  BaseThreadInitThunk

modules:
00400000 VsScktSrvr.exe       1.2023.7.24         C:\softwarehouse\Server
6d280000 propsys.dll          7.0.9600.17415      C:\Windows\system32
731a0000 rsaenh.dll           6.3.9600.20031      C:\Windows\system32
731d0000 CRYPTSP.dll          6.3.9600.17415      C:\Windows\SYSTEM32
738d0000 winrnr.dll           6.3.9600.17415      C:\Windows\System32
738e0000 NLAapi.dll           6.3.9600.18895      C:\Windows\system32
73900000 napinsp.dll          6.3.9600.17415      C:\Windows\system32
73930000 bcrypt.dll           6.3.9600.18541      C:\Windows\SYSTEM32
73c20000 WINSTA.dll           6.3.9600.17415      C:\Windows\SYSTEM32
73c70000 wtsapi32.dll         6.3.9600.17415      C:\Windows\SYSTEM32
73c80000 ntmarta.dll          6.3.9600.17415      C:\Windows\SYSTEM32
73cb0000 FaultRep.dll         6.3.9600.19721      C:\Windows\SYSTEM32
73db0000 WINNSI.DLL           6.3.9600.17415      C:\Windows\SYSTEM32
73dc0000 IPHLPAPI.DLL         6.3.9600.18264      C:\Windows\SYSTEM32
73de0000 DNSAPI.dll           6.3.9600.19990      C:\Windows\SYSTEM32
73e60000 mswsock.dll          6.3.9600.18340      C:\Windows\system32
74210000 cscapi.dll           6.3.9600.17415      C:\Windows\SYSTEM32
743b0000 dwmapi.dll           6.3.9600.17415      C:\Windows\system32
74470000 wkscli.dll           6.3.9600.17415      C:\Windows\SYSTEM32
74490000 srvcli.dll           6.3.9600.17415      C:\Windows\SYSTEM32
744b0000 netutils.dll         6.3.9600.17415      C:\Windows\SYSTEM32
74500000 msimg32.dll          6.3.9600.17415      C:\Windows\SYSTEM32
74810000 uxtheme.dll          6.3.9600.19597      C:\Windows\system32
74d40000 winspool.drv         6.3.9600.20165      C:\Windows\SYSTEM32
74dd0000 version.dll          6.3.9600.17415      C:\Windows\SYSTEM32
74de0000 netapi32.dll         6.3.9600.17415      C:\Windows\SYSTEM32
74e00000 wsock32.dll          6.3.9600.17415      C:\Windows\SYSTEM32
74e10000 comctl32.dll         6.10.9600.19393     C:\Windows\WinSxS\x86_microsoft.windows.common-controls_6595b64144ccf1df_6.0.9600.19394_none_a9f59c4f01325ed5
75020000 SHCORE.DLL           6.3.9600.19750      C:\Windows\SYSTEM32
750b0000 kernel.appcore.dll   6.3.9600.17415      C:\Windows\SYSTEM32
750c0000 bcryptPrimitives.dll 6.3.9600.18895      C:\Windows\SYSTEM32
75120000 CRYPTBASE.dll        6.3.9600.17415      C:\Windows\SYSTEM32
75130000 sechost.dll          6.3.9600.19749      C:\Windows\SYSTEM32
75180000 MSCTF.dll            6.3.9600.19724      C:\Windows\SYSTEM32
752a0000 ole32.dll            6.3.9600.20144      C:\Windows\SYSTEM32
75460000 SspiCli.dll          6.3.9600.17415      C:\Windows\SYSTEM32
756a0000 WS2_32.dll           6.3.9600.18340      C:\Windows\SYSTEM32
756f0000 comdlg32.dll         6.3.9600.17415      C:\Windows\SYSTEM32
75790000 advapi32.dll         6.3.9600.20035      C:\Windows\SYSTEM32
75810000 user32.dll           6.3.9600.19920      C:\Windows\SYSTEM32
75980000 clbcatq.dll          2001.12.10530.17415 C:\Windows\SYSTEM32
75a10000 RPCRT4.dll           6.3.9600.20143      C:\Windows\SYSTEM32
75ad0000 IMM32.DLL            6.3.9600.17415      C:\Windows\system32
75b00000 CFGMGR32.dll         6.3.9600.17415      C:\Windows\SYSTEM32
75b40000 NSI.dll              6.3.9600.17415      C:\Windows\SYSTEM32
75b90000 msvcrt.dll           7.0.9600.17415      C:\Windows\SYSTEM32
75c60000 KERNELBASE.dll       6.3.9600.19724      C:\Windows\SYSTEM32
75d40000 SHLWAPI.dll          6.3.9600.17415      C:\Windows\SYSTEM32
75d90000 gdi32.dll            6.3.9600.20143      C:\Windows\SYSTEM32
75ea0000 KERNEL32.DLL         6.3.9600.20172      C:\Windows\SYSTEM32
75fe0000 SETUPAPI.dll         6.3.9600.17415      C:\Windows\SYSTEM32
761a0000 combase.dll          6.3.9600.20165      C:\Windows\SYSTEM32
764a0000 oleaut32.dll         6.3.9600.20016      C:\Windows\SYSTEM32
76610000 shell32.dll          6.3.9600.19823      C:\Windows\SYSTEM32
779b0000 ntdll.dll            6.3.9600.20144      C:\Windows\SYSTEM32

processes:
0000 Idle                        0 0   0
0004 System                      0 0   0
00e8 smss.exe                    0 0   0
0154 csrss.exe                   0 0   0
0198 csrss.exe                   1 0   0
01a0 wininit.exe                 0 0   0
01bc winlogon.exe                1 0   0
01f8 services.exe                0 0   0
0200 lsass.exe                   0 0   0
0248 svchost.exe                 0 0   0
0274 svchost.exe                 0 0   0
02c8 svchost.exe                 0 0   0
02e4 dwm.exe                     1 0   0
02f0 svchost.exe                 0 0   0
0300 svchost.exe                 0 0   0
0324 svchost.exe                 0 0   0
037c svchost.exe                 0 0   0
019c svchost.exe                 0 0   0
0420 spoolsv.exe                 0 0   0
0454 armsvc.exe                  0 0   0
047c svchost.exe                 0 0   0
04d8 OracleCloudAgent.exe        0 0   0   normal
055c winexec.exe                 0 0   0
0564 conhost.exe                 0 0   0
057c OracleCloudAgentUpdater.exe 0 0   0   normal
0594 gomon.exe                   0 0   0
05fc VirtIOSrv_64.exe            0 0   0
0660 winexec.exe                 0 0   0
0668 conhost.exe                 0 0   0
0688 telegraf.exe                0 0   0
0690 oci-vulnerabilityscan.exe   0 0   0
072c svchost.exe                 0 0   0
075c zabbix_agentd.exe           0 0   0
07fc nfsclnt.exe                 0 0   0
0860 osms.exe                    0 0   0   normal
0894 osms.exe                    0 0   0
089c conhost.exe                 0 0   0
08e4 taskhostex.exe              1 14  11  normal
094c explorer.exe                1 365 389 normal
0ae0 svchost.exe                 0 0   0
0afc svchost.exe                 0 0   0
03f8 runcommand.exe              0 0   0   normal
0258 unifiedmonitoring.exe       0 0   0   normal
0dd0 GoogleCrashHandler.exe      0 0   0
0dd8 GoogleCrashHandler64.exe    0 0   0
0270 msdtc.exe                   0 0   0
0464 csrss.exe                   3 0   0
02bc winlogon.exe                3 0   0
082c rdpclip.exe                 1 14  31  normal
0a8c LogonUI.exe                 3 0   0
09ac dwm.exe                     3 0   0
129c VsScktSrvr.exe              1 60  89  normal       C:\softwarehouse\Server
06dc WmiPrvSE.exe                0 0   0
0ccc csrss.exe                   2 0   0
1314 winlogon.exe                2 0   0
11a4 dwm.exe                     2 0   0
13c0 rdpclip.exe                 2 0   0   normal
0360 taskhostex.exe              2 0   0   normal
0dfc userinit.exe                2 0   0   normal
0990 explorer.exe                2 0   0   normal
1030 Taskmgr.exe                 2 0   0   normal
0844 TSTheme.exe                 2 0   0
09e8 TSTheme.exe                 1 9   4   normal

hardware:
+ {1ed2bbf9-11f0-4084-b21f-ad83a8e6dcdc}
  - Microsoft XPS Document Writer
  - Root Print Queue
+ {36fc9e60-c465-11cf-8056-444553540000}
  - Intel(R) 82371SB PCI to USB Universal Host Controller
  - USB Root Hub
+ {4d36e966-e325-11ce-bfc1-08002be10318}
  - ACPI x64-based PC
+ {4d36e967-e325-11ce-bfc1-08002be10318}
  - ORACLE BlockVolume SCSI Disk Device
+ {4d36e968-e325-11ce-bfc1-08002be10318}
  - Microsoft Basic Display Adapter
+ {4d36e969-e325-11ce-bfc1-08002be10318}
  - Standard floppy disk controller
+ {4d36e96a-e325-11ce-bfc1-08002be10318}
  - Intel(R) 82371SB PCI Bus Master IDE Controller
+ {4d36e96b-e325-11ce-bfc1-08002be10318}
  - Remote Desktop Keyboard Device
  - Standard PS/2 Keyboard
+ {4d36e96e-e325-11ce-bfc1-08002be10318}
  - Generic Non-PnP Monitor
+ {4d36e96f-e325-11ce-bfc1-08002be10318}
  - HID-compliant mouse
  - PS/2 Compatible Mouse
  - Remote Desktop Mouse Device
+ {4d36e972-e325-11ce-bfc1-08002be10318}
  - ConnectX Family mlx5Gen Virtual Function (driver 2.30.21713.0)
  - Microsoft 6to4 Adapter
  - Microsoft ISATAP Adapter
  - Microsoft Kernel Debug Network Adapter
  - WAN Miniport (IKEv2)
  - WAN Miniport (IP)
  - WAN Miniport (IPv6)
  - WAN Miniport (L2TP)
  - WAN Miniport (Network Monitor)
  - WAN Miniport (PPPOE)
  - WAN Miniport (PPTP)
  - WAN Miniport (SSTP)
+ {4d36e978-e325-11ce-bfc1-08002be10318}
  - Communications Port (COM1)
+ {4d36e97b-e325-11ce-bfc1-08002be10318}
  - Microsoft iSCSI Initiator
  - Microsoft Storage Spaces Controller
  - Oracle VirtIO SCSI pass-through controller (driver 1.1.5.62)
+ {4d36e97d-e325-11ce-bfc1-08002be10318}
  - ACPI Fixed Feature Button
  - Composite Bus Enumerator
  - Extended IO Bus
  - Extended IO Bus
  - Extended IO Bus
  - Generic Bus
  - High precision event timer
  - Intel 82371SB PCI to ISA bridge
  - Intel 82441FX Pentium(R) Pro Processor to PCI bridge
  - Microsoft ACPI-Compliant System
  - Microsoft Basic Display Driver
  - Microsoft Basic Render Driver
  - Microsoft System Management BIOS Driver
  - Microsoft Virtual Drive Enumerator
  - NDIS Virtual Network Adapter Enumerator
  - PCI bus
  - Plug and Play Software Device Enumerator
  - QEMU PVPanic Device (driver 1.1.7.62)
  - Remote Desktop Device Redirector Bus
  - System CMOS/real time clock
  - UMBus Enumerator
  - UMBus Root Bus Enumerator
  - Volume Manager
+ {50127dc3-0f36-415e-a6cc-4cb3be910b65}
  - AMD EPYC 7J13 64-Core Processor
  - AMD EPYC 7J13 64-Core Processor
  - AMD EPYC 7J13 64-Core Processor
  - AMD EPYC 7J13 64-Core Processor
+ {62f9c741-b25a-46ce-b54c-9bccce08b6f2}
  - Microsoft IPv4 IPv6 Transition Adapter Bus
  - Smart Card Device Enumeration Bus
+ {745a17a0-74d3-11d0-b6fe-00a0c90f57da}
  - USB Input Device

cpu registers:
eax = 00000000
ebx = 00000001
ecx = 003b000f
edx = 0018e318
esi = 016d0005
edi = 003b0e35
eip = 00000000
esp = 0018e314
ebp = 0018e328

stack dump:
0018e314  b2 a6 53 00 00 00 00 00 - 00 00 00 00 00 00 00 00  ..S.............
0018e324  00 00 00 00 40 e3 18 00 - b2 a6 53 00 00 00 00 00  ....@.....S.....
0018e334  00 00 00 00 00 00 00 00 - 00 00 00 00 58 e3 18 00  ............X...
0018e344  b2 a6 53 00 00 00 00 00 - 00 00 00 00 00 00 00 00  ..S.............
0018e354  00 00 00 00 70 e3 18 00 - b2 a6 53 00 00 00 00 00  ....p.....S.....
0018e364  00 00 00 00 00 00 00 00 - 00 00 00 00 88 e3 18 00  ................
0018e374  b2 a6 53 00 00 00 00 00 - 00 00 00 00 00 00 00 00  ..S.............
0018e384  00 00 00 00 a0 e3 18 00 - b2 a6 53 00 00 00 00 00  ..........S.....
0018e394  00 00 00 00 00 00 00 00 - 00 00 00 00 b8 e3 18 00  ................
0018e3a4  b2 a6 53 00 00 00 00 00 - 00 00 00 00 00 00 00 00  ..S.............
0018e3b4  00 00 00 00 d0 e3 18 00 - b2 a6 53 00 00 00 00 00  ..........S.....
0018e3c4  00 00 00 00 00 00 00 00 - 00 00 00 00 e8 e3 18 00  ................
0018e3d4  b2 a6 53 00 00 00 00 00 - 00 00 00 00 00 00 00 00  ..S.............
0018e3e4  00 00 00 00 00 e4 18 00 - b2 a6 53 00 00 00 00 00  ..........S.....
0018e3f4  00 00 00 00 00 00 00 00 - 00 00 00 00 18 e4 18 00  ................
0018e404  b2 a6 53 00 00 00 00 00 - 00 00 00 00 00 00 00 00  ..S.............
0018e414  00 00 00 00 30 e4 18 00 - b2 a6 53 00 00 00 00 00  ....0.....S.....
0018e424  00 00 00 00 00 00 00 00 - 00 00 00 00 48 e4 18 00  ............H...
0018e434  b2 a6 53 00 00 00 00 00 - 00 00 00 00 00 00 00 00  ..S.............
0018e444  00 00 00 00 60 e4 18 00 - b2 a6 53 00 00 00 00 00  ....`.....S.....

disassembling:
[...]
0070443f       mov     eax, [eax]
00704441       xor     edx, edx
00704443       call    -$c4ac ($6f7f9c)       ; uMain.TSocketForm.Initialize
00704448 106   mov     eax, [$711918]
0070444d       mov     eax, [eax]
0070444f     > call    -$862d4 ($67e180)      ; Vcl.Forms.TApplication.Run
00704454 108   xor     eax, eax
00704456       pop     edx
00704457       pop     ecx
00704458       pop     ecx
00704459       mov     fs:[eax], edx
[...]

Attachments
bugreport.zip
Report
(4.47 KiB) Not downloaded yet
madshi
Site Admin
Posts: 10766
Joined: Sun Mar 21, 2004 5:25 pm

Re: Identify socket error in report

Post by madshi »

It seems that while handling messages, the main thread jumps to address $0 and tries to execute code at that address. The address $0 is protected and cannot be executed, that's why the access violation occurs. So the big question is: Why does the main thread jump to address $0 while handling messages? That is impossible to say exactly, based on this bug report.

Generally, access violations are the hardest bugs to solve, especially if it's not clear why they're occurring. The code location which crashes isn't always the one which is responsible for the crash.

Possible explanations could be:

1) You might still be using components/controls/forms which were already freed.
2) There might have been a buffer overrun, clearing out some jump target addresses.
3) The thread callstack might have been corrupted, and thus the thread might have "returned" to the wrong address.
4) Could be something else I can't think of right now.

Here are suggestions on what you could do:

1) You could try madExcept's "instantly crash on buffer overrun" feature on your development PC to check if there's a buffer overrun somewhere.
2) You could try madExcept's leak checker on your development PC to check if there are some big leaks. Maybe your process is running out of RAM or other resources?
3) You could hook into message handling to see which message was being handled while the crash occurred.

Unfortunately options 1) and 2) consume tons of extra RAM, so there is a chance that your process might crash with "Out of memory". If so, that's unlucky, and the only way around that would be to compile your EXE in 64bit.
iconic
Site Admin
Posts: 1068
Joined: Wed Jun 08, 2005 5:08 am

Re: Identify socket error in report

Post by iconic »

@wandersonpaiva,

I would likely guess it's accessing an already freed (and likely NILed) object, but it's hard to say of course with your exception log in this thread alone.
I am curious however why you're using ScktComp with TClient/ServerSocket? It's riddled with issues and isn't nearly as developed as ICS, Indy, Synapse etc. It even had to be "optionally" installed as a package as of Delphi 7 IIRC, it wasn't even default in the Enterprise version of the compiler. It's definitely not what I would call a production quality socket component especially if you're scaling over time.

--Iconic
Post Reply