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

"Unexpected problem in Qiqqa" (randomly) during a quick scrolling or zooming a pdf #280

Open
NicolaBlasuttigh opened this issue Dec 28, 2020 · 14 comments
Labels
🐛bug Something isn't working

Comments

@NicolaBlasuttigh
Copy link

Hi.
I had an "unexpected problem in Qiqqa" but the dialogue box shows nothing: completely blank.
If I go over with the pointer, I can see that there are links and text because the pointer changes.

The only solution is to kill the process from the task manager.

It happens sometimes during a quick scroll/zoom on a pdf.

If it helps:
Windows 10 Home 64 bits
Build: 19041.685
Qiqqa version v.80s

Thanks!

@GerHobbelt GerHobbelt added the 🐛bug Something isn't working label Dec 29, 2020
@GerHobbelt
Copy link
Collaborator

Could you please check if this issue persists in the latest public release? (Which is available for download here: https://github.com/GerHobbelt/qiqqa-open-source/releases/tag/v82.0.7568-29227 )

Note: You can install that one over the existing Qiqqa install without harm (databases, etc. are backwards compatible across v82 - v79).

@NicolaBlasuttigh
Copy link
Author

@GerHobbelt Thank you for your answer!
I will try for sure!

Personally, I'm not understanding the difference between the different versions of Qiqqa.
Is a "pre-release" the same as a "beta" version or not? What is the latest "stable" version of open-source Qiqqa? The one you mentioned? (v82.0.7568-29227)

Thanks!

@GerHobbelt
Copy link
Collaborator

GerHobbelt commented Dec 29, 2020

Sorry for the "pre-releases" vagueness... That's me 'signalling' that these releases haven't been tested as thoroughly as I'ld like for a true "production release" as it is known in the industry.

As for "beta", "alpha", "pre-release", etc.: IMHO that's all different marketing words for the same thing: "here's the latest stuff that we're *at least somewhat confident about, but please don't be surprised if you get magical fireworks in some places".

In the case of Qiqqa, after a year+ of work on it, truth is I have more confidence in my "pre-releases" than in the last v80 "release" which is commercial Qiqqa v79 with the Qiqqa Cloud access stripped out -- at least for me, v80 is riddled with troublesome issues, some of which have been addressed by the v82 releases so that many of the PDFs one can obtain through the Internet and elsewhere don't immediately cause havoc. (Application-wise, there's still the daunting upgrade paths to do: (#215), #209, #34, #35, #23, #2, #3, #225, #155, #113)


[Edit] Since I've pointed several folks from different backgrounds here: while I may be focusing on the bugs, do note that the commercial releases were littered with them. That translates to this: v79 commercial was the best and as bad as v80.
(since v80 = v79 minus Cloud Access)

The point being (since someone asked): the "open source stuff" has the same or higher quality than before; definitely not worse.

I make a lot of fuss about the bugs (I strive for perfection) and that clearly has obscured that message. Apologies for that.


Anyhoo, the latest release I'ld advise anyone to use would indeed be build 29227: https://github.com/GerHobbelt/qiqqa-open-source/releases/tag/v82.0.7568-29227 aka v82pre11.


Thanks for asking that question as it pointed me at my own worrying-about-what-is-a-good-Qiqqa-release and assumed quality standards vs. geeky stuff like semantic versioning.

Bottom line for now, from a user perspective AFAICT:

Which Qiqqa releases are safe to use?

All of them (v82*, v81*, v80, commercial v79).

If you install one and it crashes = fails to work for you, you can take any other Qiqqa release in the v82 - v79 range and install it over the existing one. Your libraries will be usable by any version since v79.

Which Qiqqa release is advised?

Generally 'the latest', unless there's some very specific reason mentioned for the release.

At the time of writing that would be build 29227: https://github.com/GerHobbelt/qiqqa-open-source/releases/tag/v82.0.7568-29227 aka v82pre11.

Counter examples?!

Examples of such 'not for the general public' releases are

as these target specific users and their problems, hence these are specifically targeted problem diagnosing / solving releases, which are expected not to give a smooth user experience throughout as they are focused on problem-solving: this software is like having a plumber around in your house: I'm fine with it if you are 😄 but generally one wants the guy (and the problem he's here to fix) gone, unless, perhaps, you're married to him. 😉

You get the drift: you can use this software without harm, but you might experience more diagnostic dialog boxes and larger logfiles or other 'developer stuff happening' than you would tolerate, perhaps.

@nikilito I hope this helps clear up the mist around the Qiqqa releases. Again thanks for asking as you may notice this is still a process -- which has come to a conclusion today, thanks to your asking. (To be acted on with the next 'for the general public'' release.)

@NicolaBlasuttigh
Copy link
Author

Thank you very much @GerHobbelt!
Now it's clear!

I've been using Qiqqa for a while now and there is no other free reference manager like it: seriously. It has everything you need.
A few bugs here and there doesn't kill the desire to use it.

Since I personally believe in the future of this project is it possible to propose small improvements? Is there a special section for this or do you always write a new "issue"?

Thanks again for this super powerful program!

@GerHobbelt
Copy link
Collaborator

GerHobbelt commented Dec 29, 2020 via email

@NicolaBlasuttigh
Copy link
Author

Thank you Ger!

Anyway, the problem persists! Now without error window: it stops working and closes without any warning!

@GerHobbelt
Copy link
Collaborator

GerHobbelt commented Dec 30, 2020 via email

@GerHobbelt
Copy link
Collaborator

GerHobbelt commented Dec 30, 2020 via email

@NicolaBlasuttigh
Copy link
Author

NicolaBlasuttigh commented Dec 30, 2020

No, it happens with different PDF!
I noticed that the GPU usage percentage can reach 80% during zooming or scrolling.
It is an Intel(R) UHD Graphics 630 with 8GB memory if it can help.

Logs sent!

@GerHobbelt
Copy link
Collaborator

A quick look at the logs didn't uncover anything special yet, BUT I did have a suspicion, given that it happened while rendering arbitrary PDFs.
😢 When there's PDF rendering crap happening, Suspect Numero Uno is the SORAX library used by Qiqqa. (issue tracker:sorax)

After a while I got something similar to your issue (these rendering and outofmemory issues are hard to reproduce precisely anyway); at least over here the effect is the same after some "wild scrolling": a fatal Qiqqa error and termination:

image

That's a screenshot of the memory consumption by the qiqqa .NET code in DevStudio just after the crash and before Qiqqa ultimately dies on me: the "wild scrolling" caused the memory usage to go up to about/over 1.5GB (which is an important ceiling for 32-bit .NET applications), resulting in an out-of-memory failure fired by the SORAX PDF page rendering library:

image

The SORAX code will not recover from this; on another test run it locked up the Qiqqa application instead of mere crashing the app, after which I had to kill the application by hand.

Sounds like it's number #280! 🤡

The important bit: what can we do about it?

😭 Not much. Not right now anyway.

SORAX is a discontinued commercial library (issue 209 & comment) and while preliminary work has been done to find and integrate a viable alternative (MuPDF; work on it happens here: https://github.com/GerHobbelt/mupdf), it will take a while before SORAX is finally gone.

And... this 1.5GB ceiling? What if I've got 16+GB RAM? 🥳

For anyone who noted that line about 32-bit and 1.5GB: tough luck for now. Qiqqa is currently limited to 32-bit builds because of the use of SORAX and, as important!, the old Mozilla XULrunner 3.x library, which is only available for 32bit .NET. The XULrunner stuff is used for the "embedded web browser" which makes the Qiqqa Sniffer do what it does and that one comes with yet another set of issues that I'ld rather get rid of, but upgrading that one to CEF/CEFSharp/YouNameEm is also no sine cure: issue tracker::xulrunner & issue tracker::sniffer tell that story.

Of course, if anyone wants to pitch in and help out with migrating the code, welcome! 😉


More info in-depth:

GerHobbelt added a commit to GerHobbelt/qiqqa-open-source that referenced this issue Jan 1, 2021
…f the culprits it seems.

  Added memory status report code to dump into the logging as the GC output is not reliable when we want to know how much memory was actually used at the peak, when the OutOfMemory exception happened.
- lots of CultureInfo.CurrentCulture params are not necessary and only make the code harder to read. Removed where MSVC2019 doesn't yak about these any more.
- added *reason* message for logging lines which report when Qiqqa is being shut down. This should help diagnose jimmejardine#280 / jimmejardine#281 as well.
- tweaked the exit process to track and report the total number of threads running as well as only the SafeThreadPool
- document comments for several routines re LDA and AutoTag creation. Finally understanding how it's done. The LDA is *not* used for creating the AutoTags but only to find the *commonly shared* tags when running in Expedition.
  The BuzzwordGenerator is the AutoTag generator (in combination with some other code) and is using some plain basic heuristics. autoTags are extracted from the *document title* only, which explains the lousy AutoTag performance I got with the latest lib, as that one has very few PDFs which pass through OCR unscathed.
@NicolaBlasuttigh
Copy link
Author

Thank you very much Ger! Nice job!

So, it will be better to scroll gently for now.... :)

@GerHobbelt
Copy link
Collaborator

Quick heads up: new release to try: https://github.com/GerHobbelt/qiqqa-open-source/releases/tag/v83.0.7655.37537

Please report anything you observe with the new release. Thanks!

@GerHobbelt
Copy link
Collaborator

Quick heads up: hotfix release to try: https://github.com/GerHobbelt/qiqqa-open-source/releases/tag/v83.0.7656.6401 (which fixes known issue in previous release https://github.com/GerHobbelt/qiqqa-open-source/releases/tag/v83.0.7655.37537)

Please report anything you observe with the new release. Thanks!

@NicolaBlasuttigh
Copy link
Author

Hi Ger! Thanks for this new release!
Anyway, the problem constantly occurs whenever I zoom or scroll (even slowly) on pdfs with highlights, draws and annotation!!
But it doesn't happen in pdfs (even biggers i.e. books with 1000 pages) without any highlights, draw and annotation (untouched pdf..). In this case, Qiqqa is fast and reactive even if I try to zoom/scroll rapidly!

In the first case, the window opens, shows the error, the logs and once I close it Qiqqa closes as well.

Here some details:

Exception tree:

20210117083323:System.NullReferenceException: Riferimento a un oggetto non impostato su un'istanza di oggetto.
   in Qiqqa.Documents.PDF.PDFControls.Page.Highlight.PDFHighlightLayer.PDFHighlightLayer_Loaded(Object sender, RoutedEventArgs e)
   in System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)
   in System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
   in System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)
   in System.Windows.UIElement.RaiseEvent(RoutedEventArgs e)
   in System.Windows.BroadcastEventHelper.BroadcastEvent(DependencyObject root, RoutedEvent routedEvent)
   in System.Windows.BroadcastEventHelper.BroadcastLoadedEvent(Object root)
   in MS.Internal.LoadedOrUnloadedOperation.DoWork()
   in System.Windows.Media.MediaContext.FireLoadedPendingCallbacks()
   in System.Windows.Media.MediaContext.FireInvokeOnRenderCallbacks()
   in System.Windows.Media.MediaContext.RenderMessageHandlerCore(Object resizedCompositionTarget)
   in System.Windows.Media.MediaContext.RenderMessageHandler(Object resizedCompositionTarget)
   in System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
   in System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)

