WPF Application Filling Windows Event Log With System.ObjectDisposedExceptions










0















I have an in-production WPF application that is filling the Windows Application event log with AppCrash errors due to a System.ObjectDisposedException. The AppCrash specifically points to my application, SampleApplication.exe. In addition, the application is running on a system that cannot be connected to a network (so no remote debugging possibilities) and I am having a difficult time finding the issue.



I have two event handlers attached to catch and log all unhandled exceptions. These are working for all other exceptions. I'm not sure how these System.ObjectDisposedExceptions are not being caught before they get to the event log and, also, why the application does not actually crash. It keeps running just fine.



Here are the application's exception event handlers and the App constructor that hooks them up:



public App() : base()

System.Windows.Application.Current.DispatcherUnhandledException += new System.Windows.Threading.DispatcherUnhandledExceptionEventHandler(Current_DispatcherUnhandledException);
AppDomain.CurrentDomain.UnhandledException += CurrentDomainOnUnhandledException;


void Current_DispatcherUnhandledException(object sender, DispatcherUnhandledExceptionEventArgs e)

Console.WriteLine(e.Exception.Message);
Console.WriteLine(e.Exception.StackTrace);
LogException(e.Exception);
e.Handled = true;


void CurrentDomainOnUnhandledException(object sender, UnhandledExceptionEventArgs unhandledExceptionEventArgs)

if (unhandledExceptionEventArgs.ExceptionObject is Exception)

var e = (Exception)unhandledExceptionEventArgs.ExceptionObject;
Console.WriteLine(e.Message);
Console.WriteLine(e.StackTrace);
LogException((Exception)unhandledExceptionEventArgs.ExceptionObject);



void LogException(Exception e)

Exception tmp = e;
while (tmp.InnerException != null)
tmp = tmp.InnerException;

string errorMessage = string.Format("An unhandled exception occurred: 0", tmp.Message);
System.Windows.MessageBox.Show(errorMessage, "Error", MessageBoxButton.OK, MessageBoxImage.Error);

EventLogService.AddLog(EventLogSourceTypes.Error, errorMessage, DateTime.UtcNow, e.StackTrace);



I'm not sure that those are even relevant to my question, which is:



How can I catch these exceptions and document the details instead of them filling up the Windows Application event log? And, the application continues to run just fine, so despite them being AppCrash entries, the app is not actually crashing.










share|improve this question






















  • Can you add the stack traces of the ObjectDisposedExceptions?

    – Dave M
    Nov 14 '18 at 17:54











  • Wild guess: these could be occurring during application shutdown, in which case they would technically be app crashes, though it wouldn’t seem like it to a user.

    – Dave M
    Nov 14 '18 at 17:56











  • There are no stack traces. In fact, the only way I would know the exceptions are occurring is by looking at the Windows Application event log. And, it is not happening during shutdown. It happens approximately every 5 minutes while the application is running.

    – Paul
    Nov 14 '18 at 18:06











  • @Paul Can you add whole event log entry with stack trace?

    – Dipen Shah
    Nov 14 '18 at 21:22












  • There is no stack trace. I can't catch the exception to see the stack trace.

    – Paul
    Nov 15 '18 at 20:15















0















I have an in-production WPF application that is filling the Windows Application event log with AppCrash errors due to a System.ObjectDisposedException. The AppCrash specifically points to my application, SampleApplication.exe. In addition, the application is running on a system that cannot be connected to a network (so no remote debugging possibilities) and I am having a difficult time finding the issue.



I have two event handlers attached to catch and log all unhandled exceptions. These are working for all other exceptions. I'm not sure how these System.ObjectDisposedExceptions are not being caught before they get to the event log and, also, why the application does not actually crash. It keeps running just fine.



Here are the application's exception event handlers and the App constructor that hooks them up:



public App() : base()

System.Windows.Application.Current.DispatcherUnhandledException += new System.Windows.Threading.DispatcherUnhandledExceptionEventHandler(Current_DispatcherUnhandledException);
AppDomain.CurrentDomain.UnhandledException += CurrentDomainOnUnhandledException;


void Current_DispatcherUnhandledException(object sender, DispatcherUnhandledExceptionEventArgs e)

Console.WriteLine(e.Exception.Message);
Console.WriteLine(e.Exception.StackTrace);
LogException(e.Exception);
e.Handled = true;


void CurrentDomainOnUnhandledException(object sender, UnhandledExceptionEventArgs unhandledExceptionEventArgs)

if (unhandledExceptionEventArgs.ExceptionObject is Exception)

var e = (Exception)unhandledExceptionEventArgs.ExceptionObject;
Console.WriteLine(e.Message);
Console.WriteLine(e.StackTrace);
LogException((Exception)unhandledExceptionEventArgs.ExceptionObject);



void LogException(Exception e)

Exception tmp = e;
while (tmp.InnerException != null)
tmp = tmp.InnerException;

string errorMessage = string.Format("An unhandled exception occurred: 0", tmp.Message);
System.Windows.MessageBox.Show(errorMessage, "Error", MessageBoxButton.OK, MessageBoxImage.Error);

