Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Unhandled Exception in Async Work #105

Open
thw26 opened this issue Dec 6, 2022 · 6 comments
Open

Unhandled Exception in Async Work #105

thw26 opened this issue Dec 6, 2022 · 6 comments
Labels
bug Something isn't working Logos 10 needs further testing not our bug This most likely belongs to upstream wine/proton

Comments

@thw26
Copy link
Collaborator

thw26 commented Dec 6, 2022

This error is likely an upstream bug, but I am going to begin collecting data on this crash for submitting a WINE bug report.

Here is a full error output:

https://pastebin.com/Y0XvDzrm

I've triggered this primarily in two situations. First, when the Text Comparison Tool is open, I found that Logos regularly crashed when the Vulgate was an included translation. Second, when working in Aramaic on one of the Targums, slowly scrolling through the text I have noticed Logos will regularly crash.

I have noticed this in other situations, such as scrolling in the BHS apparatus or hovering over one of the links in the BHS apparatus causes it, but even other more mundane situations can cause this crash.

This is the main thing which blocks my Logos on Linux use from being pleasurable. If this were solved, I don't think I'd have any major issues.


UPDATE: This is happening when I have a link set placed on one of the aforementioned resources, thus as I scroll through DBL, BDB, HALOT, or NIDOTTE, the async error can trigger for the BHS/BHS apparatus.

Given that Logos's BHS does report in the German, I'm wondering if this is some kind of problem with the fact that my interface is English but these other resources are not primary (i.e., Hebrew, Greek, Biblical Aramaic) languages (Latin, Aramaic, German) and if something is different between the languages.

@thw26 thw26 added bug Something isn't working not our bug This most likely belongs to upstream wine/proton Logos 10 needs further testing labels Dec 6, 2022
@thw26
Copy link
Collaborator Author

thw26 commented Mar 7, 2023

I thought this issue might pertain to resources of different languages being synced together when those resources are not, say, English and Hebrew/Greek.

As a test, I ran Targum Psalm (non-biblical Aramaic), the Targum Lexicon, and HALOT to see if this caused the issue; it did! But when I removed HALOT, the issue still happened with just the Targum Psalm and Targum Lexicon.

Given I found this issue happening with the apparatuses, the Vulgate, and these Aramaic resources, I'm wondering if it has more to deal with particular resources than something else.

@thw26
Copy link
Collaborator Author

thw26 commented Mar 27, 2023

I'm now also seeing this error in the library panel. I tried a two-word search "directory for" and the search ended while typing "for".

https://termbin.com/5my3

A diff of the two files pasted so far does indicate these are difference issues, though the uppermost unhandled exception is the same (async work, failfast).

@thw26
Copy link
Collaborator Author

thw26 commented Jul 17, 2023

I thought it'd be worthwhile pulling one of the errors out of the async error's log entry:

System.AggregateException: One or more errors occurred. (Culture is not supported. (Parameter 'name')
eo is an invalid culture identifier.)
 ---> System.Globalization.CultureNotFoundException: Culture is not supported. (Parameter 'name')
eo is an invalid culture identifier.
   at System.Globalization.CultureInfo..ctor(String name, Boolean useUserOverride)
   at System.Globalization.CultureData.NlsEnumCultures(CultureTypes types)
   at System.Globalization.CultureData.GetCultures(CultureTypes types)
   at System.Globalization.CultureInfo.GetCultures(CultureTypes types)
   at Libronix.Utility.CultureInfoUtility.CreateSpecificCulture(LanguageName language)
   at Libronix.RichText.Conversions.RichTextToPlainText.Visitor.GetCultureInfoFromLanguage(LanguageName language)
   at Libronix.RichText.Conversions.RichTextToPlainText.Visitor.ProcessRunText(String strRunText)
   at Libronix.RichText.Conversions.RichTextToPlainText.Visitor.Visit(RichTextRun run)
   at Libronix.RichText.Conversions.RichTextToPlainText.Visitor.WriteSubtree()
   at Libronix.RichText.Conversions.RichTextToPlainText.Visitor.Visit(RichTextParagraph para)
   at Libronix.RichText.RichTextParagraph.Accept(IRichTextVisitor visitor)
   at Libronix.RichText.Conversions.RichTextToPlainText.Visitor.WriteSubtree()
   at Libronix.RichText.Conversions.RichTextToPlainText.Visitor.WriteToEnd()
   at Libronix.RichText.Conversions.RichTextToPlainText.Convert(IEnumerable`1 richText, TextWriter writerText, IWorkState state, RichTextToPlainTextSettings
 settings)
   at Libronix.RichText.Conversions.RichTextToPlainText.Convert(IEnumerable`1 richText, IWorkState state, RichTextToPlainTextSettings settings)
   at Libronix.RichText.Conversions.RichTextToPlainText.Convert(IEnumerable`1 richText, IWorkState state)
   at Libronix.DigitalLibrary.Resources.Logos.Controls.LogosDisplayElementAutomationPeer.GetTextRangeContent(ReadOnlyCollection`1 textRanges, IWorkState wor
kState)
   at Libronix.DigitalLibrary.Resources.Logos.Controls.LogosDisplayElementAutomationPeer.ComputeTextAsync(AsyncMethodContext context)
   --- End of inner exception stack trace ---wine: Call from 0000000170032138 to unimplemented function KERNEL32.dll.RaiseFailFastException, aborting

