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

Leak when converting a bitmap to an icon, crasshes when too many handle created #137

Closed
mrsilva opened this issue Jan 31, 2025 · 4 comments
Labels
bug Something isn't working

Comments

@mrsilva
Copy link

mrsilva commented Jan 31, 2025

Describe the bug
When converting 8000 PDF files to CBZ, CR crashes

Exact Steps to Reproduce
Steps to reproduce the behavior:

  1. Select the comic book files
  2. Right click Concert to CBZ
Crash dump
Application: ComicRack Community Edition
Version    : 0.9.180
Assembly   : 1.0.9158.38780
OS         : Microsoft Windows NT 10.0.22631.0 64
.NET       : 4.0.30319.42000
Processors : 20
Workingset : 547.10 MB
THREADEXCEPTION
--------------------
ExternalException
IntPtr GetHicon()
A generic error occurred in GDI+.
   at System.Drawing.Bitmap.GetHicon()
   at cYo.Projects.ComicRack.Viewer.Win7.SetOverlayIcon(Bitmap bitmap, String text)
   at cYo.Projects.ComicRack.Viewer.MainForm.UpdateActivityTimerTick(Object sender, EventArgs e)
   at System.Windows.Forms.Timer.OnTick(EventArgs e)
   at System.Windows.Forms.Timer.TimerNativeWindow.WndProc(Message& m)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

--------------------
Save Database Queue: Background, WaitSleepJoin (B)
   at cYo.Common.Threading.ThreadUtility.DumpThread(TextWriter tw, Thread t)
   at cYo.Common.Threading.ThreadUtility.DumpStacks(TextWriter tw)
   at cYo.Projects.ComicRack.Viewer.Dialogs.CrashDialog.OnBark(Object sender, BarkEventArgs e)
   at cYo.Common.Runtime.CrashWatchDog.OnBark(BarkType bark, Exception e)
   at System.Windows.Forms.Application.ThreadContext.OnThreadException(Exception t)
   at System.Windows.Forms.Timer.TimerNativeWindow.OnThreadException(Exception e)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
   at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
   at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
   at System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr dwComponentID, Int32 reason, Int32 pvLoopData)
   at System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
   at System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
   at cYo.Projects.ComicRack.Viewer.Program.StartNew(String[] args)
   at cYo.Common.Runtime.SingleInstance.Run(String[] args)
   at cYo.Projects.ComicRack.Viewer.Program.Main(String[] args)

--------------------
GUI Thread: Running ()
   at cYo.Common.Threading.ThreadUtility.DumpThread(TextWriter tw, Thread t)
   at cYo.Common.Threading.ThreadUtility.DumpStacks(TextWriter tw)
   at cYo.Projects.ComicRack.Viewer.Dialogs.CrashDialog.OnBark(Object sender, BarkEventArgs e)
   at cYo.Common.Runtime.CrashWatchDog.OnBark(BarkType bark, Exception e)
   at System.Windows.Forms.Application.ThreadContext.OnThreadException(Exception t)
   at System.Windows.Forms.Timer.TimerNativeWindow.OnThreadException(Exception e)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
   at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
   at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
   at System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr dwComponentID, Int32 reason, Int32 pvLoopData)
   at System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
   at System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
   at cYo.Projects.ComicRack.Viewer.Program.StartNew(String[] args)
   at cYo.Common.Runtime.SingleInstance.Run(String[] args)
   at cYo.Projects.ComicRack.Viewer.Program.Main(String[] args)

--------------------
Background Fast Page Queue: Background, WaitSleepJoin (B)
   at cYo.Common.Threading.ThreadUtility.DumpThread(TextWriter tw, Thread t)
   at cYo.Common.Threading.ThreadUtility.DumpStacks(TextWriter tw)
   at cYo.Projects.ComicRack.Viewer.Dialogs.CrashDialog.OnBark(Object sender, BarkEventArgs e)
   at cYo.Common.Runtime.CrashWatchDog.OnBark(BarkType bark, Exception e)
   at System.Windows.Forms.Application.ThreadContext.OnThreadException(Exception t)
   at System.Windows.Forms.Timer.TimerNativeWindow.OnThreadException(Exception e)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
   at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
   at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
   at System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr dwComponentID, Int32 reason, Int32 pvLoopData)
   at System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
   at System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
   at cYo.Projects.ComicRack.Viewer.Program.StartNew(String[] args)
   at cYo.Common.Runtime.SingleInstance.Run(String[] args)
   at cYo.Projects.ComicRack.Viewer.Program.Main(String[] args)

--------------------
Background Slow Page Queue #1: Background, WaitSleepJoin (B)
   at cYo.Common.Threading.ThreadUtility.DumpThread(TextWriter tw, Thread t)
   at cYo.Common.Threading.ThreadUtility.DumpStacks(TextWriter tw)
   at cYo.Projects.ComicRack.Viewer.Dialogs.CrashDialog.OnBark(Object sender, BarkEventArgs e)
   at cYo.Common.Runtime.CrashWatchDog.OnBark(BarkType bark, Exception e)
   at System.Windows.Forms.Application.ThreadContext.OnThreadException(Exception t)
   at System.Windows.Forms.Timer.TimerNativeWindow.OnThreadException(Exception e)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
   at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
   at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
   at System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr dwComponentID, Int32 reason, Int32 pvLoopData)
   at System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
   at System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
   at cYo.Projects.ComicRack.Viewer.Program.StartNew(String[] args)
   at cYo.Common.Runtime.SingleInstance.Run(String[] args)
   at cYo.Projects.ComicRack.Viewer.Program.Main(String[] args)

--------------------
Background Slow Page Queue #2: Background, WaitSleepJoin (B)
   at cYo.Common.Threading.ThreadUtility.DumpThread(TextWriter tw, Thread t)
   at cYo.Common.Threading.ThreadUtility.DumpStacks(TextWriter tw)
   at cYo.Projects.ComicRack.Viewer.Dialogs.CrashDialog.OnBark(Object sender, BarkEventArgs e)
   at cYo.Common.Runtime.CrashWatchDog.OnBark(BarkType bark, Exception e)
   at System.Windows.Forms.Application.ThreadContext.OnThreadException(Exception t)
   at System.Windows.Forms.Timer.TimerNativeWindow.OnThreadException(Exception e)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
   at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
   at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
   at System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr dwComponentID, Int32 reason, Int32 pvLoopData)
   at System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
   at System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
   at cYo.Projects.ComicRack.Viewer.Program.StartNew(String[] args)
   at cYo.Common.Runtime.SingleInstance.Run(String[] args)
   at cYo.Projects.ComicRack.Viewer.Program.Main(String[] args)

