0

Good morning, My 32-bit C# application is crashing with following information in event log:

Application: Application.exe
Framework Version: v4.0.30319
Description: The process was terminated due to an internal error
in the .NET Runtime at IP 6FF4C181 (6FBA0000)
with exit code 80131506.

The XML view of this event looks as follows:

<System>
  <Provider Name=".NET Runtime" /> 
  <EventID Qualifiers="0">1023</EventID> 
  <Level>2</Level> 
  <Task>0</Task> 
  <Keywords>0x80000000000000</Keywords> 
  <TimeCreated SystemTime="2022-01-20T22:45:29.205171600Z" /> 
  <EventRecordID>379748</EventRecordID> 
  <Channel>Application</Channel> 
  <Computer>Computer_Name</Computer> 
  <Security /> 
</System>

As mentioned in this other question, the architecture of the application might be important, hence I mentioned the application being 32-bit. I cannot modify the architecture to 64-bit.

In case you don't know how to help from this information, do you know how to configure a Windows-10 computer for a single application?

Edit: more information after first comment

  1. The application uses a DLL, whose Target .Net framework is 4.6.1.
  2. No exceptions are thrown at the moment of that crash.
  3. Hereby the information from the other event:
Faulting application name: Application.exe,
                           version: 1.0.0.0,
                           time stamp: 0x584fe4ef
Faulting module name: clr.dll,
         version: 4.7.3890.0,
         time stamp: 0x615bc035
Exception code: 0xc0000005
Fault offset: 0x003ac181
Faulting process id: 0x1c64
Faulting application start time: 0x01d80e29378a8103
Faulting application path: C:\Directory\Application.exe
Faulting module path: C:\Windows\Microsoft.NET\Framework\v4.0.30319\clr.dll
Report Id: 41e58203-97d0-4518-97ce-f04a8851bb7b
Faulting package full name: 
Faulting package-relative application ID: 

Thanks in advance

Dominique
  • 16,450
  • 15
  • 56
  • 112
  • Windows 10 spans almost 10 years. Different versions come with different .NET Framework runtimes. Which .NET Framework is your application using? Which runtime is installed on that machine? Have you tried launching the application from a console and checking for any exceptions? – Panagiotis Kanavos Jan 21 '22 at 11:05
  • `v4.0.30319` doesn't mean much as .NET Framework 4.x versions are all binary replacements of one another and all return the same version string. The oldest supported .NET Framework version is 4.5.2 but supported Windows 10 versions have fare newer versions. – Panagiotis Kanavos Jan 21 '22 at 11:09
  • 2
    There should be two error events in the windows Event Log. The one you're looking at is the unhelpful one. Look at the other one: that should have a stack trace – canton7 Jan 21 '22 at 11:12
  • @canton7: I edited my question, adding the requested information. – Dominique Jan 21 '22 at 11:23
  • Are you sure you're looking at the **other** error? – canton7 Jan 21 '22 at 11:27
  • @canton7: I believe so: there are two errors: a .Net Runtime error and an Application Error. The information that was already there, was from the .Net Runtime error and the newly added information from the Application Error. – Dominique Jan 21 '22 at 11:30
  • 2
    `Exception code: 0xc0000005` that's an access violation. That's thrown when any Windows application tries to access memory it doesn't own, eg because it tried to use a `null` pointer, due to buffer overflow etc. When that happens, the OS nukes the process immediately. It almost never happens in .NET applications. Does your code use native 32-bit DLLs? Perhaps it tried to use the wrong version, passing the wrong arguments for the version it found? – Panagiotis Kanavos Jan 21 '22 at 11:36
  • @Dominique on the contrary, an access violation is one of the easiest bugs. The point is that you *don't* get such errors in .NET unless you use native libraries or interop calls. Does your application use native libraries? Make Interop calls? Is that why you can't compile for x64? It's far easier to try to troubleshoot a Jet driver or SQLite issue, or specific interop call, than an Access Violation without any other information – Panagiotis Kanavos Jan 21 '22 at 13:13
  • @Dominique even if you have no idea what's going on, [it's easy to generate a crash dump](https://www.meziantou.net/tip-automatically-create-a-crash-dump-file-on-error.htm) when an application crashes and analyze it in Visual Studio, and even debug it if the source and debug symbols match the executable – Panagiotis Kanavos Jan 21 '22 at 13:17

0 Answers0