Recent Logs:

   in System.Windows.Threading.DispatcherOperation.InvokeDelegateCore()
   in System.Windows.Threading.DispatcherOperation.InvokeImpl()
--- Fine traccia dello stack da posizione precedente dove è stata generata l'eccezione ---
   in System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   in System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   in System.Windows.Threading.DispatcherOperation.Wait(TimeSpan timeout)
   in System.Windows.Threading.Dispatcher.InvokeImpl(DispatcherOperation operation, CancellationToken cancellationToken, TimeSpan timeout)
   in System.Windows.Threading.Dispatcher.Invoke(Action callback, DispatcherPriority priority, CancellationToken cancellationToken, TimeSpan timeout)
   in System.Windows.Threading.Dispatcher.Invoke(Action callback, DispatcherPriority priority)
   in Utilities.GUI.WPFDoEvents.InvokeInUIThread(Action action, Dispatcher override_dispatcher, DispatcherPriority priority)
TargetSite: Void CheckErrorStatus(Int32)

20210117.083312 [Q] INFO  [5] [32,483M] +Counting the autotags
20210117.083312 [Q] INFO  [33] [34,169M] It took 2ms to run the duplicate detection.
20210117.083312 [Q] INFO  [5] [37,100M] -Counting the autotags: total_occurences=33 unique_tags=13
20210117.083312 [Q] INFO  [5] [37,100M] +Building the ratios
20210117.083312 [Q] INFO  [5] [37,108M] -Building the ratios
20210117.083315 [Q] ERROR [8] [40,197M] InvokeInUIThread

