Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What do I do when my program crashes with exception 0xc0000005 at address 0?

My Delphi program runs as an NT service and has been running fine for more than 2 months and then it stops suddenly and generates a crash dump:

Faulting application name: tca_shctisvc_ip.exe, version: 7.1.0.1843, time stamp: 0x2a425e19 Faulting module name: unknown, version: 0.0.0.0, time stamp: 0x00000000 Exception code: 0xc0000005 Fault offset: 0x00000000

There were no real addresses to work from based on information in the Windows event log. I was able to load the mini dump into WinDbg and it said there was an exception but found problems with the stack frames. A different tool (Viewminidump) was able to show me stacks of the running threads.

Where do I begin to resolve this issue?

like image 923
samanne Avatar asked Feb 19 '13 04:02

samanne


1 Answers

Exception code 0xc0000005 is an Access Violation. An AV at fault offset 0x00000000 means that something in your service's code is accessing a nil pointer. You will just have to debug the service while it is running to find out what it is accessing. If you cannot run it inside a debugger, then at least install a third-party exception logger framework, such as EurekaLog or MadExcept, to find out what your service was doing at the time of the AV.

like image 96
Remy Lebeau Avatar answered Nov 07 '22 07:11

Remy Lebeau