Each time the application crashes, it throws two errors in the event viewer: First, event ID 1026, followed by event ID 1000.
Here's the information for the first error (event ID 1026)
Application: express.exe
Framework Version: v4.0.30319
Description: The process was terminated due to an unhandled exception.
Exception Info: System.OutOfMemoryException
at System.String.ReplaceInternal(Char, Char)
at System.Diagnostics.StackTrace.ToString(TraceFormat)
at System.Diagnostics.StackTrace.ToString()
at System.Runtime.Diagnostics.DiagnosticTraceBase.StackTraceString(System.Exception)
at System.Runtime.Diagnostics.EtwDiagnosticTrace.WriteExceptionToTraceString(System.Xml.XmlTextWriter, System.Exception, Int32, Int32)
at System.Runtime.Diagnostics.EtwDiagnosticTrace.ExceptionToTraceString(System.Exception, Int32)
at System.Runtime.Diagnostics.EtwDiagnosticTrace.GetSerializedPayload(System.Object, System.Runtime.Diagnostics.TraceRecord, System.Exception, Boolean)
at System.Runtime.TraceCore.ThrowingEtwException(System.Runtime.Diagnostics.EtwDiagnosticTrace, System.String, System.String, System.Exception)
at System.Runtime.ExceptionTrace.TraceEtwException(System.Exception, System.Diagnostics.TraceEventType)
at System.ServiceModel.Diagnostics.ExceptionUtility.ThrowHelper(System.Exception, System.Diagnostics.TraceEventType, System.Runtime.Diagnostics.TraceRecord)
at System.ServiceModel.Channels.ServiceChannel+SendAsyncResult.FinishSend(System.IAsyncResult, Boolean)
at System.ServiceModel.Channels.ServiceChannel+SendAsyncResult.SendCallback(System.IAsyncResult)
at System.Runtime.Fx+AsyncThunk.UnhandledExceptionFrame(System.IAsyncResult)
at System.Runtime.AsyncResult.Complete(Boolean)
at System.ServiceModel.Dispatcher.DuplexChannelBinder+AsyncDuplexRequest.Done(Boolean)
at System.ServiceModel.Dispatcher.DuplexChannelBinder+AsyncDuplexRequest.Abort()
at System.ServiceModel.Dispatcher.DuplexChannelBinder.AbortRequests()
at System.ServiceModel.Dispatcher.DuplexChannelBinder.EndTryReceive(System.IAsyncResult, System.ServiceModel.Channels.RequestContext ByRef)
at System.ServiceModel.Dispatcher.ErrorHandlingReceiver.EndTryReceive(System.IAsyncResult, System.ServiceModel.Channels.RequestContext ByRef)
at System.ServiceModel.Dispatcher.ChannelHandler.EndTryReceive(System.IAsyncResult, System.ServiceModel.Channels.RequestContext ByRef)
at System.ServiceModel.Dispatcher.ChannelHandler.AsyncMessagePump(System.IAsyncResult)
at System.ServiceModel.Dispatcher.ChannelHandler.OnAsyncReceiveComplete(System.IAsyncResult)
at System.Runtime.Fx+AsyncThunk.UnhandledExceptionFrame(System.IAsyncResult)
at System.Runtime.AsyncResult.Complete(Boolean)
at System.ServiceModel.Channels.TransportDuplexSessionChannel+TryReceiveAsyncResult.OnReceive(System.IAsyncResult)
at System.Runtime.Fx+AsyncThunk.UnhandledExceptionFrame(System.IAsyncResult)
at System.Runtime.AsyncResult.Complete(Boolean)
at System.ServiceModel.Channels.SynchronizedMessageSource+ReceiveAsyncResult.OnReceiveComplete(System.Object)
at System.ServiceModel.Channels.SessionConnectionReader.OnAsyncReadComplete(System.Object)
at System.ServiceModel.Channels.StreamConnection.OnRead(System.IAsyncResult)
at System.Runtime.Fx+AsyncThunk.UnhandledExceptionFrame(System.IAsyncResult)
at System.Net.LazyAsyncResult.Complete(IntPtr)
at System.Net.LazyAsyncResult.ProtectedInvokeCallback(System.Object, IntPtr)
at System.Net.Security.NegotiateStream.ProcessFrameBody(Int32, Byte[], Int32, Int32, System.Net.AsyncProtocolRequest)
at System.Net.Security.NegotiateStream.ReadCallback(System.Net.AsyncProtocolRequest)
at System.Net.AsyncProtocolRequest.CompleteRequest(Int32)
at System.Net.FixedSizeReader.CheckCompletionBeforeNextRead(Int32)
at System.Net.FixedSizeReader.ReadCallback(System.IAsyncResult)
at System.Runtime.AsyncResult.Complete(Boolean)
at System.ServiceModel.Channels.ConnectionStream+IOAsyncResult.OnAsyncIOComplete(System.Object)
at System.ServiceModel.Channels.PipeConnection.OnAsyncReadComplete(Boolean, Int32, Int32)
at System.ServiceModel.Channels.OverlappedContext.CompleteCallback(UInt32, UInt32, System.Threading.NativeOverlapped*)
at System.Runtime.Fx+IOCompletionThunk.UnhandledExceptionFrame(UInt32, UInt32, System.Threading.NativeOverlapped*)
at System.Threading._IOCompletionCallback.PerformIOCompletionCallback(UInt32, UInt32, System.Threading.NativeOverlapped*)
And here is the information for the second error (Event ID 1000)
Faulting application name: express.exe, version: 5.1.1.0, time stamp: 0x587d30dc
Faulting module name: KERNELBASE.dll, version: 10.0.14393.479, time stamp: 0x58256d37
Exception code: 0xe0434352
Fault offset: 0x000da832
Faulting process id: 0x80c
Faulting application start time: 0x01d27e21eb33a8cc
Faulting application path: C:\Program Files (x86)\Garmin\Express\express.exe
Faulting module path: C:\WINDOWS\System32\KERNELBASE.dll
Report Id: d50ac61d-7ace-4100-b72b-31cea8cb91b4
Faulting package full name:
Faulting package-relative application ID:
I am not sure if this is linked to how many devices I currently have added to the system. At this time I have 63 devices, It appeared to be working fine yesterday when I was adding devices, so I am not sure if some of the recent additions tipped the scale just beyond what the application can handle. Unfortunately, I am not able to remove any devices to test this theory out because the program crashes with the same errors when I attempt to do so.
If anyone else here has encountered this error and has found a solution, I would greatly appreciate any tips that can be provided.