System.ArgumentException
Message: Parametro non valido.
HResult: 0x80070057
Source: System.Drawing
StackTrace:    in System.Drawing.Graphics.CheckErrorStatus(Int32 status)
   in System.Drawing.Graphics.FillRectangle(Brush brush, Single x, Single y, Single width, Single height)
   in Qiqqa.Documents.PDF.PDFRendering.PDFOverlayRenderer.<>c__DisplayClass0_1.<RenderHighlights>b__1()
   in System.Windows.Threading.DispatcherOperation.InvokeDelegateCore()
   in System.Windows.Threading.DispatcherOperation.InvokeImpl()
--- Fine traccia dello stack da posizione precedente dove è stata generata l'eccezione ---
   in System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   in System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   in System.Windows.Threading.DispatcherOperation.Wait(TimeSpan timeout)
   in System.Windows.Threading.Dispatcher.InvokeImpl(DispatcherOperation operation, CancellationToken cancellationToken, TimeSpan timeout)
   in System.Windows.Threading.Dispatcher.Invoke(Action callback, DispatcherPriority priority, CancellationToken cancellationToken, TimeSpan timeout)
   in System.Windows.Threading.Dispatcher.Invoke(Action callback, DispatcherPriority priority)
   in Utilities.GUI.WPFDoEvents.InvokeInUIThread(Action action, Dispatcher override_dispatcher, DispatcherPriority priority)
