APPCRASH - myapp.exe started crashing from VB6 - vb6

I've an exe (app1) which is written in VB6, this is called from another VB6 application (app2). This was working all these years and recently started crashing. When I'm riunning app2 and where app1 called is crashing with the following error.
Problem signature:
Problem Event Name: APPCRASH
Application Name: myapp1.exe
Application Version: 6.0.0.0
Application Timestamp: 470bfe05
Fault Module Name: ole32.dll
Fault Module Version: 6.1.7601.17514
Fault Module Timestamp: 4ce7b96f
Exception Code: c0000005
Exception Offset: 00066b21
OS Version: 6.1.7601.2.1.0.256.28
Locale ID: 1033
Additional Information 1: a7aa
Additional Information 2: a7aa91f17ea749d42a4de3b390fa5b3d
Additional Information 3: a7aa
Additional Information 4: a7aa91f17ea749d42a4de3b390fa5b3d
This is crashing only in some machines, it's working in machines with same configuration.
I've tried disabling DEP for this exe, that doesn't help too.

These shouldn't occur in a VB6 program unless it uses API calls in a cavalier manner. Such a program can run just fine until something in the data it works with causes it to fall over on one of these access violation errors.
See What is a C0000005 crash?

Related

How does Windows detect if a program is "stopped working"?

When I clicked the X button to close a program (say it is MYAPP), a dialog popped up saying:
MYAPP has stopped working
Windows can check online for a solution to the problem."
But actually the application had already exited.
Error info:
Problem signature:
Problem Event Name: APPCRASH
Application Name: MYAPP.EXE
Application Version: 1.0.0.0
Application Timestamp: 56a8dfa8
Fault Module Name: MSVCP90D.dll
Fault Module Version: 9.0.30729.6161
Fault Module Timestamp: 4dace5bf
Exception Code: c0000005
Exception Offset: 00007b3f
OS Version: 6.3.9600.2.0.0.272.7
Locale ID: 3081
How does Windows detect if a program is "stopped working"? Does it indicate the application throws an exception or a dead lock?
Windows Error Reporting (WER) will catch unhandled exceptions. It won't catch a deadlock. That dialog box that pops up when a program "stops working" is a WER crash-dump being taken (or it communicating with a MS server to see if it wants to take a crash-dump, etc.).
There are several ways to debug a crashing program that are tried and true (although arduous). Some of these include:
Using GFlags to launch Visual Studio or WinDbg
Including code in the program to launch a debugger
In this case with WER, you could turn on local crash dumps, and then, as long as you have the symbol database (pdb) file, you can debug from a local crash dump. You can read more on taking local crash dumps at Collecting User-Mode Dumps.

Dump Diagnostics

Recently i received the error log below in my windows Server 2012.
Some consequences like web site down happens and a 503 error are launching in the browser.
I caught up on updates in OS and i have searching for this problems, that let me to do some options like:
Remove net.tcp, net.pipe, net.msmq, and msmq.formatname bindings
Install KB2640103 hotfix, that needs to ask for Microsoft Support Customer.
I'm not an expert in Windows Server but would like to understand the situation and receive more comments.
APPLICATION LOG
Log Name: Application Source: Application Error EventId: 1000
Faulting application name: w3wp.exe, version: 8.0.9200.16384, time
stamp: 0x50108835
Faulting module name: clr.dll, version: 4.0.30319.18449, time stamp:
0x528fdca2 Exception code: 0xc00000fd
Fault offset: 0x000000000010c0c5
Faulting process id: 0x474
Faulting application start time: 0x01d05204681c00ea
Faulting application path: c:\windows\system32\inetsrv\w3wp.exe
Faulting module path:
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\clr.dll
Report Id: 49a3bf22-bdf8-11e4-944f-22000afcadb1
Faulting package full name:
Faulting package-relative application ID:
SYSTEM LOG
WAS
Application pool 'v3.xxxxx.com.br' is being automatically
disabled due to a series of failures in the process(es) serving that
application pool.
A process serving application pool 'v3.xxxxx.com.br' suffered a
fatal communication error with the Windows Process Activation Service.
The process id was '4492'. The data field contains the error number.
I solved my problem in 5 steps:
1) I installed a software to get a crash dump. In this case i downloaded the
DebugDiag Tools.
2) I configured the DebugDiag Tool following these instructions in this post
. I didn't need to install WindDbg and Symbols.
After the installation it was configured in this way:
Selecting a Crash rule
Selecting a IIS App pool (w3wp.exe)
Selecting the app pool of my application
Configuring a Stack over flow exception (0xc00000fd) in Advanced Settings/Exceptions and finishing the setup.
3) I waited for a first crash dump to be created in a folder location. Ex: C:\DebugDiag\Logs When the crash dump was created, i used the DebugDiag Analysis to open the file from C:\DebugDiag\Logs and a HTML report has been created.
4) In report was easy to see the problem. In my case, there was a recursive function without stop conditional. It was crashing the w3wp process.
5) Our team fixed the bug and solved the problem
What you have tried is less relevant.
0xc00000fd means stack overflow. Thus, you need to review your code to see if it was caused by yours. If you were able to get a crash dump, that can provide more information about why it crashes.

VB6 Crystal Reports 8.5.0.217 - Access Violation Application Crash

