Logos crashes on RDP connection

Logos crashes every time I connect to a computer running it via RDP.
This looks like it should be a quick fix with a try/catch:
Application: Logos.exe
Framework Version: v4.0.30319
Description: The process was terminated due to an unhandled exception.
Exception Info: System.ArgumentException
at System.Windows.Controls.FlowDocumentScrollViewer.DocumentChanged(System.Windows.Documents.FlowDocument, System.Windows.Documents.FlowDocument)
at System.Windows.Controls.FlowDocumentScrollViewer.DocumentChanged(System.Windows.DependencyObject, System.Windows.DependencyPropertyChangedEventArgs)
at System.Windows.DependencyObject.OnPropertyChanged(System.Windows.DependencyPropertyChangedEventArgs)
at System.Windows.FrameworkElement.OnPropertyChanged(System.Windows.DependencyPropertyChangedEventArgs)
at System.Windows.DependencyObject.NotifyPropertyChange(System.Windows.DependencyPropertyChangedEventArgs)
at System.Windows.DependencyObject.UpdateEffectiveValue(System.Windows.EntryIndex, System.Windows.DependencyProperty, System.Windows.PropertyMetadata, System.Windows.EffectiveValueEntry, System.Windows.EffectiveValueEntry ByRef, Boolean, Boolean, System.Windows.OperationType)
at System.Windows.StyleHelper.ApplyTemplatedParentValue(System.Windows.DependencyObject, MS.Internal.FrameworkObject, Int32, MS.Utility.FrugalStructList`1<System.Windows.ChildRecord> ByRef, System.Windows.DependencyProperty, System.Windows.FrameworkElementFactory)
at System.Windows.StyleHelper.InvalidatePropertiesOnTemplateNode(System.Windows.DependencyObject, MS.Internal.FrameworkObject, Int32, MS.Utility.FrugalStructList`1<System.Windows.ChildRecord> ByRef, Boolean, System.Windows.FrameworkElementFactory)
at System.Windows.FrameworkTemplate.InvalidatePropertiesOnTemplate(System.Windows.DependencyObject, System.Object)
at System.Windows.FrameworkTemplate.HandleBeforeProperties(System.Object, System.Windows.DependencyObject ByRef, System.Windows.DependencyObject, System.Windows.FrameworkElement, System.Windows.Markup.INameScope)
at System.Windows.FrameworkTemplate+<>c__DisplayClass45_0.<LoadOptimizedTemplateContent>b__2(System.Object, System.Xaml.XamlObjectEventArgs)
at System.Xaml.XamlObjectWriter.OnBeforeProperties(System.Object)
at System.Xaml.XamlObjectWriter.Logic_CreateAndAssignToParentStart(MS.Internal.Xaml.Context.ObjectWriterContext)
at System.Xaml.XamlObjectWriter.WriteStartMember(System.Xaml.XamlMember)
at System.Windows.FrameworkTemplate.LoadTemplateXaml(System.Xaml.XamlReader, System.Xaml.XamlObjectWriter)
Exception Info: System.Windows.Markup.XamlParseException
at System.Windows.Markup.XamlReader.RewrapException(System.Exception, System.Uri)
at System.Windows.FrameworkTemplate.LoadTemplateXaml(System.Xaml.XamlReader, System.Xaml.XamlObjectWriter)
at System.Windows.FrameworkTemplate.LoadTemplateXaml(System.Xaml.XamlObjectWriter)
at System.Windows.FrameworkTemplate.LoadOptimizedTemplateContent(System.Windows.DependencyObject, System.Windows.Markup.IComponentConnector, System.Windows.Markup.IStyleConnector, System.Collections.Generic.List`1<System.Windows.DependencyObject>, System.Windows.UncommonField`1<System.Collections.Hashtable>)
at System.Windows.FrameworkTemplate.LoadContent(System.Windows.DependencyObject, System.Collections.Generic.List`1<System.Windows.DependencyObject>)
at System.Windows.StyleHelper.ApplyTemplateContent(System.Windows.UncommonField`1<System.Collections.Specialized.HybridDictionary[]>, System.Windows.DependencyObject, System.Windows.FrameworkElementFactory, Int32, System.Collections.Specialized.HybridDictionary, System.Windows.FrameworkTemplate)
at System.Windows.FrameworkTemplate.ApplyTemplateContent(System.Windows.UncommonField`1<System.Collections.Specialized.HybridDictionary[]>, System.Windows.FrameworkElement)
at System.Windows.FrameworkElement.ApplyTemplate()
at System.Windows.FrameworkElement.MeasureCore(System.Windows.Size)
at System.Windows.UIElement.Measure(System.Windows.Size)
at System.Windows.Controls.Control.MeasureOverride(System.Windows.Size)
at System.Windows.FrameworkElement.MeasureCore(System.Windows.Size)
at System.Windows.UIElement.Measure(System.Windows.Size)
at System.Windows.ContextLayoutManager.UpdateLayout()
at System.Windows.ContextLayoutManager.UpdateLayoutCallback(System.Object)
at System.Windows.Media.MediaContext.FireInvokeOnRenderCallbacks()
at System.Windows.Media.MediaContext.RenderMessageHandlerCore(System.Object)
at System.Windows.Media.MediaContext.RenderMessageHandler(System.Object)
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(System.Delegate, System.Object, Int32)
at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(System.Object, System.Delegate, System.Object, Int32, System.Delegate)
at System.Windows.Threading.DispatcherOperation.InvokeImpl()
at System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object)
at System.Windows.Threading.DispatcherOperation.Invoke()
at System.Windows.Threading.Dispatcher.ProcessQueue()
at System.Windows.Threading.Dispatcher.WndProcHook(IntPtr, Int32, IntPtr, IntPtr, Boolean ByRef)
at MS.Win32.HwndWrapper.WndProc(IntPtr, Int32, IntPtr, IntPtr, Boolean ByRef)
at MS.Win32.HwndSubclass.DispatcherCallbackOperation(System.Object)
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(System.Delegate, System.Object, Int32)
at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(System.Object, System.Delegate, System.Object, Int32, System.Delegate)
at System.Windows.Threading.Dispatcher.LegacyInvokeImpl(System.Windows.Threading.DispatcherPriority, System.TimeSpan, System.Delegate, System.Object, Int32)
at MS.Win32.HwndSubclass.SubclassWndProc(IntPtr, Int32, IntPtr, IntPtr)
at MS.Win32.UnsafeNativeMethods.DispatchMessage(System.Windows.Interop.MSG ByRef)
at System.Windows.Threading.Dispatcher.PushFrameImpl(System.Windows.Threading.DispatcherFrame)
at System.Windows.Application.RunDispatcher(System.Object)
at System.Windows.Application.RunInternal(System.Windows.Window)
at LDLS4.OurApp.InitializeAndRun(System.Collections.ObjectModel.ReadOnlyCollection`1<System.String>, Libronix.Utility.Threading.SingleInstanceManager)
at LDLS4.OurApp.Main(System.String[])
Comments
-
Actually maybe not... It's all framework stuff, your call is pretty high in the stack trace, isn't it?
Is there any workaround for this?
0 -
There are no known workarounds for this crash (and as you said, it's the framework, so it's hard for us to handle it).
We don't recommend running Logos 6 under an RDP session.
0 -
That seems odd. If that's the case then ANY app with a text flow control should fail in remote Desktop.
There's something wrong with the XAML, and I wouldn't be surprised if the IDE warns you about it when the designer is open.
WPF errors are notoriously convoluted, but that doesn't mean it's the fault of .NET. I do this for a living.
0 -
Sorry, didn't mean to imply that it's 100% WPF's fault. There's probably a change we could make to the application XAML that would avoid this problem. We have a bug in our issue tracker to look into this, but it's not high priority.
0 -
There's a FlowDocumentScrollViewer in Text Comparison. If I disable Text Comparison, the problem goes away.
The source code for the method at the bottom of the stack trace is here:
Based on the error message thrown from the method, I'm guessing that a FlowDocument is trying to be reused, or perhaps someone is binding the FlowDocument twice. Look at what is setting the Document property on the ComparisonToolViewModel. I think your problem may start there.
This bug has been here for more than two years at least, and it isn't a big one. I'd love to see it resolved, as, on the whole, this program is crazily bug-free and VERY impressive, especially considering the scope of the project. It's clear that the developers value quality very highly, and hopefully the fact that this bug exists will bother the snot out of a dev until he or she gets it fixed.
0 -
If I'm right, can I get a free crossgrade to 7 whenever it's released? [;)] (Just kidding)
0