TargetSite: Void CheckErrorStatus(Int32)

20210117.083315 [Q] ERROR [5] [40,197M] InvokeInUIThread

System.ArgumentException
Message: Parametro non valido.
HResult: 0x80070057
Source: System.Drawing
StackTrace:    in System.Drawing.Graphics.CheckErrorStatus(Int32 status)
   in System.Drawing.Graphics.FillRectangle(Brush brush, Single x, Single y, Single width, Single height)
   in Qiqqa.Documents.PDF.PDFRendering.PDFOverlayRenderer.<>c__DisplayClass0_1.<RenderHighlights>b__1()
   in System.Windows.Threading.DispatcherOperation.InvokeDelegateCore()
   in System.Windows.Threading.DispatcherOperation.InvokeImpl()
--- Fine traccia dello stack da posizione precedente dove è stata generata l'eccezione ---
   in System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   in System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   in System.Windows.Threading.DispatcherOperation.Wait(TimeSpan timeout)
   in System.Windows.Threading.Dispatcher.InvokeImpl(DispatcherOperation operation, CancellationToken cancellationToken, TimeSpan timeout)
   in System.Windows.Threading.Dispatcher.Invoke(Action callback, DispatcherPriority priority, CancellationToken cancellationToken, TimeSpan timeout)
   in System.Windows.Threading.Dispatcher.Invoke(Action callback, DispatcherPriority priority)
   in Utilities.GUI.WPFDoEvents.InvokeInUIThread(Action action, Dispatcher override_dispatcher, DispatcherPriority priority)
TargetSite: Void CheckErrorStatus(Int32)

20210117.083315 [Q] ERROR [4] [43,829M] InvokeInUIThread

System.ArgumentException
Message: Parametro non valido.
HResult: 0x80070057
Source: System.Drawing
StackTrace:    in System.Drawing.Graphics.CheckErrorStatus(Int32 status)
   in System.Drawing.Graphics.FillRectangle(Brush brush, Single x, Single y, Single width, Single height)
   in Qiqqa.Documents.PDF.PDFRendering.PDFOverlayRenderer.<>c__DisplayClass0_1.<RenderHighlights>b__1()
   in System.Windows.Threading.DispatcherOperation.InvokeDelegateCore()
   in System.Windows.Threading.DispatcherOperation.InvokeImpl()
--- Fine traccia dello stack da posizione precedente dove è stata generata l'eccezione ---
   in System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   in System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   in System.Windows.Threading.DispatcherOperation.Wait(TimeSpan timeout)
   in System.Windows.Threading.Dispatcher.InvokeImpl(DispatcherOperation operation, CancellationToken cancellationToken, TimeSpan timeout)
   in System.Windows.Threading.Dispatcher.Invoke(Action callback, DispatcherPriority priority, CancellationToken cancellationToken, TimeSpan timeout)
   in System.Windows.Threading.Dispatcher.Invoke(Action callback, DispatcherPriority priority)
   in Utilities.GUI.WPFDoEvents.InvokeInUIThread(Action action, Dispatcher override_dispatcher, DispatcherPriority priority)