--------------------
Background Slow Page Queue #3: Background, WaitSleepJoin (B)
   at cYo.Common.Threading.ThreadUtility.DumpThread(TextWriter tw, Thread t)
   at cYo.Common.Threading.ThreadUtility.DumpStacks(TextWriter tw)
   at cYo.Projects.ComicRack.Viewer.Dialogs.CrashDialog.OnBark(Object sender, BarkEventArgs e)
   at cYo.Common.Runtime.CrashWatchDog.OnBark(BarkType bark, Exception e)
   at System.Windows.Forms.Application.ThreadContext.OnThreadException(Exception t)
   at System.Windows.Forms.Timer.TimerNativeWindow.OnThreadException(Exception e)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
   at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
   at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
   at System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr dwComponentID, Int32 reason, Int32 pvLoopData)
   at System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
   at System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
   at cYo.Projects.ComicRack.Viewer.Program.StartNew(String[] args)
   at cYo.Common.Runtime.SingleInstance.Run(String[] args)
   at cYo.Projects.ComicRack.Viewer.Program.Main(String[] args)

--------------------
Background Slow Page Queue #4: Background, WaitSleepJoin (B)
   at cYo.Common.Threading.ThreadUtility.DumpThread(TextWriter tw, Thread t)
   at cYo.Common.Threading.ThreadUtility.DumpStacks(TextWriter tw)
   at cYo.Projects.ComicRack.Viewer.Dialogs.CrashDialog.OnBark(Object sender, BarkEventArgs e)
   at cYo.Common.Runtime.CrashWatchDog.OnBark(BarkType bark, Exception e)
   at System.Windows.Forms.Application.ThreadContext.OnThreadException(Exception t)
   at System.Windows.Forms.Timer.TimerNativeWindow.OnThreadException(Exception e)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
   at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
   at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
   at System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr dwComponentID, Int32 reason, Int32 pvLoopData)
   at System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
   at System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
   at cYo.Projects.ComicRack.Viewer.Program.StartNew(String[] args)
   at cYo.Common.Runtime.SingleInstance.Run(String[] args)
   at cYo.Projects.ComicRack.Viewer.Program.Main(String[] args)

--------------------
Background Fast Thumbnails Queue: Background, WaitSleepJoin (B)
   at cYo.Common.Threading.ThreadUtility.DumpThread(TextWriter tw, Thread t)
   at cYo.Common.Threading.ThreadUtility.DumpStacks(TextWriter tw)
   at cYo.Projects.ComicRack.Viewer.Dialogs.CrashDialog.OnBark(Object sender, BarkEventArgs e)
   at cYo.Common.Runtime.CrashWatchDog.OnBark(BarkType bark, Exception e)
   at System.Windows.Forms.Application.ThreadContext.OnThreadException(Exception t)
   at System.Windows.Forms.Timer.TimerNativeWindow.OnThreadException(Exception e)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
   at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
   at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
   at System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr dwComponentID, Int32 reason, Int32 pvLoopData)
   at System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
   at System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
   at cYo.Projects.ComicRack.Viewer.Program.StartNew(String[] args)
   at cYo.Common.Runtime.SingleInstance.Run(String[] args)
   at cYo.Projects.ComicRack.Viewer.Program.Main(String[] args)

--------------------
Background Slow Thumbnails Queue #1: Background, WaitSleepJoin (B)
   at cYo.Common.Threading.ThreadUtility.DumpThread(TextWriter tw, Thread t)
   at cYo.Common.Threading.ThreadUtility.DumpStacks(TextWriter tw)
   at cYo.Projects.ComicRack.Viewer.Dialogs.CrashDialog.OnBark(Object sender, BarkEventArgs e)
   at cYo.Common.Runtime.CrashWatchDog.OnBark(BarkType bark, Exception e)
   at System.Windows.Forms.Application.ThreadContext.OnThreadException(Exception t)
   at System.Windows.Forms.Timer.TimerNativeWindow.OnThreadException(Exception e)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
   at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
   at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
   at System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr dwComponentID, Int32 reason, Int32 pvLoopData)
   at System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
   at System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
   at cYo.Projects.ComicRack.Viewer.Program.StartNew(String[] args)
   at cYo.Common.Runtime.SingleInstance.Run(String[] args)
   at cYo.Projects.ComicRack.Viewer.Program.Main(String[] args)

--------------------
Background Slow Thumbnails Queue #2: Background, WaitSleepJoin (B)
   at cYo.Common.Threading.ThreadUtility.DumpThread(TextWriter tw, Thread t)
   at cYo.Common.Threading.ThreadUtility.DumpStacks(TextWriter tw)
   at cYo.Projects.ComicRack.Viewer.Dialogs.CrashDialog.OnBark(Object sender, BarkEventArgs e)
   at cYo.Common.Runtime.CrashWatchDog.OnBark(BarkType bark, Exception e)
   at System.Windows.Forms.Application.ThreadContext.OnThreadException(Exception t)
   at System.Windows.Forms.Timer.TimerNativeWindow.OnThreadException(Exception e)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
   at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
   at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
   at System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr dwComponentID, Int32 reason, Int32 pvLoopData)
   at System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
   at System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
   at cYo.Projects.ComicRack.Viewer.Program.StartNew(String[] args)
   at cYo.Common.Runtime.SingleInstance.Run(String[] args)
   at cYo.Projects.ComicRack.Viewer.Program.Main(String[] args)