EventLogService.AddLog(EventLogSourceTypes.Error, errorMessage, DateTime.UtcNow, e.StackTrace);



I'm not sure that those are even relevant to my question, which is:



How can I catch these exceptions and document the details instead of them filling up the Windows Application event log? And, the application continues to run just fine, so despite them being AppCrash entries, the app is not actually crashing.










share|improve this question






















  • Can you add the stack traces of the ObjectDisposedExceptions?

    – Dave M
    Nov 14 '18 at 17:54











  • Wild guess: these could be occurring during application shutdown, in which case they would technically be app crashes, though it wouldn’t seem like it to a user.

    – Dave M
    Nov 14 '18 at 17:56











  • There are no stack traces. In fact, the only way I would know the exceptions are occurring is by looking at the Windows Application event log. And, it is not happening during shutdown. It happens approximately every 5 minutes while the application is running.

    – Paul
    Nov 14 '18 at 18:06











  • @Paul Can you add whole event log entry with stack trace?

    – Dipen Shah
    Nov 14 '18 at 21:22












  • There is no stack trace. I can't catch the exception to see the stack trace.

    – Paul
    Nov 15 '18 at 20:15













0












0








0








I have an in-production WPF application that is filling the Windows Application event log with AppCrash errors due to a System.ObjectDisposedException. The AppCrash specifically points to my application, SampleApplication.exe. In addition, the application is running on a system that cannot be connected to a network (so no remote debugging possibilities) and I am having a difficult time finding the issue.



I have two event handlers attached to catch and log all unhandled exceptions. These are working for all other exceptions. I'm not sure how these System.ObjectDisposedExceptions are not being caught before they get to the event log and, also, why the application does not actually crash. It keeps running just fine.



Here are the application's exception event handlers and the App constructor that hooks them up:



public App() : base()

System.Windows.Application.Current.DispatcherUnhandledException += new System.Windows.Threading.DispatcherUnhandledExceptionEventHandler(Current_DispatcherUnhandledException);
AppDomain.CurrentDomain.UnhandledException += CurrentDomainOnUnhandledException;


void Current_DispatcherUnhandledException(object sender, DispatcherUnhandledExceptionEventArgs e)

Console.WriteLine(e.Exception.Message);
Console.WriteLine(e.Exception.StackTrace);
LogException(e.Exception);
e.Handled = true;


void CurrentDomainOnUnhandledException(object sender, UnhandledExceptionEventArgs unhandledExceptionEventArgs)

if (unhandledExceptionEventArgs.ExceptionObject is Exception)

var e = (Exception)unhandledExceptionEventArgs.ExceptionObject;
Console.WriteLine(e.Message);
Console.WriteLine(e.StackTrace);
LogException((Exception)unhandledExceptionEventArgs.ExceptionObject);



void LogException(Exception e)

Exception tmp = e;
while (tmp.InnerException != null)
tmp = tmp.InnerException;

string errorMessage = string.Format("An unhandled exception occurred: 0", tmp.Message);
System.Windows.MessageBox.Show(errorMessage, "Error", MessageBoxButton.OK, MessageBoxImage.Error);

EventLogService.AddLog(EventLogSourceTypes.Error, errorMessage, DateTime.UtcNow, e.StackTrace);



I'm not sure that those are even relevant to my question, which is:



How can I catch these exceptions and document the details instead of them filling up the Windows Application event log? And, the application continues to run just fine, so despite them being AppCrash entries, the app is not actually crashing.










share|improve this question














I have an in-production WPF application that is filling the Windows Application event log with AppCrash errors due to a System.ObjectDisposedException. The AppCrash specifically points to my application, SampleApplication.exe. In addition, the application is running on a system that cannot be connected to a network (so no remote debugging possibilities) and I am having a difficult time finding the issue.



I have two event handlers attached to catch and log all unhandled exceptions. These are working for all other exceptions. I'm not sure how these System.ObjectDisposedExceptions are not being caught before they get to the event log and, also, why the application does not actually crash. It keeps running just fine.



Here are the application's exception event handlers and the App constructor that hooks them up:



public App() : base()

System.Windows.Application.Current.DispatcherUnhandledException += new System.Windows.Threading.DispatcherUnhandledExceptionEventHandler(Current_DispatcherUnhandledException);
AppDomain.CurrentDomain.UnhandledException += CurrentDomainOnUnhandledException;


void Current_DispatcherUnhandledException(object sender, DispatcherUnhandledExceptionEventArgs e)

Console.WriteLine(e.Exception.Message);
Console.WriteLine(e.Exception.StackTrace);
LogException(e.Exception);
e.Handled = true;


void CurrentDomainOnUnhandledException(object sender, UnhandledExceptionEventArgs unhandledExceptionEventArgs)

if (unhandledExceptionEventArgs.ExceptionObject is Exception)

var e = (Exception)unhandledExceptionEventArgs.ExceptionObject;
Console.WriteLine(e.Message);
Console.WriteLine(e.StackTrace);
LogException((Exception)unhandledExceptionEventArgs.ExceptionObject);



void LogException(Exception e)

Exception tmp = e;
while (tmp.InnerException != null)
tmp = tmp.InnerException;

