Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. General Programming
  3. COM
  4. AppCrash Issue related to COM?

AppCrash Issue related to COM?

Scheduled Pinned Locked Moved COM
csharpdotnetcomhelpc++
5 Posts 3 Posters 9 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • T Offline
    T Offline
    Tony Tullemans
    wrote on last edited by
    #1

    Greetings! I have a complex scheduling application written in VB.NET (.NET Framework 4.0) that must use a Data Access Layer consisting of a bunch of C++ DLLs which are in-turn accessed via a COM API library. Of course when the COM API is referenced in the VB.NET application an Interop Assembly is created by Visual Studio. The problem I am having is that some users are experiencing an APPCRASH (c0000005 exception code) several times per day, but this only occurs if they have the my application open all of the time and they are continually moving between it and other apps (e.g. to MS Word or MS Outlook etc). The APPCRASH occurs as soon as the shift their focus back to my application. I do have a suspicion as to why this may be occurring but my lack of knowledge of the way in which Windows and the .NET Framework manage memory precludes me from being sure. My suspicion is that when users are using other applications for some time, and Windows requires more memory for those other apps, that it caches my app’s memory to disk. When they return to my app then Windows loads it back into memory, but because I am using COM it is placing the COM related memory into a different address and then when my app attempts to access the COM objects then an Access Violation is occurring and hence the APPCRASH. The faulting module is nearly always the COM API library, but sometimes it is ntdll.dll or clr.dll. Does this sound like a reasonable hypothesis? And if so, what are my options (if any) for resolving this? Here are a sample of problem signature traces. Note that they do not all have the same faulting module. Signature du problème : Nom d’événement de problème: APPCRASH Application Name: VM2305.EXE Application Version: 2.1.0.5 Application Timestamp: 4f44820b Fault Module Name: a4wcomex.dll Fault Module Version: 6.0.0.0 Fault Module Timestamp: 4cfb1354 Exception Code: c0000005 Exception Offset: 0001de92 Version du système: 6.0.6002.2.2.0.768.3 Identificateur de paramètres régionaux: 3084 Problem signature: Problem Event Name: APPCRASH Application Name: VM2305.EXE Application Version: 2.1.0.9 Application Timestamp: 4fa218fd Fault Module Name: clr.dll Fault Module Version: 4.0.30319.261 Fault Module Timestamp: 4ec9f6ff Exception Code: c0000005 Exception Offset: 00020ed1 OS Version: 6.1.7601.2.1.0.256.48 Locale ID: 4105 Additional Information 1: 93e2 Additional Information 2: 93e2ab0171a7a6ff1415f9bd2ed3bdf7 Additional Information 3: be03 Additional Information 4: be03a

    L S 2 Replies Last reply
    0
    • T Tony Tullemans

      Greetings! I have a complex scheduling application written in VB.NET (.NET Framework 4.0) that must use a Data Access Layer consisting of a bunch of C++ DLLs which are in-turn accessed via a COM API library. Of course when the COM API is referenced in the VB.NET application an Interop Assembly is created by Visual Studio. The problem I am having is that some users are experiencing an APPCRASH (c0000005 exception code) several times per day, but this only occurs if they have the my application open all of the time and they are continually moving between it and other apps (e.g. to MS Word or MS Outlook etc). The APPCRASH occurs as soon as the shift their focus back to my application. I do have a suspicion as to why this may be occurring but my lack of knowledge of the way in which Windows and the .NET Framework manage memory precludes me from being sure. My suspicion is that when users are using other applications for some time, and Windows requires more memory for those other apps, that it caches my app’s memory to disk. When they return to my app then Windows loads it back into memory, but because I am using COM it is placing the COM related memory into a different address and then when my app attempts to access the COM objects then an Access Violation is occurring and hence the APPCRASH. The faulting module is nearly always the COM API library, but sometimes it is ntdll.dll or clr.dll. Does this sound like a reasonable hypothesis? And if so, what are my options (if any) for resolving this? Here are a sample of problem signature traces. Note that they do not all have the same faulting module. Signature du problème : Nom d’événement de problème: APPCRASH Application Name: VM2305.EXE Application Version: 2.1.0.5 Application Timestamp: 4f44820b Fault Module Name: a4wcomex.dll Fault Module Version: 6.0.0.0 Fault Module Timestamp: 4cfb1354 Exception Code: c0000005 Exception Offset: 0001de92 Version du système: 6.0.6002.2.2.0.768.3 Identificateur de paramètres régionaux: 3084 Problem signature: Problem Event Name: APPCRASH Application Name: VM2305.EXE Application Version: 2.1.0.9 Application Timestamp: 4fa218fd Fault Module Name: clr.dll Fault Module Version: 4.0.30319.261 Fault Module Timestamp: 4ec9f6ff Exception Code: c0000005 Exception Offset: 00020ed1 OS Version: 6.1.7601.2.1.0.256.48 Locale ID: 4105 Additional Information 1: 93e2 Additional Information 2: 93e2ab0171a7a6ff1415f9bd2ed3bdf7 Additional Information 3: be03 Additional Information 4: be03a

      L Offline
      L Offline
      Lost User
      wrote on last edited by
      #2

      Tony Tullemans wrote:

      Does this sound like a reasonable hypothesis?

      No. Why, because if this was the case we would expect to see crashes occurring everywhere and all the time. The only way to identify what is happening is to add some debug code to your application so you capture more information prior to the crashes occurring.

      T 1 Reply Last reply
      0
      • T Tony Tullemans

        Greetings! I have a complex scheduling application written in VB.NET (.NET Framework 4.0) that must use a Data Access Layer consisting of a bunch of C++ DLLs which are in-turn accessed via a COM API library. Of course when the COM API is referenced in the VB.NET application an Interop Assembly is created by Visual Studio. The problem I am having is that some users are experiencing an APPCRASH (c0000005 exception code) several times per day, but this only occurs if they have the my application open all of the time and they are continually moving between it and other apps (e.g. to MS Word or MS Outlook etc). The APPCRASH occurs as soon as the shift their focus back to my application. I do have a suspicion as to why this may be occurring but my lack of knowledge of the way in which Windows and the .NET Framework manage memory precludes me from being sure. My suspicion is that when users are using other applications for some time, and Windows requires more memory for those other apps, that it caches my app’s memory to disk. When they return to my app then Windows loads it back into memory, but because I am using COM it is placing the COM related memory into a different address and then when my app attempts to access the COM objects then an Access Violation is occurring and hence the APPCRASH. The faulting module is nearly always the COM API library, but sometimes it is ntdll.dll or clr.dll. Does this sound like a reasonable hypothesis? And if so, what are my options (if any) for resolving this? Here are a sample of problem signature traces. Note that they do not all have the same faulting module. Signature du problème : Nom d’événement de problème: APPCRASH Application Name: VM2305.EXE Application Version: 2.1.0.5 Application Timestamp: 4f44820b Fault Module Name: a4wcomex.dll Fault Module Version: 6.0.0.0 Fault Module Timestamp: 4cfb1354 Exception Code: c0000005 Exception Offset: 0001de92 Version du système: 6.0.6002.2.2.0.768.3 Identificateur de paramètres régionaux: 3084 Problem signature: Problem Event Name: APPCRASH Application Name: VM2305.EXE Application Version: 2.1.0.9 Application Timestamp: 4fa218fd Fault Module Name: clr.dll Fault Module Version: 4.0.30319.261 Fault Module Timestamp: 4ec9f6ff Exception Code: c0000005 Exception Offset: 00020ed1 OS Version: 6.1.7601.2.1.0.256.48 Locale ID: 4105 Additional Information 1: 93e2 Additional Information 2: 93e2ab0171a7a6ff1415f9bd2ed3bdf7 Additional Information 3: be03 Additional Information 4: be03a

        S Offline
        S Offline
        Stephen Hewitt
        wrote on last edited by
        #3

        That's not how paging works, addresses will be preserved. Get as many crash dumps as you can from the client and start debugging.

        Steve

        1 Reply Last reply
        0
        • L Lost User

          Tony Tullemans wrote:

          Does this sound like a reasonable hypothesis?

          No. Why, because if this was the case we would expect to see crashes occurring everywhere and all the time. The only way to identify what is happening is to add some debug code to your application so you capture more information prior to the crashes occurring.

          T Offline
          T Offline
          Tony Tullemans
          wrote on last edited by
          #4

          Thanks for your reply Richard, but the problem is that the AccessViolationException very rarely ever occurs when the application is running within the VS development environment, and furthermore it does not occur on all client computers. The only common factors I have been able to establish is that (1) the user has had the program running for several hours, and (2) the user has just switched back to my application after using some other program. I have come to this forum in the hope that anyone who may have experienced similar errors may give me some clue as to what to look for. I have literally spent over one hundred hours trying to debug this issue.

          L 1 Reply Last reply
          0
          • T Tony Tullemans

            Thanks for your reply Richard, but the problem is that the AccessViolationException very rarely ever occurs when the application is running within the VS development environment, and furthermore it does not occur on all client computers. The only common factors I have been able to establish is that (1) the user has had the program running for several hours, and (2) the user has just switched back to my application after using some other program. I have come to this forum in the hope that anyone who may have experienced similar errors may give me some clue as to what to look for. I have literally spent over one hundred hours trying to debug this issue.

            L Offline
            L Offline
            Lost User
            wrote on last edited by
            #5

            You have my sympathy, but unfortunately the only way to track this sort of error is to add logging and debugging code to your application. I worked in technical support for many years and often saw problems such as you describe, and yes, they were extremely difficult to diagnose.

            1 Reply Last reply
            0
            Reply
            • Reply as topic
            Log in to reply
            • Oldest to Newest
            • Newest to Oldest
            • Most Votes


            • Login

            • Don't have an account? Register

            • Login or register to search.
            • First post
              Last post
            0
            • Categories
            • Recent
            • Tags
            • Popular
            • World
            • Users
            • Groups