--------------------
Background Slow Thumbnails Queue #3: Background, WaitSleepJoin (B)
   at cYo.Common.Threading.ThreadUtility.DumpThread(TextWriter tw, Thread t)
   at cYo.Common.Threading.ThreadUtility.DumpStacks(TextWriter tw)
   at cYo.Projects.ComicRack.Viewer.Dialogs.CrashDialog.OnBark(Object sender, BarkEventArgs e)
   at cYo.Common.Runtime.CrashWatchDog.OnBark(BarkType bark, Exception e)
   at System.Windows.Forms.Application.ThreadContext.OnThreadException(Exception t)
   at System.Windows.Forms.Timer.TimerNativeWindow.OnThreadException(Exception e)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
   at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
   at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
   at System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr dwComponentID, Int32 reason, Int32 pvLoopData)
   at System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
   at System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
   at cYo.Projects.ComicRack.Viewer.Program.StartNew(String[] args)
   at cYo.Common.Runtime.SingleInstance.Run(String[] args)
   at cYo.Projects.ComicRack.Viewer.Program.Main(String[] args)

--------------------
Background Slow Thumbnails Queue #4: Background, WaitSleepJoin (B)
   at cYo.Common.Threading.ThreadUtility.DumpThread(TextWriter tw, Thread t)
   at cYo.Common.Threading.ThreadUtility.DumpStacks(TextWriter tw)
   at cYo.Projects.ComicRack.Viewer.Dialogs.CrashDialog.OnBark(Object sender, BarkEventArgs e)
   at cYo.Common.Runtime.CrashWatchDog.OnBark(BarkType bark, Exception e)
   at System.Windows.Forms.Application.ThreadContext.OnThreadException(Exception t)
   at System.Windows.Forms.Timer.TimerNativeWindow.OnThreadException(Exception e)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
   at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
   at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
   at System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr dwComponentID, Int32 reason, Int32 pvLoopData)
   at System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
   at System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
   at cYo.Projects.ComicRack.Viewer.Program.StartNew(String[] args)
   at cYo.Common.Runtime.SingleInstance.Run(String[] args)
   at cYo.Projects.ComicRack.Viewer.Program.Main(String[] args)

--------------------
Update Dynamic Books: Background, WaitSleepJoin (B)
   at cYo.Common.Threading.ThreadUtility.DumpThread(TextWriter tw, Thread t)
   at cYo.Common.Threading.ThreadUtility.DumpStacks(TextWriter tw)
   at cYo.Projects.ComicRack.Viewer.Dialogs.CrashDialog.OnBark(Object sender, BarkEventArgs e)
   at cYo.Common.Runtime.CrashWatchDog.OnBark(BarkType bark, Exception e)
   at System.Windows.Forms.Application.ThreadContext.OnThreadException(Exception t)
   at System.Windows.Forms.Timer.TimerNativeWindow.OnThreadException(Exception e)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
   at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
   at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
   at System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr dwComponentID, Int32 reason, Int32 pvLoopData)
   at System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
   at System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
   at cYo.Projects.ComicRack.Viewer.Program.StartNew(String[] args)
   at cYo.Common.Runtime.SingleInstance.Run(String[] args)
   at cYo.Projects.ComicRack.Viewer.Program.Main(String[] args)

--------------------
Export Books: Background, WaitSleepJoin (B)
   at cYo.Common.Threading.ThreadUtility.DumpThread(TextWriter tw, Thread t)
   at cYo.Common.Threading.ThreadUtility.DumpStacks(TextWriter tw)
   at cYo.Projects.ComicRack.Viewer.Dialogs.CrashDialog.OnBark(Object sender, BarkEventArgs e)
   at cYo.Common.Runtime.CrashWatchDog.OnBark(BarkType bark, Exception e)
   at System.Windows.Forms.Application.ThreadContext.OnThreadException(Exception t)
   at System.Windows.Forms.Timer.TimerNativeWindow.OnThreadException(Exception e)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
   at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
   at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
   at System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr dwComponentID, Int32 reason, Int32 pvLoopData)
   at System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
   at System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
   at cYo.Projects.ComicRack.Viewer.Program.StartNew(String[] args)
   at cYo.Common.Runtime.SingleInstance.Run(String[] args)
   at cYo.Projects.ComicRack.Viewer.Program.Main(String[] args)

--------------------
Read Book File Information: Background, WaitSleepJoin (B)
   at cYo.Common.Threading.ThreadUtility.DumpThread(TextWriter tw, Thread t)
   at cYo.Common.Threading.ThreadUtility.DumpStacks(TextWriter tw)
   at cYo.Projects.ComicRack.Viewer.Dialogs.CrashDialog.OnBark(Object sender, BarkEventArgs e)
   at cYo.Common.Runtime.CrashWatchDog.OnBark(BarkType bark, Exception e)
   at System.Windows.Forms.Application.ThreadContext.OnThreadException(Exception t)
   at System.Windows.Forms.Timer.TimerNativeWindow.OnThreadException(Exception e)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
   at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
   at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
   at System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr dwComponentID, Int32 reason, Int32 pvLoopData)
   at System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
   at System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
   at cYo.Projects.ComicRack.Viewer.Program.StartNew(String[] args)
   at cYo.Common.Runtime.SingleInstance.Run(String[] args)
   at cYo.Projects.ComicRack.Viewer.Program.Main(String[] args)

--------------------
Write Book File Information: Background, WaitSleepJoin (B)
   at cYo.Common.Threading.ThreadUtility.DumpThread(TextWriter tw, Thread t)
   at cYo.Common.Threading.ThreadUtility.DumpStacks(TextWriter tw)
   at cYo.Projects.ComicRack.Viewer.Dialogs.CrashDialog.OnBark(Object sender, BarkEventArgs e)
   at cYo.Common.Runtime.CrashWatchDog.OnBark(BarkType bark, Exception e)
   at System.Windows.Forms.Application.ThreadContext.OnThreadException(Exception t)
   at System.Windows.Forms.Timer.TimerNativeWindow.OnThreadException(Exception e)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
   at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
   at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
   at System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr dwComponentID, Int32 reason, Int32 pvLoopData)
   at System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
   at System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
   at cYo.Projects.ComicRack.Viewer.Program.StartNew(String[] args)
   at cYo.Common.Runtime.SingleInstance.Run(String[] args)
   at cYo.Projects.ComicRack.Viewer.Program.Main(String[] args)