I wonder if this "CultureNotFoundException" is the source of the problem since it "is an invalid culture identifier".

@thw26
Copy link
Collaborator Author

thw26 commented Jul 19, 2023

I managed to fix this today after a reboot failed to fix it by removing the library catalog.

This would suggest to me that something happens during Logos's operation that corrupts the library catalog for us. This would go hand-in-hand with our trouble-with-first-boot issue: something is happening that causes Logos/wine to corrupt the catalog.


EDIT: Today (20230720) I faced the same issue and it was also fixed by removing the library catalog.

EDIT: The error surfaced soon after clearing this and I got a new async error:

https://pastebin.com/KsBPdRQE

Note this still has the "Culture is not supported" language but the output is much longer with another error:

Unhandled exception. System.Runtime.InteropServices.SEHException (0x80004005): External com
ponent has thrown an exception.
   at System.Environment.FailFast(String message, Exception exception)
   at Libronix.Utility.ApplicationUtility.FailFast(String message, Exception exception)
   at Libronix.Utility.Threading.AsyncWorkerTask`1.EnumMoveNext()
   at Libronix.Utility.Threading.AsyncWorkerTask`1.ContinueExecution(Object unused)
   at Libronix.Utility.Threading.AsyncMethodAsyncActionBase.HandleAsyncCompletion()
   at Libronix.Utility.Threading.AsyncWorkItemAsyncAction.WorkItemCompletedCallback(AsyncWorkItem workItem)
   at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
--- End of stack trace from previous location ---
   at Libronix.Utility.Threading.AsyncWorkItem.Execute()
   at Libronix.Utility.Threading.AsyncWorkItem.Finish()
   at Libronix.Utility.Threading.AsyncMethodAsyncActionBase.HandleAsyncCompletion()
   at Libronix.Utility.Threading.AsyncWorkItemAsyncAction.WorkItemCompletedCallback(AsyncWorkItem workItem)
   at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
--- End of stack trace from previous location ---
   at Libronix.Utility.Threading.AsyncWorkItem.Execute()
   at Libronix.Utility.Threading.AsyncWorkItem.Finish()
   at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
   at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
   at System.Windows.Threading.DispatcherOperation.InvokeImpl()
   at MS.Internal.CulturePreservingExecutionContext.CallbackWrapper(Object obj)
   at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
--- End of stack trace from previous location ---
   at MS.Internal.CulturePreservingExecutionContext.Run(CulturePreservingExecutionContext executionContext, ContextCallback callback, Object state)
   at System.Windows.Threading.DispatcherOperation.Invoke()
   at System.Windows.Threading.Dispatcher.ProcessQueue()
   at System.Windows.Threading.Dispatcher.WndProcHook(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
   at MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
   at MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o)
   at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
   at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
   at System.Windows.Threading.Dispatcher.LegacyInvokeImpl(DispatcherPriority priority, TimeSpan timeout, Delegate method, Object args, Int32 numArgs)
   at System.Windows.Threading.Dispatcher.Invoke(DispatcherPriority priority, Delegate method, Object arg)
   at MS.Win32.HwndSubclass.SubclassWndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam)
   at MS.Win32.UnsafeNativeMethods.DispatchMessage(MSG& msg)
   at System.Windows.Threading.Dispatcher.PushFrameImpl(DispatcherFrame frame)
   at System.Windows.Threading.Dispatcher.PushFrame(DispatcherFrame frame)
   at System.Windows.Threading.Dispatcher.Run()
   at System.Windows.Application.RunDispatcher(Object ignore)
   at System.Windows.Application.RunInternal(Window window)
   at System.Windows.Application.Run(Window window)
   at System.Windows.Application.Run()
   at LDLS4.OurApp.InitializeAndRun(ReadOnlyCollection`1 listArgs, SingleInstanceManager sim, Scope telemetryStep)
   at LDLS4.OurApp.Main(String[] astrArgs)

@thw26
Copy link
Collaborator Author

thw26 commented Jul 27, 2023

This time Logos failed and it failed with only the culture error:

https://pastebin.com/LqbCMpnU

@thw26
Copy link
Collaborator Author

thw26 commented Jun 25, 2024

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working Logos 10 needs further testing not our bug This most likely belongs to upstream wine/proton
Projects
None yet
Development

No branches or pull requests

1 participant