jimmejardine / qiqqa-open-source

The open-sourced version of the award-winning Qiqqa research management tool for Windows
GNU General Public License v3.0
366 stars 60 forks source link

Qiqqa crashing all the time under Parallels #355

Open aterhorst opened 2 years ago

aterhorst commented 2 years ago

I have been successively using Qiqqa under Parallels for several years. Lately, it has been crashing a lot. To the point, it is barely usable. I am sure my set-up is part of the problem. However, if someone can look at the logs and tell me why things are crashing, I may be able to adjust Parallels.

The log files can be located here: https://cloudstor.aarnet.edu.au/plus/f/5809992369

GerHobbelt commented 2 years ago

aarnet keeps giving me the 'New User?' page. Please advise.


From that page:

New User? If you're a new user, you can login by selecting your institution from the list below and your account will automatically created once you have logged in using your insitution's credentials.


😉 I'm not in any institution. Or insitution (the typo is copy-pasted from the aarnet site).


Will be able to have another go on wednesday. (RL takes over the next 2 days, sorry)

aterhorst commented 2 years ago

Hi

This should work!

https://cloudstor.aarnet.edu.au/plus/s/sVWR7VxcaoqqkBl

From: Ger Hobbelt @.> Reply to: jimmejardine/qiqqa-open-source @.> Date: Monday, 6 September 2021 at 7:26 am To: jimmejardine/qiqqa-open-source @.> Cc: "Terhorst, Andrew (Data61, Sandy Bay)" @.>, Author @.***> Subject: Re: [jimmejardine/qiqqa-open-source] Qiqqa crashing all the time under Parallels (#355)

aarnet keeps giving me the 'New User?' page. Please advise.


From that page:

New User? If you're a new user, you can login by selecting your institution from the list below and your account will automatically created once you have logged in using your insitution's credentials.


😉 I'm not in any institution. Or insitution (the typo is copy-pasted from the aarnet site).


Will be able to have another go on wednesday. (RL takes over the next 2 days, sorry)

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHubhttps://github.com/jimmejardine/qiqqa-open-source/issues/355#issuecomment-913230159, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ABYGZC5PXSY7Y2VGDOWXNGTUAPN7DANCNFSM5DKFUJTA. Triage notifications on the go with GitHub Mobile for iOShttps://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Androidhttps://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

GerHobbelt commented 2 years ago

Got the logs (thanks!) and had a look.

Ugh. I've seen that 'Insufficient memory' error several times before and did not find a decent answer or hint what could be wrong. (There is plenty memory available at the time of the error report: memory usage is reported as part of every log line in the Qiqqa log, which makes this a real weird bother.)

Not an answer yet, but today, there's some progress at least: found a pointer by Microsoft which discusses this thing...

First off, the relevant snippet from the log (plus the tail end: Qiqqa shutting down immediately):

0210902.111636 [Q] ERROR [Main] [40.435M] RemarkOnException.....

System.OutOfMemoryException
Message: Insufficient memory to continue the execution of the program.
HResult: 0x8007000E
Source: PresentationCore
StackTrace:    at System.Windows.Media.Composition.DUCE.Channel.SyncFlush()
   at System.Windows.Interop.HwndTarget.UpdateWindowSettings(Boolean enableRenderTarget, Nullable`1 channelSet)
   at System.Windows.Interop.HwndTarget.UpdateWindowPos(IntPtr lParam)
   at System.Windows.Interop.HwndTarget.HandleMessage(WindowMessage msg, IntPtr wparam, IntPtr lparam)
   at System.Windows.Interop.HwndSource.HwndTargetFilterMessage(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)
TargetSite: Void SyncFlush()
 System.Object = 

20210902.111636 [Q] ERROR [Main] [40.468M] RemarkOnException_GUI_THREAD...

System.OutOfMemoryException
Message: Insufficient memory to continue the execution of the program.
HResult: 0x8007000E
Source: PresentationCore
StackTrace:    at System.Windows.Media.Composition.DUCE.Channel.SyncFlush()
   at System.Windows.Interop.HwndTarget.UpdateWindowSettings(Boolean enableRenderTarget, Nullable`1 channelSet)
   at System.Windows.Interop.HwndTarget.UpdateWindowPos(IntPtr lParam)
   at System.Windows.Interop.HwndTarget.HandleMessage(WindowMessage msg, IntPtr wparam, IntPtr lparam)
   at System.Windows.Interop.HwndSource.HwndTargetFilterMessage(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)
TargetSite: Void SyncFlush()
 System.Object = 

20210902.111636 [Q] ERROR [Main] [32.477M] Exception thrown in top level error handler!!

System.OutOfMemoryException
Message: Out of memory
HResult: 0x8007000E
Source: Qiqqa
StackTrace:    at Qiqqa.Common.MessageBoxControls.UnhandledExceptionMessageBox.DisplayException(Exception ex)
   at Qiqqa.Main.MainEntry.RemarkOnException_GUI_THREAD(Exception ex, Boolean potentially_fatal)
TargetSite: Void DisplayException(System.Exception)
 === INNER EXCEPTION ===
 System.OutOfMemoryException
 Message: Insufficient memory to continue the execution of the program.
 HResult: 0x8007000E
 Source: PresentationCore
 StackTrace:    at System.Windows.Media.Composition.DUCE.Channel.SyncFlush()
   at System.Windows.Interop.HwndTarget.UpdateWindowSettings(Boolean enableRenderTarget, Nullable`1 channelSet)
   at System.Windows.Interop.HwndTarget.UpdateWindowPos(IntPtr lParam)
   at System.Windows.Interop.HwndTarget.HandleMessage(WindowMessage msg, IntPtr wparam, IntPtr lparam)
   at System.Windows.Interop.HwndSource.HwndTargetFilterMessage(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)
 TargetSite: Void SyncFlush()
  System.Object = 

20210902.111636 [Q] INFO  [Main] [32.526M] ShutdownableManager is shutting down all shutdownables. Reason: Exception received in top level error handler: System.OutOfMemoryException: Insufficient memory to continue the execution of the program.
   at System.Windows.Media.Composition.DUCE.Channel.SyncFlush()
   at System.Windows.Interop.HwndTarget.UpdateWindowSettings(Boolean enableRenderTarget, Nullable`1 channelSet)
   at System.Windows.Interop.HwndTarget.UpdateWindowPos(IntPtr lParam)
   at System.Windows.Interop.HwndTarget.HandleMessage(WindowMessage msg, IntPtr wparam, IntPtr lparam)
   at System.Windows.Interop.HwndSource.HwndTargetFilterMessage(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)
20210902.111636 [Q] INFO  [Main] [32.550M] ShutdownableManager is shutting down Utilities.Misc.StatusManager
20210902.111636 [Q] INFO  [Main] [32.550M] StatusManager is signalling shutdown
20210902.111636 [Q] INFO  [Main] [32.559M] ShutdownableManager is shutting down Qiqqa.Common.Configuration.ConfigurationManager
20210902.111636 [Q] INFO  [Main] [32.559M] ConfigurationManager is saving the configuration at shutdown
20210902.111636 [Q] INFO  [Main] [32.559M] Saving configuration
20210902.111636 [Q] INFO  [Main] [33.172M] Saved configuration
20210902.111636 [Q] INFO  [Main] [33.581M] ShutdownableManager is shutting down Utilities.Misc.NotificationManager
20210902.111636 [Q] INFO  [Main] [33.581M] Shutting down notifications (0 pending)
20210902.111636 [Q] INFO  [Main] [33.581M] ShutdownableManager is shutting down Utilities.Maintainable.MaintainableManager
20210902.111636 [Q] INFO  [Main] [33.589M] Stopping MaintainableManager
20210902.111636 [Q] INFO  [Main] [33.589M] ShutdownableManager is shutting down Qiqqa.Documents.Common.DocumentQueuedStorer
20210902.111636 [Q] INFO  [Main] [33.589M] ShutdownableManager is shutting down Qiqqa.Documents.PDF.PDFRendering.PDFTextExtractor
20210902.111636 [Q] INFO  [Main] [33.589M] Stopping PDFTextExtractor threads
20210902.111636 [Q] DEBUG [Main] [33.589M] PDFTextExtractor::Shutdown: flushing the queue (0 + 0 items discarded)
20210902.111636 [Q] INFO  [Main] [33.597M] Stopped PDFTextExtractor
20210902.111636 [Q] ERROR [Main] [33.597M] Forcibly shutting down Qiqqa
20210902.111636 [Q] DEBUG [Daemon.PDFTextExtractor.1] [33.818M] PDFTextExtractor: shutting down and flushing the queue (0 + 0 items discarded)
20210902.111636 [Q] DEBUG [38] [33.835M] SafeThreadPool::QueueUserWorkItem: Breaking out due to application termination

InsufficientMemory searches will get you nowhere (unless your google/duck/bing-foo is much stronger than mine).

What did pop up something potentially useful is an unaldulterated search for the error report site (which is deep in the core of WPF 😱 ):

(the important bit today is at https://github.com/dotnet/wpf/issues/3100#issuecomment-673061208)

which leads us to this Microsoft page:

where the "Insufficient Memory" error is listed as one of many at the given crash site in this section of that page: https://docs.microsoft.com/en-us/troubleshoot/dotnet/framework/wpf-render-thread-failures#failures-in-syncflush-waitfornextmessage-synchronizechannel-and-notifypartitioniszombie


What to do about it?

😓 while this issue is pending you might want to take a look at the generic list to try (item 1) here: https://docs.microsoft.com/en-us/troubleshoot/dotnet/framework/wpf-render-thread-failures#general-recommendations

aterhorst commented 2 years ago

Thanks for the detailed response. Much appreciated! I will have a look at that Microsoft detail.

aterhorst commented 2 years ago

In Parallels, I set display options to legacy systems. All good, now.