TargetSite: Void CheckErrorStatus(Int32)

20210117.083315 [Q] ERROR [32] [43,860M] InvokeInUIThread

System.ArgumentException
Message: Parametro non valido.
HResult: 0x80070057
Source: System.Drawing
StackTrace:    in System.Drawing.Graphics.CheckErrorStatus(Int32 status)
   in System.Drawing.Graphics.FillRectangle(Brush brush, Single x, Single y, Single width, Single height)
   in Qiqqa.Documents.PDF.PDFRendering.PDFOverlayRenderer.<>c__DisplayClass0_1.<RenderHighlights>b__1()
   in System.Windows.Threading.DispatcherOperation.InvokeDelegateCore()
   in System.Windows.Threading.DispatcherOperation.InvokeImpl()
--- Fine traccia dello stack da posizione precedente dove è stata generata l'eccezione ---
   in System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   in System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   in System.Windows.Threading.DispatcherOperation.Wait(TimeSpan timeout)
   in System.Windows.Threading.Dispatcher.InvokeImpl(DispatcherOperation operation, CancellationToken cancellationToken, TimeSpan timeout)
   in System.Windows.Threading.Dispatcher.Invoke(Action callback, DispatcherPriority priority, CancellationToken cancellationToken, TimeSpan timeout)
   in System.Windows.Threading.Dispatcher.Invoke(Action callback, DispatcherPriority priority)
   in Utilities.GUI.WPFDoEvents.InvokeInUIThread(Action action, Dispatcher override_dispatcher, DispatcherPriority priority)
TargetSite: Void CheckErrorStatus(Int32)

20210117.083316 [Q] ERROR [5] [31,519M] InvokeInUIThread

System.ArgumentException
Message: Parametro non valido.
HResult: 0x80070057
Source: System.Drawing
StackTrace:    in System.Drawing.Graphics.CheckErrorStatus(Int32 status)
   in System.Drawing.Graphics.FillRectangle(Brush brush, Single x, Single y, Single width, Single height)
   in Qiqqa.Documents.PDF.PDFRendering.PDFOverlayRenderer.<>c__DisplayClass0_1.<RenderHighlights>b__1()
   in System.Windows.Threading.DispatcherOperation.InvokeDelegateCore()
   in System.Windows.Threading.DispatcherOperation.InvokeImpl()
--- Fine traccia dello stack da posizione precedente dove è stata generata l'eccezione ---
   in System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   in System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   in System.Windows.Threading.DispatcherOperation.Wait(TimeSpan timeout)
   in System.Windows.Threading.Dispatcher.InvokeImpl(DispatcherOperation operation, CancellationToken cancellationToken, TimeSpan timeout)
   in System.Windows.Threading.Dispatcher.Invoke(Action callback, DispatcherPriority priority, CancellationToken cancellationToken, TimeSpan timeout)
   in System.Windows.Threading.Dispatcher.Invoke(Action callback, DispatcherPriority priority)
   in Utilities.GUI.WPFDoEvents.InvokeInUIThread(Action action, Dispatcher override_dispatcher, DispatcherPriority priority)
TargetSite: Void CheckErrorStatus(Int32)

