WPF Application Filling Windows Event Log With System.ObjectDisposedExceptions
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
add a comment |
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
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
add a comment |
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
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
c# wpf
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
add a comment |
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
add a comment |
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
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
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
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.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
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
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
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
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