7.1 beta 4: Crash when doing print/export and inline search

Mark Barnes
Mark Barnes Member Posts: 15,432 ✭✭✭

Under certain circumstances, Logos will crash when doing print/export from an inline search. When the crash occurs, "Selected text" is chosen, and the preview will display "Print/Export only". When you click copy to clipboard, Logos will crash.

I can't reproduce this consistently, but it happened twice in quick succession.

The logs didn't capture the error, so this is from event viewer:

Application: Logos.exe
Framework Version: v4.0.30319
Description: The process was terminated due to an unhandled exception.
Exception Info: System.AccessViolationException
at Libronix.DigitalLibrary.Resources.Logos.NativeMethods.LogosDisplayState_EnsureTextRangeLoaded(Libronix.DigitalLibrary.Resources.Logos.SafeLogosDisplayStateHandle, Libronix.DigitalLibrary.Resources.Logos.SafeSinaiTextRangeHandle)
at Libronix.DigitalLibrary.Resources.Logos.Controls.LogosDisplayElement.EnsureTextRangeLoaded(Libronix.DigitalLibrary.Resources.Logos.LogosResourceTextRange)
at Libronix.DigitalLibrary.Resources.Logos.LogosResourceDisplayModel.NavigateToTextRangeCore(Libronix.DigitalLibrary.ResourceTextRange)
at Libronix.DigitalLibrary.ResourceDisplay.NavigateAndRaiseEvents(System.Func`1<Boolean>, Libronix.DigitalLibrary.ResourceDisplayNavigationSettings)
at LDLS4.Panels.ResourcePanel.ResourceViewModelPanelExporter+<ExportToRichText>d__32.MoveNext()
at Libronix.Utility.Threading.AsyncWorkerTask`1[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].EnumMoveNext()
at Libronix.Utility.Threading.AsyncWorkerTask`1[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].ContinueExecution(System.Object)
at Libronix.Utility.Threading.AsyncWorker.DoStart[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]](Libronix.Utility.Threading.AsyncWorkGroup, System.Collections.Generic.IEnumerable`1<Libronix.Utility.Threading.AsyncAction>, Libronix.Utility.Threading.AsyncWorkOptions, System.Threading.CancellationToken, Libronix.Utility.Threading.ISynchronizationContext, System.Func`3<Libronix.Utility.Threading.AsyncWorkItem`1<System.__Canon>,System.Threading.CancellationTokenSource[],System.__Canon>)
at Libronix.Utility.Threading.AsyncWorker.Start[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]](Libronix.Utility.Threading.AsyncWorkGroup, System.Collections.Generic.IEnumerable`1<Libronix.Utility.Threading.AsyncAction>, Libronix.Utility.Threading.AsyncWorkOptions, System.Threading.CancellationToken, Libronix.Utility.Threading.ISynchronizationContext)
at Libronix.Utility.Threading.AsyncActions.Execute[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]](System.Collections.Generic.IEnumerable`1<Libronix.Utility.Threading.AsyncAction>, Libronix.Utility.Threading.AsyncWorkOptions, Libronix.Utility.Threading.AsyncWorkItem`1<System.__Canon> ByRef)
at LDLS4.PanelExporter+<ExportToDataObject>d__50.MoveNext()
at Libronix.Utility.Threading.AsyncWorkerTask`1[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].EnumMoveNext()
at Libronix.Utility.Threading.AsyncWorkerTask`1[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].ContinueExecution(System.Object)
at Libronix.Utility.Threading.AsyncWorker.DoStart[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]](Libronix.Utility.Threading.AsyncWorkGroup, System.Collections.Generic.IEnumerable`1<Libronix.Utility.Threading.AsyncAction>, Libronix.Utility.Threading.AsyncWorkOptions, System.Threading.CancellationToken, Libronix.Utility.Threading.ISynchronizationContext, System.Func`3<Libronix.Utility.Threading.AsyncWorkItem`1<System.__Canon>,System.Threading.CancellationTokenSource[],System.__Canon>)
at Libronix.Utility.Threading.AsyncWorker.Start[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]](Libronix.Utility.Threading.AsyncWorkGroup, System.Collections.Generic.IEnumerable`1<Libronix.Utility.Threading.AsyncAction>, Libronix.Utility.Threading.AsyncWorkOptions, System.Threading.CancellationToken, Libronix.Utility.Threading.ISynchronizationContext)
at Libronix.Utility.Threading.AsyncActions.Execute[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]](System.Collections.Generic.IEnumerable`1<Libronix.Utility.Threading.AsyncAction>, Libronix.Utility.Threading.AsyncWorkOptions, Libronix.Utility.Threading.AsyncWorkItem`1<System.__Canon> ByRef)
at LDLS4.Panels.ExportPanel.ExportViewModel+<CopyToClipboardWork>d__57.MoveNext()
at Libronix.Utility.Threading.AsyncWorkerTask`1[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].EnumMoveNext()
at Libronix.Utility.Threading.AsyncWorkerTask`1[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].ContinueExecution(System.Object)
at Libronix.Utility.Threading.AsyncWorker.DoStart[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]](Libronix.Utility.Threading.AsyncWorkGroup, System.Collections.Generic.IEnumerable`1<Libronix.Utility.Threading.AsyncAction>, Libronix.Utility.Threading.AsyncWorkOptions, System.Threading.CancellationToken, Libronix.Utility.Threading.ISynchronizationContext, System.Func`3<Libronix.Utility.Threading.AsyncWorkItem`1<System.__Canon>,System.Threading.CancellationTokenSource[],System.__Canon>)
at Libronix.Utility.Threading.AsyncWorker.Start[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]](Libronix.Utility.Threading.AsyncWorkGroup, System.Collections.Generic.IEnumerable`1<Libronix.Utility.Threading.AsyncAction>, Libronix.Utility.Threading.AsyncWorkOptions, System.Threading.CancellationToken, Libronix.Utility.Threading.ISynchronizationContext)
at Libronix.Utility.Threading.AsyncActions.Execute[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]](System.Collections.Generic.IEnumerable`1<Libronix.Utility.Threading.AsyncAction>, Libronix.Utility.Threading.AsyncWorkOptions, Libronix.Utility.Threading.AsyncWorkItem`1<System.__Canon> ByRef)
at LDLS4.Panels.ExportPanel.ExportBehavior+<DoWork>d__7.MoveNext()
at Libronix.Utility.Threading.AsyncWorkerTask`1[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].EnumMoveNext()
at Libronix.Utility.Threading.AsyncWorkerTask`1[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].ContinueExecution(System.Object)
at Libronix.Utility.Threading.AsyncWorker.DoStart[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]](Libronix.Utility.Threading.AsyncWorkGroup, System.Collections.Generic.IEnumerable`1<Libronix.Utility.Threading.AsyncAction>, Libronix.Utility.Threading.AsyncWorkOptions, System.Threading.CancellationToken, Libronix.Utility.Threading.ISynchronizationContext, System.Func`3<Libronix.Utility.Threading.AsyncWorkItem`1<System.__Canon>,System.Threading.CancellationTokenSource[],System.__Canon>)
at Libronix.Utility.Threading.AsyncWorker.Start(Libronix.Utility.Threading.AsyncWorkGroup, System.Collections.Generic.IEnumerable`1<Libronix.Utility.Threading.AsyncAction>, Libronix.Utility.Threading.AsyncWorkOptions, System.Threading.CancellationToken, Libronix.Utility.Threading.ISynchronizationContext)
at Libronix.Utility.Windows.Threading.DispatcherAsyncWorker.Start(System.Windows.Threading.Dispatcher, Libronix.Utility.Threading.AsyncWorkGroup, System.Collections.Generic.IEnumerable`1<Libronix.Utility.Threading.AsyncAction>, Libronix.Utility.Threading.AsyncWorkToken ByRef, System.Threading.CancellationToken)
at LDLS4.Panels.ExportPanel.ExportBehavior.Execute(System.Object)
at Libronix.Utility.Windows.CommandUtility+<>c__DisplayClass69_0.<CreateCommandBindingForBehavior>b__0(System.Object, System.Windows.Input.ExecutedRoutedEventArgs)
at System.Windows.Input.CommandBinding.OnExecuted(System.Object, System.Windows.Input.ExecutedRoutedEventArgs)
at System.Windows.Input.CommandManager.ExecuteCommandBinding(System.Object, System.Windows.Input.ExecutedRoutedEventArgs, System.Windows.Input.CommandBinding)
at System.Windows.Input.CommandManager.FindCommandBinding(System.Windows.Input.CommandBindingCollection, System.Object, System.Windows.RoutedEventArgs, System.Windows.Input.ICommand, Boolean)
at System.Windows.Input.CommandManager.FindCommandBinding(System.Object, System.Windows.RoutedEventArgs, System.Windows.Input.ICommand, Boolean)
at System.Windows.Input.CommandManager.OnExecuted(System.Object, System.Windows.Input.ExecutedRoutedEventArgs)
at System.Windows.RoutedEventArgs.InvokeHandler(System.Delegate, System.Object)
at System.Windows.RoutedEventHandlerInfo.InvokeHandler(System.Object, System.Windows.RoutedEventArgs)
at System.Windows.EventRoute.InvokeHandlersImpl(System.Object, System.Windows.RoutedEventArgs, Boolean)
at System.Windows.UIElement.RaiseEventImpl(System.Windows.DependencyObject, System.Windows.RoutedEventArgs)
at System.Windows.Input.RoutedCommand.ExecuteImpl(System.Object, System.Windows.IInputElement, Boolean)
at MS.Internal.Commands.CommandHelpers.CriticalExecuteCommandSource(System.Windows.Input.ICommandSource, Boolean)
at System.Windows.Documents.Hyperlink.OnClick()
at System.Windows.Documents.Hyperlink.DoUserInitiatedNavigation(System.Object)
at System.Windows.Documents.Hyperlink.OnMouseLeftButtonUp(System.Object, System.Windows.Input.MouseButtonEventArgs)
at System.Windows.RoutedEventArgs.InvokeHandler(System.Delegate, System.Object)
at System.Windows.RoutedEventHandlerInfo.InvokeHandler(System.Object, System.Windows.RoutedEventArgs)
at System.Windows.EventRoute.InvokeHandlersImpl(System.Object, System.Windows.RoutedEventArgs, Boolean)
at System.Windows.UIElement.ReRaiseEventAs(System.Windows.DependencyObject, System.Windows.RoutedEventArgs, System.Windows.RoutedEvent)
at System.Windows.UIElement.OnMouseUpThunk(System.Object, System.Windows.Input.MouseButtonEventArgs)
at System.Windows.RoutedEventArgs.InvokeHandler(System.Delegate, System.Object)
at System.Windows.RoutedEventHandlerInfo.InvokeHandler(System.Object, System.Windows.RoutedEventArgs)
at System.Windows.EventRoute.InvokeHandlersImpl(System.Object, System.Windows.RoutedEventArgs, Boolean)
at System.Windows.UIElement.RaiseEventImpl(System.Windows.DependencyObject, System.Windows.RoutedEventArgs)
at System.Windows.ContentElement.RaiseTrustedEvent(System.Windows.RoutedEventArgs)
at System.Windows.Input.InputManager.ProcessStagingArea()
at System.Windows.Input.InputManager.ProcessInput(System.Windows.Input.InputEventArgs)
at System.Windows.Input.InputProviderSite.ReportInput(System.Windows.Input.InputReport)
at System.Windows.Interop.HwndMouseInputProvider.ReportInput(IntPtr, System.Windows.Input.InputMode, Int32, System.Windows.Input.RawMouseActions, Int32, Int32, Int32)
at System.Windows.Interop.HwndMouseInputProvider.FilterMessage(IntPtr, MS.Internal.Interop.WindowMessage, IntPtr, IntPtr, Boolean ByRef)
at System.Windows.Interop.HwndSource.InputFilterMessage(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[])

This is my personal Faithlife account. On 1 March 2022, I started working for Faithlife, and have a new 'official' user account. Posts on this account shouldn't be taken as official Faithlife views!

Comments