20210117.083322 [Q] INFO  [Daemon.Maintainable:FolderWatcherManager.TaskDaemonEntryPoint.Lib(Library Guest: Guest)] [32,502M] +MaintainableManager is waiting some startup time (30000ms) for Qiqqa.DocumentLibrary.FolderWatching.FolderWatcherManager:TaskDaemonEntryPoint.Lib(Library Guest: Guest)
20210117.083322 [Q] INFO  [Daemon.Maintainable:FolderWatcherManager.TaskDaemonEntryPoint.Lib(Library 209E10F3-B27D-44F3-88B6-46A3339551BC: nicola's Library)] [32,543M] +MaintainableManager is waiting some startup time (30000ms) for Qiqqa.DocumentLibrary.FolderWatching.FolderWatcherManager:TaskDaemonEntryPoint.Lib(Library 209E10F3-B27D-44F3-88B6-46A3339551BC: nicola's Library)
20210117.083322 [Q] INFO  [Daemon.Maintainable:FolderWatcherManager.TaskDaemonEntryPoint.Lib(Library INTRANET_A7119C8D-3E9A-412A-884C-683C23741E9E: Nicola_Qiqqa)] [32,551M] +MaintainableManager is waiting some startup time (30000ms) for Qiqqa.DocumentLibrary.FolderWatching.FolderWatcherManager:TaskDaemonEntryPoint.Lib(Library INTRANET_A7119C8D-3E9A-412A-884C-683C23741E9E: Nicola_Qiqqa)
20210117.083322 [Q] INFO  [Daemon.Maintainable:DocumentQueuedStorer.DoMaintenance_FlushDocuments] [32,616M] +MaintainableManager is waiting some startup time (30000ms) for Qiqqa.Documents.Common.DocumentQueuedStorer:DoMaintenance_FlushDocuments
20210117.083322 [Q] INFO  [Daemon.Maintainable:BackgroundWorkerDaemon.DoMaintenance_Frequent] [32,616M] +MaintainableManager is waiting some startup time (10000ms) for Qiqqa.Common.BackgroundWorkerDaemonStuff.BackgroundWorkerDaemon:DoMaintenance_Frequent
20210117.083322 [Q] INFO  [Daemon.Maintainable:BackgroundWorkerDaemon.DoMaintenance_Infrequent] [32,624M] +MaintainableManager is waiting some startup time (10000ms) for Qiqqa.Common.BackgroundWorkerDaemonStuff.BackgroundWorkerDaemon:DoMaintenance_Infrequent
20210117.083322 [Q] INFO  [Daemon.Maintainable:BackgroundWorkerDaemon.DoMaintenance_VeryInfrequent] [32,641M] +MaintainableManager is waiting some startup time (10000ms) for Qiqqa.Common.BackgroundWorkerDaemonStuff.BackgroundWorkerDaemon:DoMaintenance_VeryInfrequent
20210117.083322 [Q] INFO  [Daemon.Maintainable:BackgroundWorkerDaemon.DoMaintenance_QuiteInfrequent] [32,641M] +MaintainableManager is waiting some startup time (10000ms) for Qiqqa.Common.BackgroundWorkerDaemonStuff.BackgroundWorkerDaemon:DoMaintenance_QuiteInfrequent
20210117.083323 [Q] ERROR [Main] [33,362M] RemarkOnException.....

System.NullReferenceException
Message: Riferimento a un oggetto non impostato su un'istanza di oggetto.
HResult: 0x80004003
Source: Qiqqa
StackTrace:    in Qiqqa.Documents.PDF.PDFControls.Page.Highlight.PDFHighlightLayer.PDFHighlightLayer_Loaded(Object sender, RoutedEventArgs e)
   in System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)
   in System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
   in System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)
   in System.Windows.UIElement.RaiseEvent(RoutedEventArgs e)
   in System.Windows.BroadcastEventHelper.BroadcastEvent(DependencyObject root, RoutedEvent routedEvent)
   in System.Windows.BroadcastEventHelper.BroadcastLoadedEvent(Object root)
   in MS.Internal.LoadedOrUnloadedOperation.DoWork()
   in System.Windows.Media.MediaContext.FireLoadedPendingCallbacks()
   in System.Windows.Media.MediaContext.FireInvokeOnRenderCallbacks()
   in System.Windows.Media.MediaContext.RenderMessageHandlerCore(Object resizedCompositionTarget)
   in System.Windows.Media.MediaContext.RenderMessageHandler(Object resizedCompositionTarget)
   in System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
   in System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
TargetSite: Void PDFHighlightLayer_Loaded(System.Object, System.Windows.RoutedEventArgs)
 System.Object = 

20210117.083323 [Q] ERROR [Main] [33,419M] RemarkOnException_GUI_THREAD...

System.NullReferenceException
Message: Riferimento a un oggetto non impostato su un'istanza di oggetto.
HResult: 0x80004003
Source: Qiqqa
StackTrace:    in Qiqqa.Documents.PDF.PDFControls.Page.Highlight.PDFHighlightLayer.PDFHighlightLayer_Loaded(Object sender, RoutedEventArgs e)
   in System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)
   in System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
   in System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)
   in System.Windows.UIElement.RaiseEvent(RoutedEventArgs e)
   in System.Windows.BroadcastEventHelper.BroadcastEvent(DependencyObject root, RoutedEvent routedEvent)
   in System.Windows.BroadcastEventHelper.BroadcastLoadedEvent(Object root)
   in MS.Internal.LoadedOrUnloadedOperation.DoWork()
   in System.Windows.Media.MediaContext.FireLoadedPendingCallbacks()
   in System.Windows.Media.MediaContext.FireInvokeOnRenderCallbacks()
   in System.Windows.Media.MediaContext.RenderMessageHandlerCore(Object resizedCompositionTarget)
   in System.Windows.Media.MediaContext.RenderMessageHandler(Object resizedCompositionTarget)
   in System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
   in System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