--------------------
Synchronizing Devices: Background, WaitSleepJoin (B)
   at cYo.Common.Threading.ThreadUtility.DumpThread(TextWriter tw, Thread t)
   at cYo.Common.Threading.ThreadUtility.DumpStacks(TextWriter tw)
   at cYo.Projects.ComicRack.Viewer.Dialogs.CrashDialog.OnBark(Object sender, BarkEventArgs e)
   at cYo.Common.Runtime.CrashWatchDog.OnBark(BarkType bark, Exception e)
   at System.Windows.Forms.Application.ThreadContext.OnThreadException(Exception t)
   at System.Windows.Forms.Timer.TimerNativeWindow.OnThreadException(Exception e)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
   at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
   at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
   at System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr dwComponentID, Int32 reason, Int32 pvLoopData)
   at System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
   at System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
   at cYo.Projects.ComicRack.Viewer.Program.StartNew(String[] args)
   at cYo.Common.Runtime.SingleInstance.Run(String[] args)
   at cYo.Projects.ComicRack.Viewer.Program.Main(String[] args)

--------------------
Overlay Animation Thread: Background, WaitSleepJoin (B)
   at cYo.Common.Threading.ThreadUtility.DumpThread(TextWriter tw, Thread t)
   at cYo.Common.Threading.ThreadUtility.DumpStacks(TextWriter tw)
   at cYo.Projects.ComicRack.Viewer.Dialogs.CrashDialog.OnBark(Object sender, BarkEventArgs e)
   at cYo.Common.Runtime.CrashWatchDog.OnBark(BarkType bark, Exception e)
   at System.Windows.Forms.Application.ThreadContext.OnThreadException(Exception t)
   at System.Windows.Forms.Timer.TimerNativeWindow.OnThreadException(Exception e)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
   at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
   at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
   at System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr dwComponentID, Int32 reason, Int32 pvLoopData)
   at System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
   at System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
   at cYo.Projects.ComicRack.Viewer.Program.StartNew(String[] args)
   at cYo.Common.Runtime.SingleInstance.Run(String[] args)
   at cYo.Projects.ComicRack.Viewer.Program.Main(String[] args)

--------------------
Overlay Animation Thread: Background, WaitSleepJoin (B)
   at cYo.Common.Threading.ThreadUtility.DumpThread(TextWriter tw, Thread t)
   at cYo.Common.Threading.ThreadUtility.DumpStacks(TextWriter tw)
   at cYo.Projects.ComicRack.Viewer.Dialogs.CrashDialog.OnBark(Object sender, BarkEventArgs e)
   at cYo.Common.Runtime.CrashWatchDog.OnBark(BarkType bark, Exception e)
   at System.Windows.Forms.Application.ThreadContext.OnThreadException(Exception t)
   at System.Windows.Forms.Timer.TimerNativeWindow.OnThreadException(Exception e)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
   at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
   at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
   at System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr dwComponentID, Int32 reason, Int32 pvLoopData)
   at System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
   at System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
   at cYo.Projects.ComicRack.Viewer.Program.StartNew(String[] args)
   at cYo.Common.Runtime.SingleInstance.Run(String[] args)
   at cYo.Projects.ComicRack.Viewer.Program.Main(String[] args)

--------------------
Overlay Animation Thread: Background, WaitSleepJoin (B)
   at cYo.Common.Threading.ThreadUtility.DumpThread(TextWriter tw, Thread t)
   at cYo.Common.Threading.ThreadUtility.DumpStacks(TextWriter tw)
   at cYo.Projects.ComicRack.Viewer.Dialogs.CrashDialog.OnBark(Object sender, BarkEventArgs e)
   at cYo.Common.Runtime.CrashWatchDog.OnBark(BarkType bark, Exception e)
   at System.Windows.Forms.Application.ThreadContext.OnThreadException(Exception t)
   at System.Windows.Forms.Timer.TimerNativeWindow.OnThreadException(Exception e)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
   at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
   at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
   at System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr dwComponentID, Int32 reason, Int32 pvLoopData)
   at System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
   at System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
   at cYo.Projects.ComicRack.Viewer.Program.StartNew(String[] args)
   at cYo.Common.Runtime.SingleInstance.Run(String[] args)
   at cYo.Projects.ComicRack.Viewer.Program.Main(String[] args)

--------------------
Free Image Memory: Background, WaitSleepJoin (B)
   at cYo.Common.Threading.ThreadUtility.DumpThread(TextWriter tw, Thread t)
   at cYo.Common.Threading.ThreadUtility.DumpStacks(TextWriter tw)
   at cYo.Projects.ComicRack.Viewer.Dialogs.CrashDialog.OnBark(Object sender, BarkEventArgs e)
   at cYo.Common.Runtime.CrashWatchDog.OnBark(BarkType bark, Exception e)
   at System.Windows.Forms.Application.ThreadContext.OnThreadException(Exception t)
   at System.Windows.Forms.Timer.TimerNativeWindow.OnThreadException(Exception e)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
   at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
   at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
   at System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr dwComponentID, Int32 reason, Int32 pvLoopData)
   at System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
   at System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
   at cYo.Projects.ComicRack.Viewer.Program.StartNew(String[] args)
   at cYo.Common.Runtime.SingleInstance.Run(String[] args)
   at cYo.Projects.ComicRack.Viewer.Program.Main(String[] args)

--------------------
Report generated at: 1/31/2025 12:06:50 AM

Version/Commit (check the about page, next to the version, for the string between brackets):

  • Version: latest nightly Jan 17, 2024
@mrsilva mrsilva added the bug Something isn't working label Jan 31, 2025
@maforget
Copy link
Owner

maforget commented Jan 31, 2025

That error message indicates that is completely unrelated to PDF at all. It is a GDI+ (windows graphic device interface) error, it states that it's an exception with windows. It happens when the program is drawing the activity icon on the taskbar.

From a google search here is some context from stack overflow: https://stackoverflow.com/questions/12026664/a-generic-error-occurred-in-gdi-when-calling-bitmap-gethicon

It looks like a leak where more than 10 000 handle are created, it errors out. Converting so much files had the activity updates so much.

Congratulation🥇 you again managed to find a problem that was left undiscovered for more than a decade by shear numbers.

Here is an extension method from this link that should prevent that error if used instead, not that I would be able to test that.