Background:
Our company uses Crystal Reports in our legacy product written in VB6 which I'm performing some maintenance duties for.
Its using version 8.5.0.217 [RTM] with no service packs.
The Problem:
Has worked perfectly on Windows XP x86 to date.
In Windows 7 [x86 and x64] we get an Access Violation followed by an application crash and no further usable error information.
The Details:
The application crashes with a large datasets for any report using the active x viewer.
Visual Studio will crash whilst debugging.
The offending code is here:
Crv_Obj(0).ReportSource = ReportParametersFrm.Report
Crv_Obj(0).EnablePopupMenu = True
Crv_Obj(0).ViewReport
I have checked that:
Crv_Obj(0) is a valid object reference.
ReportParametersFrm.Report is a valid reference.
The only information I have is from the event viewer:
Faulting application name: Pyramid.exe, version: 2.2.0.8, time stamp: 0x51e53053
Faulting module name: craxdrt.dll, version: 8.5.0.217, time stamp: 0x3a849e1a
Exception code: 0xc0000005
Fault offset: 0x002ac3d1
Faulting process id: 0x15a8
Faulting application start time: 0x01ce8228a295c8c8
Faulting application path: C:\Program Files\Pyramid\Pyramid.exe
Faulting module path: C:\Program Files\Pyramid\CrystalSys\craxdrt.dll
I have also tried:
Disabling the DEP to no effect.
Changing Compatibility to Windows XP and below.
Running as both privileged and nonprivileged users.
Tried adding in new error handlers to catch the error
[Fruitlessly] searching on Google and this site.
Contacting SAP [to then be ignored].
What I need help with:
Have you seen this before?
Are there any workarounds or something I should be looking for that is obviously wrong?
Is there more recent version of Crystal that supports VB6 or at least
an upgrade path that you know of that I can attempt?
Any and all help would be most appreciated.
After quite a lot of research and digging around it seems that a slightly newer version of craxdrt.dll crviewer.dll fixes the problem.
Simply a case of replacing these libraries in the application lib folder and in C:\Windows\System32\
I've put a copy of the libs here in the event anyone else has this problem as there was very little consistent help/information out there on the internet.

qt creator error : program exited with code -1073741819

I am working on a video processing project using Qt and Opencv with Qt Creator IDE in Windows 7 32bit. I have been successful compiling and running my code. But when I close the gui of my application Windows pops up an error :
MyProgram.exe has stopped working
Problem signature:
Problem Event Name: APPCRASH
Application Name: QtTracker3.exe
Application Version: 0.0.0.0
Application Timestamp: 5107b5da
Fault Module Name: ntdll.dll
Fault Module Version: 6.1.7600.16695
Fault Module Timestamp: 4cc7ab44
Exception Code: c0000005
Exception Offset: 00052073
OS Version: 6.1.7600.2.3.0.256.1
Locale ID: 1033
Additional Information 1: 0a9e
Additional Information 2: 0a9e372d3b4ad19135b953a78882e789
Additional Information 3: 0a9e
Additional Information 4: 0a9e372d3b4ad19135b953a78882e789
I am not a professional programmer and I need not to know whether this happens because my poor programming skills or something else..
Exception code c0000005 is an access violation, also known as general protection fault. The program is reading from, or writing to, an address which is not part of the virtual address space. A very common cause is that you are de-referencing a stale pointer. In other words, the pointer was once valid, but you have subsequently freed it. Then later when you attempt to access it, an exception is raised.
The exception is faulting in ntdll.dll which is a system DLL. That means that something in your program is passing invalid data to a system API.
In order to solve this problem you will likely need to run under the debugger and let the debugger break at the point in the code where the exception occurs. Then you can attempt to work out why the memory that is being accessed is invalid.
That's something that you can do, but we cannot. You have the code, we do not. So, we can't give you any more help than this. In any case, there's no need to despair–these problems are usually easy enough to solve with the help of a debugger.
Sometimes delete the contents of your build directory and try to compile again just to make sure nothing is caching.

.Net 4.0 Windows Application crashes in clr.dll under Windows Server 2008

I have a Windows application scheduled to run on a daily basis and fails intermittently as per the following log in EventViewer.
Faulting application name: MyApplication.exe, version: 1.0.0.0, time stamp: 0x4d54829a
Faulting module name: clr.dll, version: 4.0.30319.1, time stamp: 0x4ba21eeb
Exception code: 0xc0000005
Fault offset: 0x00000000000029e1
Faulting process id: 0xbb1c
Faulting application start time: 0x01cbd99223d8b4eb
Faulting application path: E:\MyApplication\MyApplication.exe
Faulting module path: C:\Windows\Microsoft.NET\Framework64\v4.0.30319\clr.dll
Report Id: 7e74ec7e-45a5-11e0-a95d-003048de380d
And in the second EventViewer log it says:
The process was terminated due to an internal error in the .NET Runtime at IP 000007FEF97329E1 (000007FEF9730000) with exit code 80131506.
The server is Win Server 2008 R2 and the application uses .Net 4.0 (as you can see in the error log too).
The application uses multi-threading intensively and reads from a remote database and writes to local hard disk.
Any guesses on what causes this issue and any suggestions on how to investigate? I have no idea where it fails in the life of the application which is about 5-10 hours.
I'm having the same issue. At approximately 8-10 hours of application life CLR error rises. I suspected my unmanaged code generating exception in the background thread. However I could not really find out why. You can give the following a try however:
If you are using unmanaged code review exception handling statements
while executig it.
Make sure you have the latest fixes of .NET4.
(https://connect.microsoft.com/VisualStudio/Downloads)
Please let me know if you have already found a solution.
I had a similar problem, so this can help future user to find a solution :
We use Apache log4net for application log.
After an update to DLL version 1.2.15, for dotnet Framwork 4.5 it starts to fire this exact exception once the log file reach the maximal size (10MB)
The hot-fix has mostly vanished and I faced a similar issue, so I'll share my answer here.
My solution revolved around the fact that I was passing a Lamda to a P/Invoke:
https://stackoverflow.com/a/52360307/4700841

Resources