string errorMessage = string.Format("An unhandled exception occurred: 0", tmp.Message);
System.Windows.MessageBox.Show(errorMessage, "Error", MessageBoxButton.OK, MessageBoxImage.Error);

EventLogService.AddLog(EventLogSourceTypes.Error, errorMessage, DateTime.UtcNow, e.StackTrace);



I'm not sure that those are even relevant to my question, which is:



How can I catch these exceptions and document the details instead of them filling up the Windows Application event log? And, the application continues to run just fine, so despite them being AppCrash entries, the app is not actually crashing.







c# wpf






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked Nov 14 '18 at 17:09









PaulPaul

68421232




68421232












  • Can you add the stack traces of the ObjectDisposedExceptions?

    – Dave M
    Nov 14 '18 at 17:54











  • Wild guess: these could be occurring during application shutdown, in which case they would technically be app crashes, though it wouldn’t seem like it to a user.

    – Dave M
    Nov 14 '18 at 17:56











  • There are no stack traces. In fact, the only way I would know the exceptions are occurring is by looking at the Windows Application event log. And, it is not happening during shutdown. It happens approximately every 5 minutes while the application is running.

    – Paul
    Nov 14 '18 at 18:06











  • @Paul Can you add whole event log entry with stack trace?

    – Dipen Shah
    Nov 14 '18 at 21:22












  • There is no stack trace. I can't catch the exception to see the stack trace.

    – Paul
    Nov 15 '18 at 20:15

















  • Can you add the stack traces of the ObjectDisposedExceptions?

    – Dave M
    Nov 14 '18 at 17:54











  • Wild guess: these could be occurring during application shutdown, in which case they would technically be app crashes, though it wouldn’t seem like it to a user.

    – Dave M
    Nov 14 '18 at 17:56











  • There are no stack traces. In fact, the only way I would know the exceptions are occurring is by looking at the Windows Application event log. And, it is not happening during shutdown. It happens approximately every 5 minutes while the application is running.

    – Paul
    Nov 14 '18 at 18:06











  • @Paul Can you add whole event log entry with stack trace?

    – Dipen Shah
    Nov 14 '18 at 21:22












  • There is no stack trace. I can't catch the exception to see the stack trace.

    – Paul
    Nov 15 '18 at 20:15
















Can you add the stack traces of the ObjectDisposedExceptions?

– Dave M
Nov 14 '18 at 17:54





Can you add the stack traces of the ObjectDisposedExceptions?

– Dave M
Nov 14 '18 at 17:54













Wild guess: these could be occurring during application shutdown, in which case they would technically be app crashes, though it wouldn’t seem like it to a user.

– Dave M
Nov 14 '18 at 17:56





Wild guess: these could be occurring during application shutdown, in which case they would technically be app crashes, though it wouldn’t seem like it to a user.

– Dave M
Nov 14 '18 at 17:56













There are no stack traces. In fact, the only way I would know the exceptions are occurring is by looking at the Windows Application event log. And, it is not happening during shutdown. It happens approximately every 5 minutes while the application is running.

– Paul
Nov 14 '18 at 18:06





There are no stack traces. In fact, the only way I would know the exceptions are occurring is by looking at the Windows Application event log. And, it is not happening during shutdown. It happens approximately every 5 minutes while the application is running.

– Paul
Nov 14 '18 at 18:06













@Paul Can you add whole event log entry with stack trace?

– Dipen Shah
Nov 14 '18 at 21:22






@Paul Can you add whole event log entry with stack trace?

– Dipen Shah
Nov 14 '18 at 21:22














There is no stack trace. I can't catch the exception to see the stack trace.

– Paul
Nov 15 '18 at 20:15





There is no stack trace. I can't catch the exception to see the stack trace.

– Paul
Nov 15 '18 at 20:15












0






active

oldest

votes











Your Answer






StackExchange.ifUsing("editor", function ()
StackExchange.using("externalEditor", function ()
StackExchange.using("snippets", function ()
StackExchange.snippets.init();
);
);
, "code-snippets");

StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "1"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);

else
createEditor();

);

function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);



);













draft saved

draft discarded


















StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53305443%2fwpf-application-filling-windows-event-log-with-system-objectdisposedexceptions%23new-answer', 'question_page');

);

Post as a guest















Required, but never shown

























0






active

oldest

votes








0






active

oldest

votes









active

oldest

votes






active

oldest

votes















draft saved

draft discarded
















































Thanks for contributing an answer to Stack Overflow!


  • Please be sure to answer the question. Provide details and share your research!

But avoid


  • Asking for help, clarification, or responding to other answers.

  • Making statements based on opinion; back them up with references or personal experience.

To learn more, see our tips on writing great answers.




draft saved


draft discarded














StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53305443%2fwpf-application-filling-windows-event-log-with-system-objectdisposedexceptions%23new-answer', 'question_page');

);

Post as a guest















Required, but never shown





















































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown

































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown







這個網誌中的熱門文章

Barbados

How to read a connectionString WITH PROVIDER in .NET Core?

Node.js Script on GitHub Pages or Amazon S3