public class IconExtensions
{
	/// <summary>
	/// Create a Icon that calls DestroyIcon() when the Destructor is called.
	/// Unfortunatly Icon.FromHandle() initializes with the internal Icon-constructor Icon(handle, false), which sets the internal value "ownHandle" to false
	/// This way because of the false, DestroyIcon() is not called as can be seen here:
	/// https://referencesource.microsoft.com/#System.Drawing/commonui/System/Drawing/Icon.cs,f2697049dea34e7c,references
	/// To get arround this we get the constructor internal Icon(IntPtr handle, bool takeOwnership) from Icon through reflection and initialize that way
	/// </summary>
	private static Icon BitmapToIcon(Bitmap bitmap)
	{
		Type[] cargt = new[] { typeof(IntPtr), typeof(bool) };
		ConstructorInfo ci = typeof(Icon).GetConstructor(BindingFlags.NonPublic | BindingFlags.Instance, null, cargt, null);
		object[] cargs = new[] { (object)bitmap.GetHicon(), true };
		Icon icon = (Icon)ci.Invoke(cargs);
		return icon;
	}
}

Related links:
https://learn.microsoft.com/en-us/dotnet/api/system.drawing.icon.fromhandle

@maforget maforget changed the title Crash when converting PDF comics Leak when using converting a bitmap to an icon, crasshes when too many handle created Jan 31, 2025
@maforget maforget changed the title Leak when using converting a bitmap to an icon, crasshes when too many handle created Leak when converting a bitmap to an icon, crasshes when too many handle created Jan 31, 2025
@mrsilva
Copy link
Author

mrsilva commented Jan 31, 2025

Got another error, probably the same type

Crash dump
Application: ComicRack Community Edition
Version    : 0.9.180
Assembly   : 1.0.9158.38780
OS         : Microsoft Windows NT 10.0.22631.0 64
.NET       : 4.0.30319.42000
Processors : 20
Workingset : 456.28 MB
THREADEXCEPTION
--------------------
ExternalException
IntPtr GetHicon()
A generic error occurred in GDI+.
   at System.Drawing.Bitmap.GetHicon()
   at cYo.Projects.ComicRack.Viewer.Win7.SetOverlayIcon(Bitmap bitmap, String text)
   at cYo.Projects.ComicRack.Viewer.MainForm.UpdateActivityTimerTick(Object sender, EventArgs e)
   at System.Windows.Forms.Timer.OnTick(EventArgs e)
   at System.Windows.Forms.Timer.TimerNativeWindow.WndProc(Message& m)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

--------------------
Save Database Queue: Background, WaitSleepJoin (B)
   at cYo.Common.Threading.ThreadUtility.DumpThread(TextWriter tw, Thread t)
   at cYo.Common.Threading.ThreadUtility.DumpStacks(TextWriter tw)
   at cYo.Projects.ComicRack.Viewer.Dialogs.CrashDialog.OnBark(Object sender, BarkEventArgs e)
   at cYo.Common.Runtime.CrashWatchDog.OnBark(BarkType bark, Exception e)
   at System.Windows.Forms.Application.ThreadContext.OnThreadException(Exception t)
   at System.Windows.Forms.Timer.TimerNativeWindow.OnThreadException(Exception e)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
   at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
   at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
   at System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr dwComponentID, Int32 reason, Int32 pvLoopData)
   at System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
   at System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
   at cYo.Projects.ComicRack.Viewer.Program.StartNew(String[] args)
   at cYo.Common.Runtime.SingleInstance.Run(String[] args)
   at cYo.Projects.ComicRack.Viewer.Program.Main(String[] args)

--------------------
GUI Thread: Running ()
   at cYo.Common.Threading.ThreadUtility.DumpThread(TextWriter tw, Thread t)
   at cYo.Common.Threading.ThreadUtility.DumpStacks(TextWriter tw)
   at cYo.Projects.ComicRack.Viewer.Dialogs.CrashDialog.OnBark(Object sender, BarkEventArgs e)
   at cYo.Common.Runtime.CrashWatchDog.OnBark(BarkType bark, Exception e)
   at System.Windows.Forms.Application.ThreadContext.OnThreadException(Exception t)
   at System.Windows.Forms.Timer.TimerNativeWindow.OnThreadException(Exception e)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
   at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
   at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
   at System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr dwComponentID, Int32 reason, Int32 pvLoopData)
   at System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
   at System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
   at cYo.Projects.ComicRack.Viewer.Program.StartNew(String[] args)
   at cYo.Common.Runtime.SingleInstance.Run(String[] args)
   at cYo.Projects.ComicRack.Viewer.Program.Main(String[] args)

--------------------
Background Fast Page Queue: Background, WaitSleepJoin (B)
   at cYo.Common.Threading.ThreadUtility.DumpThread(TextWriter tw, Thread t)
   at cYo.Common.Threading.ThreadUtility.DumpStacks(TextWriter tw)
   at cYo.Projects.ComicRack.Viewer.Dialogs.CrashDialog.OnBark(Object sender, BarkEventArgs e)
   at cYo.Common.Runtime.CrashWatchDog.OnBark(BarkType bark, Exception e)
   at System.Windows.Forms.Application.ThreadContext.OnThreadException(Exception t)
   at System.Windows.Forms.Timer.TimerNativeWindow.OnThreadException(Exception e)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
   at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
   at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
   at System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr dwComponentID, Int32 reason, Int32 pvLoopData)
   at System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
   at System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
   at cYo.Projects.ComicRack.Viewer.Program.StartNew(String[] args)
   at cYo.Common.Runtime.SingleInstance.Run(String[] args)
   at cYo.Projects.ComicRack.Viewer.Program.Main(String[] args)

--------------------
Background Slow Page Queue #1: Background, WaitSleepJoin (B)
   at cYo.Common.Threading.ThreadUtility.DumpThread(TextWriter tw, Thread t)
   at cYo.Common.Threading.ThreadUtility.DumpStacks(TextWriter tw)
   at cYo.Projects.ComicRack.Viewer.Dialogs.CrashDialog.OnBark(Object sender, BarkEventArgs e)
   at cYo.Common.Runtime.CrashWatchDog.OnBark(BarkType bark, Exception e)
   at System.Windows.Forms.Application.ThreadContext.OnThreadException(Exception t)
   at System.Windows.Forms.Timer.TimerNativeWindow.OnThreadException(Exception e)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
   at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
   at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
   at System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr dwComponentID, Int32 reason, Int32 pvLoopData)
   at System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
   at System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
   at cYo.Projects.ComicRack.Viewer.Program.StartNew(String[] args)
   at cYo.Common.Runtime.SingleInstance.Run(String[] args)
   at cYo.Projects.ComicRack.Viewer.Program.Main(String[] args)

--------------------
Background Slow Page Queue #2: Background, WaitSleepJoin (B)
   at cYo.Common.Threading.ThreadUtility.DumpThread(TextWriter tw, Thread t)
   at cYo.Common.Threading.ThreadUtility.DumpStacks(TextWriter tw)
   at cYo.Projects.ComicRack.Viewer.Dialogs.CrashDialog.OnBark(Object sender, BarkEventArgs e)
   at cYo.Common.Runtime.CrashWatchDog.OnBark(BarkType bark, Exception e)
   at System.Windows.Forms.Application.ThreadContext.OnThreadException(Exception t)
   at System.Windows.Forms.Timer.TimerNativeWindow.OnThreadException(Exception e)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
   at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
   at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
   at System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr dwComponentID, Int32 reason, Int32 pvLoopData)
   at System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
   at System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
   at cYo.Projects.ComicRack.Viewer.Program.StartNew(String[] args)
   at cYo.Common.Runtime.SingleInstance.Run(String[] args)
   at cYo.Projects.ComicRack.Viewer.Program.Main(String[] args)

--------------------
Background Slow Page Queue #3: Background, WaitSleepJoin (B)
   at cYo.Common.Threading.ThreadUtility.DumpThread(TextWriter tw, Thread t)
   at cYo.Common.Threading.ThreadUtility.DumpStacks(TextWriter tw)
   at cYo.Projects.ComicRack.Viewer.Dialogs.CrashDialog.OnBark(Object sender, BarkEventArgs e)
   at cYo.Common.Runtime.CrashWatchDog.OnBark(BarkType bark, Exception e)
   at System.Windows.Forms.Application.ThreadContext.OnThreadException(Exception t)
   at System.Windows.Forms.Timer.TimerNativeWindow.OnThreadException(Exception e)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
   at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
   at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
   at System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr dwComponentID, Int32 reason, Int32 pvLoopData)
   at System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
   at System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
   at cYo.Projects.ComicRack.Viewer.Program.StartNew(String[] args)
   at cYo.Common.Runtime.SingleInstance.Run(String[] args)
   at cYo.Projects.ComicRack.Viewer.Program.Main(String[] args)

--------------------
Background Slow Page Queue #4: Background, WaitSleepJoin (B)
   at cYo.Common.Threading.ThreadUtility.DumpThread(TextWriter tw, Thread t)
   at cYo.Common.Threading.ThreadUtility.DumpStacks(TextWriter tw)
   at cYo.Projects.ComicRack.Viewer.Dialogs.CrashDialog.OnBark(Object sender, BarkEventArgs e)
   at cYo.Common.Runtime.CrashWatchDog.OnBark(BarkType bark, Exception e)
   at System.Windows.Forms.Application.ThreadContext.OnThreadException(Exception t)
   at System.Windows.Forms.Timer.TimerNativeWindow.OnThreadException(Exception e)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
   at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
   at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
   at System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr dwComponentID, Int32 reason, Int32 pvLoopData)
   at System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
   at System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
   at cYo.Projects.ComicRack.Viewer.Program.StartNew(String[] args)
   at cYo.Common.Runtime.SingleInstance.Run(String[] args)
   at cYo.Projects.ComicRack.Viewer.Program.Main(String[] args)

--------------------
Background Fast Thumbnails Queue: Background, WaitSleepJoin (B)
   at cYo.Common.Threading.ThreadUtility.DumpThread(TextWriter tw, Thread t)
   at cYo.Common.Threading.ThreadUtility.DumpStacks(TextWriter tw)
   at cYo.Projects.ComicRack.Viewer.Dialogs.CrashDialog.OnBark(Object sender, BarkEventArgs e)
   at cYo.Common.Runtime.CrashWatchDog.OnBark(BarkType bark, Exception e)
   at System.Windows.Forms.Application.ThreadContext.OnThreadException(Exception t)
   at System.Windows.Forms.Timer.TimerNativeWindow.OnThreadException(Exception e)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
   at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
   at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
   at System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr dwComponentID, Int32 reason, Int32 pvLoopData)
   at System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
   at System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
   at cYo.Projects.ComicRack.Viewer.Program.StartNew(String[] args)
   at cYo.Common.Runtime.SingleInstance.Run(String[] args)
   at cYo.Projects.ComicRack.Viewer.Program.Main(String[] args)

--------------------
Background Slow Thumbnails Queue #1: Background, WaitSleepJoin (B)
   at cYo.Common.Threading.ThreadUtility.DumpThread(TextWriter tw, Thread t)
   at cYo.Common.Threading.ThreadUtility.DumpStacks(TextWriter tw)
   at cYo.Projects.ComicRack.Viewer.Dialogs.CrashDialog.OnBark(Object sender, BarkEventArgs e)
   at cYo.Common.Runtime.CrashWatchDog.OnBark(BarkType bark, Exception e)
   at System.Windows.Forms.Application.ThreadContext.OnThreadException(Exception t)
   at System.Windows.Forms.Timer.TimerNativeWindow.OnThreadException(Exception e)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
   at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
   at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
   at System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr dwComponentID, Int32 reason, Int32 pvLoopData)
   at System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
   at System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
   at cYo.Projects.ComicRack.Viewer.Program.StartNew(String[] args)
   at cYo.Common.Runtime.SingleInstance.Run(String[] args)
   at cYo.Projects.ComicRack.Viewer.Program.Main(String[] args)

--------------------
Background Slow Thumbnails Queue #2: Background, WaitSleepJoin (B)
   at cYo.Common.Threading.ThreadUtility.DumpThread(TextWriter tw, Thread t)
   at cYo.Common.Threading.ThreadUtility.DumpStacks(TextWriter tw)
   at cYo.Projects.ComicRack.Viewer.Dialogs.CrashDialog.OnBark(Object sender, BarkEventArgs e)
   at cYo.Common.Runtime.CrashWatchDog.OnBark(BarkType bark, Exception e)
   at System.Windows.Forms.Application.ThreadContext.OnThreadException(Exception t)
   at System.Windows.Forms.Timer.TimerNativeWindow.OnThreadException(Exception e)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
   at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
   at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
   at System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr dwComponentID, Int32 reason, Int32 pvLoopData)
   at System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
   at System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
   at cYo.Projects.ComicRack.Viewer.Program.StartNew(String[] args)
   at cYo.Common.Runtime.SingleInstance.Run(String[] args)
   at cYo.Projects.ComicRack.Viewer.Program.Main(String[] args)

--------------------
Background Slow Thumbnails Queue #3: Background, WaitSleepJoin (B)
   at cYo.Common.Threading.ThreadUtility.DumpThread(TextWriter tw, Thread t)
   at cYo.Common.Threading.ThreadUtility.DumpStacks(TextWriter tw)
   at cYo.Projects.ComicRack.Viewer.Dialogs.CrashDialog.OnBark(Object sender, BarkEventArgs e)
   at cYo.Common.Runtime.CrashWatchDog.OnBark(BarkType bark, Exception e)
   at System.Windows.Forms.Application.ThreadContext.OnThreadException(Exception t)
   at System.Windows.Forms.Timer.TimerNativeWindow.OnThreadException(Exception e)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
   at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
   at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
   at System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr dwComponentID, Int32 reason, Int32 pvLoopData)
   at System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
   at System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
   at cYo.Projects.ComicRack.Viewer.Program.StartNew(String[] args)
   at cYo.Common.Runtime.SingleInstance.Run(String[] args)
   at cYo.Projects.ComicRack.Viewer.Program.Main(String[] args)

--------------------
Background Slow Thumbnails Queue #4: Background, WaitSleepJoin (B)
   at cYo.Common.Threading.ThreadUtility.DumpThread(TextWriter tw, Thread t)
   at cYo.Common.Threading.ThreadUtility.DumpStacks(TextWriter tw)
   at cYo.Projects.ComicRack.Viewer.Dialogs.CrashDialog.OnBark(Object sender, BarkEventArgs e)
   at cYo.Common.Runtime.CrashWatchDog.OnBark(BarkType bark, Exception e)
   at System.Windows.Forms.Application.ThreadContext.OnThreadException(Exception t)
   at System.Windows.Forms.Timer.TimerNativeWindow.OnThreadException(Exception e)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
   at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
   at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
   at System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr dwComponentID, Int32 reason, Int32 pvLoopData)
   at System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
   at System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
   at cYo.Projects.ComicRack.Viewer.Program.StartNew(String[] args)
   at cYo.Common.Runtime.SingleInstance.Run(String[] args)
   at cYo.Projects.ComicRack.Viewer.Program.Main(String[] args)

--------------------
Update Dynamic Books: Background, WaitSleepJoin (B)
   at cYo.Common.Threading.ThreadUtility.DumpThread(TextWriter tw, Thread t)
   at cYo.Common.Threading.ThreadUtility.DumpStacks(TextWriter tw)
   at cYo.Projects.ComicRack.Viewer.Dialogs.CrashDialog.OnBark(Object sender, BarkEventArgs e)
   at cYo.Common.Runtime.CrashWatchDog.OnBark(BarkType bark, Exception e)
   at System.Windows.Forms.Application.ThreadContext.OnThreadException(Exception t)
   at System.Windows.Forms.Timer.TimerNativeWindow.OnThreadException(Exception e)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
   at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
   at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
   at System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr dwComponentID, Int32 reason, Int32 pvLoopData)
   at System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
   at System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
   at cYo.Projects.ComicRack.Viewer.Program.StartNew(String[] args)
   at cYo.Common.Runtime.SingleInstance.Run(String[] args)
   at cYo.Projects.ComicRack.Viewer.Program.Main(String[] args)

--------------------
Export Books: Background (B)
   at cYo.Common.Threading.ThreadUtility.DumpThread(TextWriter tw, Thread t)
   at cYo.Common.Threading.ThreadUtility.DumpStacks(TextWriter tw)
   at cYo.Projects.ComicRack.Viewer.Dialogs.CrashDialog.OnBark(Object sender, BarkEventArgs e)
   at cYo.Common.Runtime.CrashWatchDog.OnBark(BarkType bark, Exception e)
   at System.Windows.Forms.Application.ThreadContext.OnThreadException(Exception t)
   at System.Windows.Forms.Timer.TimerNativeWindow.OnThreadException(Exception e)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
   at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
   at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
   at System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr dwComponentID, Int32 reason, Int32 pvLoopData)
   at System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
   at System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
   at cYo.Projects.ComicRack.Viewer.Program.StartNew(String[] args)
   at cYo.Common.Runtime.SingleInstance.Run(String[] args)
   at cYo.Projects.ComicRack.Viewer.Program.Main(String[] args)

--------------------
Read Book File Information: Background, WaitSleepJoin (B)
   at cYo.Common.Threading.ThreadUtility.DumpThread(TextWriter tw, Thread t)
   at cYo.Common.Threading.ThreadUtility.DumpStacks(TextWriter tw)
   at cYo.Projects.ComicRack.Viewer.Dialogs.CrashDialog.OnBark(Object sender, BarkEventArgs e)
   at cYo.Common.Runtime.CrashWatchDog.OnBark(BarkType bark, Exception e)
   at System.Windows.Forms.Application.ThreadContext.OnThreadException(Exception t)
   at System.Windows.Forms.Timer.TimerNativeWindow.OnThreadException(Exception e)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
   at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
   at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
   at System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr dwComponentID, Int32 reason, Int32 pvLoopData)
   at System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
   at System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
   at cYo.Projects.ComicRack.Viewer.Program.StartNew(String[] args)
   at cYo.Common.Runtime.SingleInstance.Run(String[] args)
   at cYo.Projects.ComicRack.Viewer.Program.Main(String[] args)

--------------------
Write Book File Information: Background, WaitSleepJoin (B)
   at cYo.Common.Threading.ThreadUtility.DumpThread(TextWriter tw, Thread t)
   at cYo.Common.Threading.ThreadUtility.DumpStacks(TextWriter tw)
   at cYo.Projects.ComicRack.Viewer.Dialogs.CrashDialog.OnBark(Object sender, BarkEventArgs e)
   at cYo.Common.Runtime.CrashWatchDog.OnBark(BarkType bark, Exception e)
   at System.Windows.Forms.Application.ThreadContext.OnThreadException(Exception t)
   at System.Windows.Forms.Timer.TimerNativeWindow.OnThreadException(Exception e)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
   at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
   at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
   at System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr dwComponentID, Int32 reason, Int32 pvLoopData)
   at System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
   at System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
   at cYo.Projects.ComicRack.Viewer.Program.StartNew(String[] args)
   at cYo.Common.Runtime.SingleInstance.Run(String[] args)
   at cYo.Projects.ComicRack.Viewer.Program.Main(String[] args)

--------------------
Synchronizing Devices: Background, WaitSleepJoin (B)
   at cYo.Common.Threading.ThreadUtility.DumpThread(TextWriter tw, Thread t)
   at cYo.Common.Threading.ThreadUtility.DumpStacks(TextWriter tw)
   at cYo.Projects.ComicRack.Viewer.Dialogs.CrashDialog.OnBark(Object sender, BarkEventArgs e)
   at cYo.Common.Runtime.CrashWatchDog.OnBark(BarkType bark, Exception e)
   at System.Windows.Forms.Application.ThreadContext.OnThreadException(Exception t)
   at System.Windows.Forms.Timer.TimerNativeWindow.OnThreadException(Exception e)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
   at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
   at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
   at System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr dwComponentID, Int32 reason, Int32 pvLoopData)
   at System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
   at System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
   at cYo.Projects.ComicRack.Viewer.Program.StartNew(String[] args)
   at cYo.Common.Runtime.SingleInstance.Run(String[] args)
   at cYo.Projects.ComicRack.Viewer.Program.Main(String[] args)

--------------------
Overlay Animation Thread: Background, WaitSleepJoin (B)
   at cYo.Common.Threading.ThreadUtility.DumpThread(TextWriter tw, Thread t)
   at cYo.Common.Threading.ThreadUtility.DumpStacks(TextWriter tw)
   at cYo.Projects.ComicRack.Viewer.Dialogs.CrashDialog.OnBark(Object sender, BarkEventArgs e)
   at cYo.Common.Runtime.CrashWatchDog.OnBark(BarkType bark, Exception e)
   at System.Windows.Forms.Application.ThreadContext.OnThreadException(Exception t)
   at System.Windows.Forms.Timer.TimerNativeWindow.OnThreadException(Exception e)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
   at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
   at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
   at System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr dwComponentID, Int32 reason, Int32 pvLoopData)
   at System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
   at System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
   at cYo.Projects.ComicRack.Viewer.Program.StartNew(String[] args)
   at cYo.Common.Runtime.SingleInstance.Run(String[] args)
   at cYo.Projects.ComicRack.Viewer.Program.Main(String[] args)

--------------------
Overlay Animation Thread: Background, WaitSleepJoin (B)
   at cYo.Common.Threading.ThreadUtility.DumpThread(TextWriter tw, Thread t)
   at cYo.Common.Threading.ThreadUtility.DumpStacks(TextWriter tw)
   at cYo.Projects.ComicRack.Viewer.Dialogs.CrashDialog.OnBark(Object sender, BarkEventArgs e)
   at cYo.Common.Runtime.CrashWatchDog.OnBark(BarkType bark, Exception e)
   at System.Windows.Forms.Application.ThreadContext.OnThreadException(Exception t)
   at System.Windows.Forms.Timer.TimerNativeWindow.OnThreadException(Exception e)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
   at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
   at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
   at System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr dwComponentID, Int32 reason, Int32 pvLoopData)
   at System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
   at System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
   at cYo.Projects.ComicRack.Viewer.Program.StartNew(String[] args)
   at cYo.Common.Runtime.SingleInstance.Run(String[] args)
   at cYo.Projects.ComicRack.Viewer.Program.Main(String[] args)

--------------------
Overlay Animation Thread: Background, WaitSleepJoin (B)
   at cYo.Common.Threading.ThreadUtility.DumpThread(TextWriter tw, Thread t)
   at cYo.Common.Threading.ThreadUtility.DumpStacks(TextWriter tw)
   at cYo.Projects.ComicRack.Viewer.Dialogs.CrashDialog.OnBark(Object sender, BarkEventArgs e)
   at cYo.Common.Runtime.CrashWatchDog.OnBark(BarkType bark, Exception e)
   at System.Windows.Forms.Application.ThreadContext.OnThreadException(Exception t)
   at System.Windows.Forms.Timer.TimerNativeWindow.OnThreadException(Exception e)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
   at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
   at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
   at System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr dwComponentID, Int32 reason, Int32 pvLoopData)
   at System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
   at System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
   at cYo.Projects.ComicRack.Viewer.Program.StartNew(String[] args)
   at cYo.Common.Runtime.SingleInstance.Run(String[] args)
   at cYo.Projects.ComicRack.Viewer.Program.Main(String[] args)

--------------------
Free Image Memory: Background, WaitSleepJoin (B)
   at cYo.Common.Threading.ThreadUtility.DumpThread(TextWriter tw, Thread t)
   at cYo.Common.Threading.ThreadUtility.DumpStacks(TextWriter tw)
   at cYo.Projects.ComicRack.Viewer.Dialogs.CrashDialog.OnBark(Object sender, BarkEventArgs e)
   at cYo.Common.Runtime.CrashWatchDog.OnBark(BarkType bark, Exception e)
   at System.Windows.Forms.Application.ThreadContext.OnThreadException(Exception t)
   at System.Windows.Forms.Timer.TimerNativeWindow.OnThreadException(Exception e)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
   at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
   at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
   at System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr dwComponentID, Int32 reason, Int32 pvLoopData)
   at System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
   at System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
   at cYo.Projects.ComicRack.Viewer.Program.StartNew(String[] args)
   at cYo.Common.Runtime.SingleInstance.Run(String[] args)
   at cYo.Projects.ComicRack.Viewer.Program.Main(String[] args)

--------------------
Report generated at: 1/31/2025 1:50:00 PM

@maforget
Copy link
Owner

Yes identical, no need to keep posting them. I should have already fixed the problem and will post the update later, when I have more to fix. In the mean time you can prevent this by closing ComicRack if you do a lot of converting/updating. Keep an eye on the handles column in task manager like the stack overflow post describes.

@mrsilva
Copy link
Author

mrsilva commented Feb 7, 2025

Thanks! :-)

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