TargetSite: Void PDFHighlightLayer_Loaded(System.Object, System.Windows.RoutedEventArgs)
 System.Object = 

20210117.083323 [Q] ERROR [Main] [29,946M] Unhandled Exception Handler: Something unexpected has happened, but it's okay. Riferimento a un oggetto non impostato su un'istanza di oggetto. - You can continue working, but we would appreciate it if you would send us some feedback on what you were doing when this happened.

System.NullReferenceException
Message: Riferimento a un oggetto non impostato su un'istanza di oggetto.
HResult: 0x80004003
Source: Qiqqa
StackTrace:    in Qiqqa.Documents.PDF.PDFControls.Page.Highlight.PDFHighlightLayer.PDFHighlightLayer_Loaded(Object sender, RoutedEventArgs e)
   in System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)
   in System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
   in System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)
   in System.Windows.UIElement.RaiseEvent(RoutedEventArgs e)
   in System.Windows.BroadcastEventHelper.BroadcastEvent(DependencyObject root, RoutedEvent routedEvent)
   in System.Windows.BroadcastEventHelper.BroadcastLoadedEvent(Object root)
   in MS.Internal.LoadedOrUnloadedOperation.DoWork()
   in System.Windows.Media.MediaContext.FireLoadedPendingCallbacks()
   in System.Windows.Media.MediaContext.FireInvokeOnRenderCallbacks()
   in System.Windows.Media.MediaContext.RenderMessageHandlerCore(Object resizedCompositionTarget)
   in System.Windows.Media.MediaContext.RenderMessageHandler(Object resizedCompositionTarget)
   in System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
   in System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
TargetSite: Void PDFHighlightLayer_Loaded(System.Object, System.Windows.RoutedEventArgs)
 System.Object = 

20210117.083323 [Q] INFO  [Main] [29,995M] About to display client stats: Something unexpected has happened, but it's okay. Riferimento a un oggetto non impostato su un'istanza di oggetto.

GerHobbelt added a commit to GerHobbelt/qiqqa-open-source that referenced this issue Jan 17, 2021
…I thread; the lib uses COM under the hood, which requires a working and accessible Windows message pipe, something which only the UI thread can provide.

- littered the code with WPFDoEvents UI/not-UI assertions -- which caught the above scenario in a Dispose() for a page image render. And that was the hint the needed to progress a little further towards stibility: it was SORAX which caused a *lot* of the out-of-memory failures due to crazy COM/WPF/UI failures, even for smaller libraries under test.
- fix bit of an odd crash in the Lucene flush/cleanup during shutdown, where Lucene kept busy with 'optimizing the index' while a quick application termination was happening in the background, resulting in lockup and then a crash.
- this MAY be a fix for the reported "number of documents reported not matching reality": added update/refresh code to update the library list panel when PDF documents are added in the background via FolderWatcher or other means (async library loading). WARNING: this code is still incomplete/buggy!
- most UI assertions have been covered now. Keeping them anyway as this is hairy stuff and should be tested more.

Addresses (but is not guaranteed to fix) jimmejardine#290, jimmejardine#283, jimmejardine#281, jimmejardine#280, jimmejardine#243
GerHobbelt added a commit to GerHobbelt/qiqqa-open-source that referenced this issue Jan 18, 2021
…le updated: -q quiet mode patches, ...)

  Going to use binary PNG transmission over stdout as working with a temporary file would quickly wear out any SSD serving as temp disk: one image rendered for every page, thumbnail of a page, etc.etc.: that's a lot of images rendered and saved to temp disk space if we used that as intermediate storage. :-(

- adding width next to height as a render criterium: this should ultimately fix a long-standing problem I have with Qiqqa rendering 'PowerPoint presentation PDFs' in a crazy way: those pages SHOULD be fitted to the screen as well as all other pages.

That's about jimmejardine#7, jimmejardine#9, jimmejardine#209, jimmejardine#280 and a part of the work towards jimmejardine#289
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
🐛bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants