maforget / comicrackce Goto Github PK
View Code? Open in Web Editor NEWA Community Edition for the legendary Comic Book Manager ComicRack. ComicRack is back from the dead.
License: GNU General Public License v2.0
A Community Edition for the legendary Comic Book Manager ComicRack. ComicRack is back from the dead.
License: GNU General Public License v2.0
The subject says it all really. Hardly essential, but maybe an alternative export that can be chosen?
The major comic servers all support this (and are largely directly involved in it too), and it's just an enhancement of the original.
I know there are a few standards floating around, but this is the one that the server developers are getting behind, so might as well stick with the people making the servers!
Describe the bug
When using "Show in List" on any comic file, it redirects to whatever the last "List" option is regardless of what is chosen.
Exact Steps to Reproduce
Steps to reproduce the behavior:
Screenshots
Attached short video clip. Can provide more if needed.
Version/Commit (check the about page, next to the version, for the string between brackets):
Additional context
Not a big issue, just an inconvenience. The bug is there on current latest build "44d1d2" and whatever was the most recent one. Can't remember if it was there on earlier builds.
Describe the bug
When updating the program in windows the installation overwrite publisher.zip
Could be posible to not ovewrite the files on this path "C:\Program Files\ComicRack Community Edition\Resources\Icons" if the files are newer?
I added a more complete publisher.zip if you want to update it.
I see in the log:
"CHANGE: Switched MySQl library to MySQLConnector for better speed & compatibility with MariaDB"
This mean i could use the last version of MariaDB?
would it be possible to add support for jxl images?
(for example: extracted contents of cbz file, encoded jpg files to jxl to save space, recompressed to cbz file)
and i want to view the file again: my only solution yet is using a browser that supports jxl with for example Web-Comic-Reader
Describe the bug
Comic Vine Scraper window is too small and cannot be resized
Exact Steps to Reproduce
Steps to reproduce the behavior:
Select a book from your library.
Right Click --> Info OR press CTRL i
Click Comic Vine Scraper from the bottom bar
Notice the window is too small and cannot be resized. Right clicking the title bar has the option to maximize but it is disabled as well.
Version/Commit (check the about page, next to the version, for the string between brackets):
Additional context
Comic Vine Scraper Script
Publisher logo images that have names with accents, accents, and umlauts are not displayed.
In my case i updated the publisher.zip with the logos of:
Éditions Glénat
Les Humanoïdes Associés
Denoël Graphic
But not logos show in Tiles-view.
Tested also in old comicrack and works fine.
Crash when checking the Clipboard if it contains any objects. It particularly easy to reproduce by copying code from Visual Studio and waiting a couple seconds while the application is Idle. It's a windows crash so no way for .NET to catch it. It just hard crashes the program.
The Event Viewer states:
Faulting application name: ComicRack.exe, version: 1.0.8782.5758, time stamp: 0x65a78bcd
Faulting module name: ucrtbase.dll, version: 10.0.22621.2506, time stamp: 0x097c794c
Exception code: 0xc0000409
Code Location:
I'm not a huge fan of the CR comic viewer. Would it be possible to add an option to open a comic in an external viewer?
I know we had the same Problem with the OG CR. But I never had it that it keeps deleting the exe no matter what. Interestingly it did not say anything for the 4 days I used it prior. It just started doing this today. If it would be rght after a big update I could understand it more (had a Windows Udate 3 days ago).
So can we do anything except sendind the exe to MS for false positive?
Adding an option to merge/split pages from the pages window. Or probably just a setting like Page Type => Deleted that would be done on Export.
Thank you very much for fixing that old annoying issue, that the tags someone adds to a comic or series never were stored in the comicinfo.xml files.
Though, this is still only less than half the mileage to go. So far, storing the tags only works for files which have been already added to the library. It does not work for files which you access through the file browser tab. You can add them (though the field is grayed out, but the dialog still opens up), but they are not stored permanently, and especially they are not exportted to comicinfo.xml then.
It took a while for me to recognize this.
I'd really appreciate if tagging would work absolutely the same way as adding genres, because right now it is a nuisance in my workflow.
When I get new comics or mangas, I store them on the local SSD of the notebook first, to add info by comicvine scraper and manually. Only when there is already some good comicinfo.xml in each file, it will be stored at its final location on my NAS, where a Komga server instance then picks the stuff up.
If I always have to move the files first prior to adding the tags, this is slowing down the workflow significantly, especially when connected by WIFI, not by LAN. With bad timing, it can even happen that the Komga server has to swallow the new stuff twice, due to its feature to automatically grab new directories every x hours.
Hi
i have beside the comics library in Komga, the Manga Library, could be possible create a Manga Scraper from the website fandom.com
heres is the API info
https://community.fandom.com/api.php
here is an manga example
https://arifureta.fandom.com/wiki/Arifureta_(Main_Series)/Manga
en this is the chapter info
https://arifureta.fandom.com/wiki/Arifureta_-_Chapter_0
thanks!!
Hopefully this will be straightforward.
In Format.zip rename series.png to series#Main Series.png to have it show up as Icon for Main Series Format. This is the only format without an icon.
Describe the bug
When you have a comic that contains WEBP pages, and you export it again, selecting WEBP as the format, the WEBP pages gets converted to JPEG pages although the file extension remains WEBP.
Exact Steps to Reproduce
Steps to reproduce the behavior:
Ideal outcome, when you re-export and the files are already WEBP, it should just not do anything with the files. At the moment it converts them to JPEG, but keeps the extension as WEBP. Subsequen re-exports with WEBP format just keeps the same JPEG file, so the same should really apply for WEBP. I suspect that what happens with WEPB will happen with the DJVU image format as well, but I haven't tried that as such.
Screenshots
Version/Commit (check the about page, next to the version, for the string between brackets):
Additional context
I've traced the issue down to this specific function in the ComicRackCE\ComicRack.Engine\IO\Provider\ImageProvider.cs file. It converts WEBP images to JPEG, stores the JPEG data then. I haven't had time to really get my head around the code yet to see how to fix it, if I ever get time in the near future I'll give it a stab.
Describe the bug
Currently if XML deserialization fails, CR will attempt to re-popoulate metadata from the file-name alone.
Since this counts as "new" metadata the ComicInfo is marked as dirty.
Depending on settings, the User can then commit this to the file w/o being aware of the potential data-loss.
Exact Steps to Reproduce
<Writer> ... <Writer> ==> <Writer> ... <Write>
Version/Commit (check the about page, next to the version, for the string between brackets):
Additional context
The User should be made explicitly aware of XML parsing issues.
I propose the following behavior:
This is a long-standing CR bug for me. I have a smart list that is stacked by Series Group but this is reproducible by stacking other fields like Published or Pages. If I open a stack and then click away to another smart list and then back to the original list the stack only shows one book. I have to close the stack and re-open it.
Here is my smart list, stacked by Series Group:
Here is the AVP stack after clicking away to another smart list and then returning to the first list:
In addition to only showing one book it also loses the view settings for inside the stack. Closing the stack and re-opening returns the full results and the correct view.
Sometimes you have to open/close a stack twice or click away and back to the smart list twice to trigger it. Once it happens it is easily reproducible, though. It may not happen with all groupings in the smart list, however. Ones that group lots of books or books across different series seem to be a sure bet.
Describe the bug
These fields are saved to the database but not exported into comicinfo.xml
Exact Steps to Reproduce
Steps to reproduce the behavior:
Screenshots
If applicable, add screenshots to help explain your problem.
Version/Commit (check the about page, next to the version, for the string between brackets):
Additional context
Add any other context about the problem here.
https://github.com/maforget/ComicRackCE/assets/5938853/7788d7cd-34b9-4f1a-ab6e-745245852665
(view in full-screen to see the issue more clearly)
I've noticed an issue where a gray vertical line appears between two pages when they are displayed together. This line, while not a problem for most comics, disrupts the flow of artwork in two-page spreads. In the original comics, these spreads are seamless, but the gray line creates an artificial and distracting division. I've attached a video to demonstrate how this affects the reading experience, especially in digital formats where such separation is not present, unlike the physical versions. It would be great to have an option to disable this line for a more immersive reading experience.
Here is a placeholder for work on a Dark Theme.
Is it even possible with Winforms?
as you know you can't edit files that you are seeding and if you share edited files on DC++ you will get banned, so does ComicRackCE edit the/add ComicInfo.xml
file?
as far as i know kavita/komf does have two options store the metadata in a database or ComicInfo.xml
file, it will be nice if ComicRackCE does have that too
Describe the bug
Windows Defender detects Trojan:Win32/Bearfoos.A!ml in latest nightly
Exact Steps to Reproduce
Install the latest nightly from commit 5e743cd. Wait for the error
Screenshots
Version/Commit (check the about page, next to the version, for the string between brackets):
Hi
The plugin "Backup for Comicrack" don't works with CE edition because it's store the "%APPDATA%/cYo/ComicRack" folder and not the "%APPDATA%/cYo/ComicRack Community Edition"
Here is the link to the plugin : https://code.google.com/archive/p/cr-backup-manager/
Very useful plugin. It zip the ComicRack folder with ComicDB.xml each time CR starts. Can do a full backup too.
Describe the bug
ComicRackCE become unresponsive for few minutes
Exact Steps to Reproduce
Steps to reproduce the behavior:
Version/Commit (check the about page, next to the version, for the string between brackets):
Additional context
when selecting a fewer number (300) it become unresponsive only for few seconds
Describe the bug
When the option Book files are updated automatically is enabled, all changes are automatically committed to the files.
Thus the Updates non-DB files Dialog is superfluous as changes are already committed.
Worse, it may mislead the User, giving the impression that the option normally doesn't affect Non-DB files.
This behavior was discovered while investigating XML deserializaiton issues.
If deserializaiton fails, ComicInfo is marked as dirty.
Together with the option above CR will flush the ComicInfo.xml.
Behaviour was triggered by intentionally mangling XML opening/closing tags so they're unpaired to check error handling.
CR will always updates malformed ComicInfo.xml, even if the user chooses not update files outside the DB.
Exact Steps to Reproduce
Version/Commit (check the about page, next to the version, for the string between brackets):
I have a comic that has two blank pages, which are necessary to keep pages on the correct side in two-page mode. They are no longer displayed or listed in the page listing.
Attached is a decompiled copy of the existing installer script. Would need an installer for actual release and be integrated in the Github workflow.
Do you think it could be a good idea to drag and drop folders in the treeview of the folder view, instead of go out to explorer, move folders and then reload the library ?
Hello,
could someone verify if the ParallelConversions modification has had any effect?
I have been trying every nightly release of the CE edition, and a few days ago I noticed the ParallelConversions in the changelog.
I did some tests converting big files and monitoring my cpu usage and I can confirm that all cores showed an increased usage, and a big speed increase in the conversions as well.
However, I tried to repeat the test yesterday and the CPU's didn't show more than 7 cores being used, and the speed was the usual. I did not keep a copy of the version when I first tested it (my fault), so could someone else verify if they notice any changes?
This is something I feel would be a great feature and always thought would be needed. Something like MusicBee Virtual Tags or Calibre Template, Where existing tags could be used to create another tags. It would also need functions (like right, left, mid, substring, etc.) to be added to be useful.
It needs to be be accessible throughout the application, like in grouping, sorting, smart lists, etc.
Fullscreen toggles Minimal User Interface doesn't work when using Reader in own Window.
Exact Steps to Reproduce
Steps to reproduce the behavior:
A few months ago this was posted on the subreddit: https://github.com/pezhore/comicrack-docker It doesn't look like pezhore has done anything with it since.
It would be interesting if we could integrate something like this with the CE edition, it might actually be easier since it would have better support for mariadb and other options. I think ideally we could just use a dotnet implementation instead of WINE, but I think that might require a substantial amount of work (replacing the plugin system, replacing the UI with an electron UI or making a "headless" version that could be managed by a remote CE application).
Describe the bug
When using right-to-left reading mode with Page Turn Effect enabled, the page turning animation still behaves as if I'm reading a left-to-right book instead of being flipped to match the reading direction as one would expect; this is very disorienting and affects readability for manga and other right-to-left comics.
Exact Steps to Reproduce
Steps to reproduce the behavior:
Version/Commit (check the about page, next to the version, for the string between brackets):
It seems to work when connecting to OG.
OG can connect to OG
CE can connect to OG
CE cannot connect to CE
OG cannot connect to CE,
It crashes
System.ServiceModel.Security.SecurityNegotiationException
HResult=0x80131501
Message=SOAP security negotiation with 'net.tcp://10.0.10.25:7612/Share/Library' for target 'net.tcp://10.0.10.25:7612/Share/Library' failed. See inner exception for more details.
Source=mscorlib
StackTrace:
at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
at cYo.Projects.ComicRack.Engine.IO.Network.IRemoteComicLibrary.get_IsValid()
at cYo.Projects.ComicRack.Engine.IO.Network.ComicLibraryClient.Connect() in ComicLibraryClient.cs:line 81
This exception was originally thrown at this call stack:
[External Code]
Inner Exception 1:
Win32Exception: The token supplied to the function is invalid
{System.ServiceModel.Security.SecurityNegotiationException: SOAP security negotiation with 'net.tcp://10.0.10.25:7612/Share/Library' for target 'net.tcp://10.0.10.25:7612/Share/Library' failed. See inner exception for more details. ---> System.ComponentModel.Win32Exception: The token supplied to the function is invalid
at System.ServiceModel.Security.TlsSspiNegotiation.GetOutgoingBlob(Byte[] incomingBlob, ChannelBinding channelbinding, ExtendedProtectionPolicy protectionPolicy)
at System.ServiceModel.Security.SspiNegotiationTokenProvider.GetNextOutgoingMessageBody(Message incomingMessage, SspiNegotiationTokenProviderState sspiState)
at System.ServiceModel.Security.IssuanceTokenProviderBase`1.GetNextOutgoingMessage(Message incomingMessage, T negotiationState)
at System.ServiceModel.Security.IssuanceTokenProviderBase`1.DoNegotiation(TimeSpan timeout)
--- End of inner exception stack trace ---
at System.ServiceModel.Security.IssuanceTokenProviderBase`1.DoNegotiation(TimeSpan timeout)
at System.ServiceModel.Security.SspiNegotiationTokenProvider.OnOpen(TimeSpan timeout)
at System.ServiceModel.Security.TlsnegoTokenProvider.OnOpen(TimeSpan timeout)
at System.ServiceModel.Security.WrapperSecurityCommunicationObject.OnOpen(TimeSpan timeout)
at System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan timeout)
at System.ServiceModel.Security.CommunicationObjectSecurityTokenProvider.Open(TimeSpan timeout)
at System.ServiceModel.Security.SecurityUtils.OpenCommunicationObject(ICommunicationObject obj, TimeSpan timeout)
at System.ServiceModel.Security.SecurityUtils.OpenTokenProviderIfRequired(SecurityTokenProvider tokenProvider, TimeSpan timeout)
at System.ServiceModel.Security.SymmetricSecurityProtocol.OnOpen(TimeSpan timeout)
at System.ServiceModel.Security.WrapperSecurityCommunicationObject.OnOpen(TimeSpan timeout)
at System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan timeout)
at System.ServiceModel.Security.SecurityProtocol.Open(TimeSpan timeout)
at System.ServiceModel.Channels.SecurityChannelFactory`1.ClientSecurityChannel`1.OnOpen(TimeSpan timeout)
at System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan timeout)
at System.ServiceModel.Security.SecuritySessionSecurityTokenProvider.DoOperation(SecuritySessionOperation operation, EndpointAddress target, Uri via, SecurityToken currentToken, TimeSpan timeout)
at System.ServiceModel.Security.SecuritySessionSecurityTokenProvider.GetTokenCore(TimeSpan timeout)
at System.IdentityModel.Selectors.SecurityTokenProvider.GetToken(TimeSpan timeout)
at System.ServiceModel.Security.SecuritySessionClientSettings`1.ClientSecuritySessionChannel.OnOpen(TimeSpan timeout)
at System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan timeout)
at System.ServiceModel.Channels.ServiceChannel.OnOpen(TimeSpan timeout)
at System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan timeout)
at System.ServiceModel.Channels.ServiceChannel.CallOpenOnce.System.ServiceModel.Channels.ServiceChannel.ICallOnce.Call(ServiceChannel channel, TimeSpan timeout)
at System.ServiceModel.Channels.ServiceChannel.CallOnceManager.CallOnce(TimeSpan timeout, CallOnceManager cascade)
at System.ServiceModel.Channels.ServiceChannel.EnsureOpened(TimeSpan timeout)
at System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean oneway, ProxyOperationRuntime operation, Object[] ins, Object[] outs, TimeSpan timeout)
at System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean oneway, ProxyOperationRuntime operation, Object[] ins, Object[] outs)
at System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCallMessage methodCall, ProxyOperationRuntime operation)
at System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage message)}
Can be bypassed by setting the CreateChannel(secure: false)
for the Library endpoint, but that disables Passwords.
Something to do with the certificate. Either it's too old and the algo isn't supported anymore or it's encrypted via a private key. Maybe try to generate a new Certificate and have both Certificate in the new version. 1 for compatibility with the OG, another for the CE.
Wasn't sure the appropriate channel to post this, but thoughts on a web ui or docker container?
Opening an issue here for this subject.
Looking at the code for the opengl, CR uses an outdated version of the Tao Framework opengl library. What do you guys think about using OpenTK instead?
Describe the bug
I run CR(CE) with the flags -dso -ssc to enable script output and any script debugging I might do. Everytime I move the window CR doesn't remember the new position when I open CR the next time. Please make this window remember position if possible. Thank you
Describe the bug
Ran library organizer on an files in an unprocessed folder. Files renamed and moved. Went back to "empty" folder and found new list of random files.
Version/Commit (check the about page, next to the version, for the string between brackets):
Hi, is it possible to add support for newer image formats like AVIF, HIEC, JPEG XL etc.?
Cannot have a portable installation working.
If you uncomment "UseLocalSettings = true" row in file "ComicRack.ini" result is application not anymore starting.
We need to replace the existing obsolete IronPython Plugin system. I would keep it as is for Legacy purpose, but create a new system that would live alongside the IronPython one.
P.S. The Current 2.7.4 version of IronPython that is installed seems to be the last one that will work with existing plugins. There is a version (at this time 3.4.1, updated in July 2023 that might be an idea).
But I believe the easiest is just to do a plugin system using .NET. Having dll in the folder instead. All they would need is probably just an Interface that they would need to implement that would serve as an entry point. Would we need to have various types for the different Hook that current plugin permits? Or maybe use Attributes to specify the Hook Types?
Could we also use something like HarmonyLib to give plugins an even bigger access to the entire code, to be able to be changed on the fly.
Some web comics use animated GIFs. Would it be possible to add support for them?
An option so that reading these comics stay in vertical form, with pages stitching together. Probably be done after #23 is done.
Don't know if it is my Surface but strangely I can not copy the metadata with the keyboard combination. Only with right click and the commands there. Thought at first it was because the cursor was not above the cbz but this was not the case.
Can anyone test if they have the same problem? It did work for me for the version 1-1.5 weeks ago.
Describe the bug
Was on a list filter screen... not sure what happened as the app just suddenly gave me the error dialogue.
Version/Commit (check the about page, next to the version, for the string between brackets):
Additional context
There's no clear "submit" option on the error message so here is the text from the error. (would be nice to know which of the error message options actually sends the error message automatically - restart, exit, etc...)
Application: ComicRack Community Edition
Version : 0.9.180
Assembly : 1.0.8834.11949
OS : Microsoft Windows NT 6.2.9200.0 64
.NET : 4.0.30319.42000
Processors : 24
Workingset : 849.94 MB
DOMAINEXCEPTION
--------------------
PathTooLongException
System.String NewNormalizePathLimitedChecks(System.String, Int32, Boolean)
The specified path, file name, or both are too long. The fully qualified file name must be less than 260 characters, and the directory name must be less than 248 characters.
at System.IO.Path.NewNormalizePathLimitedChecks(String path, Int32 maxPathLength, Boolean expandShortPaths)
at System.IO.Path.NormalizePath(String path, Boolean fullCheck, Int32 maxPathLength, Boolean expandShortPaths)
at System.IO.Path.GetPathRoot(String path)
at cYo.Common.IO.DriveChecker.IsConnected(String path)
at cYo.Projects.ComicRack.Engine.ComicScanner.ScanFolderQueue()
at cYo.Common.Threading.ThreadUtility.<>c__DisplayClass14_0.<CreateWorkerThread>b__0()
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.ThreadHelper.ThreadStart()
--------------------
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.IO.Path.NewNormalizePathLimitedChecks(String path, Int32 maxPathLength, Boolean expandShortPaths)
at System.IO.Path.NormalizePath(String path, Boolean fullCheck, Int32 maxPathLength, Boolean expandShortPaths)
at System.IO.Path.GetPathRoot(String path)
at cYo.Common.IO.DriveChecker.IsConnected(String path)
at cYo.Projects.ComicRack.Engine.ComicScanner.ScanFolderQueue()
at cYo.Common.Threading.ThreadUtility.<>c__DisplayClass14_0.<CreateWorkerThread>b__0()
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.ThreadHelper.ThreadStart()
--------------------
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.IO.Path.NewNormalizePathLimitedChecks(String path, Int32 maxPathLength, Boolean expandShortPaths)
at System.IO.Path.NormalizePath(String path, Boolean fullCheck, Int32 maxPathLength, Boolean expandShortPaths)
at System.IO.Path.GetPathRoot(String path)
at cYo.Common.IO.DriveChecker.IsConnected(String path)
at cYo.Projects.ComicRack.Engine.ComicScanner.ScanFolderQueue()
at cYo.Common.Threading.ThreadUtility.<>c__DisplayClass14_0.<CreateWorkerThread>b__0()
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.ThreadHelper.ThreadStart()
--------------------
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.IO.Path.NewNormalizePathLimitedChecks(String path, Int32 maxPathLength, Boolean expandShortPaths)
at System.IO.Path.NormalizePath(String path, Boolean fullCheck, Int32 maxPathLength, Boolean expandShortPaths)
at System.IO.Path.GetPathRoot(String path)
at cYo.Common.IO.DriveChecker.IsConnected(String path)
at cYo.Projects.ComicRack.Engine.ComicScanner.ScanFolderQueue()
at cYo.Common.Threading.ThreadUtility.<>c__DisplayClass14_0.<CreateWorkerThread>b__0()
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.ThreadHelper.ThreadStart()
--------------------
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.IO.Path.NewNormalizePathLimitedChecks(String path, Int32 maxPathLength, Boolean expandShortPaths)
at System.IO.Path.NormalizePath(String path, Boolean fullCheck, Int32 maxPathLength, Boolean expandShortPaths)
at System.IO.Path.GetPathRoot(String path)
at cYo.Common.IO.DriveChecker.IsConnected(String path)
at cYo.Projects.ComicRack.Engine.ComicScanner.ScanFolderQueue()
at cYo.Common.Threading.ThreadUtility.<>c__DisplayClass14_0.<CreateWorkerThread>b__0()
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.ThreadHelper.ThreadStart()
--------------------
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.IO.Path.NewNormalizePathLimitedChecks(String path, Int32 maxPathLength, Boolean expandShortPaths)
at System.IO.Path.NormalizePath(String path, Boolean fullCheck, Int32 maxPathLength, Boolean expandShortPaths)
at System.IO.Path.GetPathRoot(String path)
at cYo.Common.IO.DriveChecker.IsConnected(String path)
at cYo.Projects.ComicRack.Engine.ComicScanner.ScanFolderQueue()
at cYo.Common.Threading.ThreadUtility.<>c__DisplayClass14_0.<CreateWorkerThread>b__0()
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.ThreadHelper.ThreadStart()
--------------------
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.IO.Path.NewNormalizePathLimitedChecks(String path, Int32 maxPathLength, Boolean expandShortPaths)
at System.IO.Path.NormalizePath(String path, Boolean fullCheck, Int32 maxPathLength, Boolean expandShortPaths)
at System.IO.Path.GetPathRoot(String path)
at cYo.Common.IO.DriveChecker.IsConnected(String path)
at cYo.Projects.ComicRack.Engine.ComicScanner.ScanFolderQueue()
at cYo.Common.Threading.ThreadUtility.<>c__DisplayClass14_0.<CreateWorkerThread>b__0()
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.ThreadHelper.ThreadStart()
--------------------
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.IO.Path.NewNormalizePathLimitedChecks(String path, Int32 maxPathLength, Boolean expandShortPaths)
at System.IO.Path.NormalizePath(String path, Boolean fullCheck, Int32 maxPathLength, Boolean expandShortPaths)
at System.IO.Path.GetPathRoot(String path)
at cYo.Common.IO.DriveChecker.IsConnected(String path)
at cYo.Projects.ComicRack.Engine.ComicScanner.ScanFolderQueue()
at cYo.Common.Threading.ThreadUtility.<>c__DisplayClass14_0.<CreateWorkerThread>b__0()
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.ThreadHelper.ThreadStart()
--------------------
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.IO.Path.NewNormalizePathLimitedChecks(String path, Int32 maxPathLength, Boolean expandShortPaths)
at System.IO.Path.NormalizePath(String path, Boolean fullCheck, Int32 maxPathLength, Boolean expandShortPaths)
at System.IO.Path.GetPathRoot(String path)
at cYo.Common.IO.DriveChecker.IsConnected(String path)
at cYo.Projects.ComicRack.Engine.ComicScanner.ScanFolderQueue()
at cYo.Common.Threading.ThreadUtility.<>c__DisplayClass14_0.<CreateWorkerThread>b__0()
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.ThreadHelper.ThreadStart()
--------------------
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.IO.Path.NewNormalizePathLimitedChecks(String path, Int32 maxPathLength, Boolean expandShortPaths)
at System.IO.Path.NormalizePath(String path, Boolean fullCheck, Int32 maxPathLength, Boolean expandShortPaths)
at System.IO.Path.GetPathRoot(String path)
at cYo.Common.IO.DriveChecker.IsConnected(String path)
at cYo.Projects.ComicRack.Engine.ComicScanner.ScanFolderQueue()
at cYo.Common.Threading.ThreadUtility.<>c__DisplayClass14_0.<CreateWorkerThread>b__0()
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.ThreadHelper.ThreadStart()
--------------------
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.IO.Path.NewNormalizePathLimitedChecks(String path, Int32 maxPathLength, Boolean expandShortPaths)
at System.IO.Path.NormalizePath(String path, Boolean fullCheck, Int32 maxPathLength, Boolean expandShortPaths)
at System.IO.Path.GetPathRoot(String path)
at cYo.Common.IO.DriveChecker.IsConnected(String path)
at cYo.Projects.ComicRack.Engine.ComicScanner.ScanFolderQueue()
at cYo.Common.Threading.ThreadUtility.<>c__DisplayClass14_0.<CreateWorkerThread>b__0()
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.ThreadHelper.ThreadStart()
--------------------
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.IO.Path.NewNormalizePathLimitedChecks(String path, Int32 maxPathLength, Boolean expandShortPaths)
at System.IO.Path.NormalizePath(String path, Boolean fullCheck, Int32 maxPathLength, Boolean expandShortPaths)
at System.IO.Path.GetPathRoot(String path)
at cYo.Common.IO.DriveChecker.IsConnected(String path)
at cYo.Projects.ComicRack.Engine.ComicScanner.ScanFolderQueue()
at cYo.Common.Threading.ThreadUtility.<>c__DisplayClass14_0.<CreateWorkerThread>b__0()
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.ThreadHelper.ThreadStart()
--------------------
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.IO.Path.NewNormalizePathLimitedChecks(String path, Int32 maxPathLength, Boolean expandShortPaths)
at System.IO.Path.NormalizePath(String path, Boolean fullCheck, Int32 maxPathLength, Boolean expandShortPaths)
at System.IO.Path.GetPathRoot(String path)
at cYo.Common.IO.DriveChecker.IsConnected(String path)
at cYo.Projects.ComicRack.Engine.ComicScanner.ScanFolderQueue()
at cYo.Common.Threading.ThreadUtility.<>c__DisplayClass14_0.<CreateWorkerThread>b__0()
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.ThreadHelper.ThreadStart()
--------------------
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.IO.Path.NewNormalizePathLimitedChecks(String path, Int32 maxPathLength, Boolean expandShortPaths)
at System.IO.Path.NormalizePath(String path, Boolean fullCheck, Int32 maxPathLength, Boolean expandShortPaths)
at System.IO.Path.GetPathRoot(String path)
at cYo.Common.IO.DriveChecker.IsConnected(String path)
at cYo.Projects.ComicRack.Engine.ComicScanner.ScanFolderQueue()
at cYo.Common.Threading.ThreadUtility.<>c__DisplayClass14_0.<CreateWorkerThread>b__0()
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.ThreadHelper.ThreadStart()
--------------------
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.IO.Path.NewNormalizePathLimitedChecks(String path, Int32 maxPathLength, Boolean expandShortPaths)
at System.IO.Path.NormalizePath(String path, Boolean fullCheck, Int32 maxPathLength, Boolean expandShortPaths)
at System.IO.Path.GetPathRoot(String path)
at cYo.Common.IO.DriveChecker.IsConnected(String path)
at cYo.Projects.ComicRack.Engine.ComicScanner.ScanFolderQueue()
at cYo.Common.Threading.ThreadUtility.<>c__DisplayClass14_0.<CreateWorkerThread>b__0()
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.ThreadHelper.ThreadStart()
--------------------
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.IO.Path.NewNormalizePathLimitedChecks(String path, Int32 maxPathLength, Boolean expandShortPaths)
at System.IO.Path.NormalizePath(String path, Boolean fullCheck, Int32 maxPathLength, Boolean expandShortPaths)
at System.IO.Path.GetPathRoot(String path)
at cYo.Common.IO.DriveChecker.IsConnected(String path)
at cYo.Projects.ComicRack.Engine.ComicScanner.ScanFolderQueue()
at cYo.Common.Threading.ThreadUtility.<>c__DisplayClass14_0.<CreateWorkerThread>b__0()
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.ThreadHelper.ThreadStart()
--------------------
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.IO.Path.NewNormalizePathLimitedChecks(String path, Int32 maxPathLength, Boolean expandShortPaths)
at System.IO.Path.NormalizePath(String path, Boolean fullCheck, Int32 maxPathLength, Boolean expandShortPaths)
at System.IO.Path.GetPathRoot(String path)
at cYo.Common.IO.DriveChecker.IsConnected(String path)
at cYo.Projects.ComicRack.Engine.ComicScanner.ScanFolderQueue()
at cYo.Common.Threading.ThreadUtility.<>c__DisplayClass14_0.<CreateWorkerThread>b__0()
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.ThreadHelper.ThreadStart()
--------------------
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.IO.Path.NewNormalizePathLimitedChecks(String path, Int32 maxPathLength, Boolean expandShortPaths)
at System.IO.Path.NormalizePath(String path, Boolean fullCheck, Int32 maxPathLength, Boolean expandShortPaths)
at System.IO.Path.GetPathRoot(String path)
at cYo.Common.IO.DriveChecker.IsConnected(String path)
at cYo.Projects.ComicRack.Engine.ComicScanner.ScanFolderQueue()
at cYo.Common.Threading.ThreadUtility.<>c__DisplayClass14_0.<CreateWorkerThread>b__0()
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.ThreadHelper.ThreadStart()
--------------------
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.IO.Path.NewNormalizePathLimitedChecks(String path, Int32 maxPathLength, Boolean expandShortPaths)
at System.IO.Path.NormalizePath(String path, Boolean fullCheck, Int32 maxPathLength, Boolean expandShortPaths)
at System.IO.Path.GetPathRoot(String path)
at cYo.Common.IO.DriveChecker.IsConnected(String path)
at cYo.Projects.ComicRack.Engine.ComicScanner.ScanFolderQueue()
at cYo.Common.Threading.ThreadUtility.<>c__DisplayClass14_0.<CreateWorkerThread>b__0()
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.ThreadHelper.ThreadStart()
--------------------
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.IO.Path.NewNormalizePathLimitedChecks(String path, Int32 maxPathLength, Boolean expandShortPaths)
at System.IO.Path.NormalizePath(String path, Boolean fullCheck, Int32 maxPathLength, Boolean expandShortPaths)
at System.IO.Path.GetPathRoot(String path)
at cYo.Common.IO.DriveChecker.IsConnected(String path)
at cYo.Projects.ComicRack.Engine.ComicScanner.ScanFolderQueue()
at cYo.Common.Threading.ThreadUtility.<>c__DisplayClass14_0.<CreateWorkerThread>b__0()
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.ThreadHelper.ThreadStart()
--------------------
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.IO.Path.NewNormalizePathLimitedChecks(String path, Int32 maxPathLength, Boolean expandShortPaths)
at System.IO.Path.NormalizePath(String path, Boolean fullCheck, Int32 maxPathLength, Boolean expandShortPaths)
at System.IO.Path.GetPathRoot(String path)
at cYo.Common.IO.DriveChecker.IsConnected(String path)
at cYo.Projects.ComicRack.Engine.ComicScanner.ScanFolderQueue()
at cYo.Common.Threading.ThreadUtility.<>c__DisplayClass14_0.<CreateWorkerThread>b__0()
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.ThreadHelper.ThreadStart()
--------------------
Book Scanner: 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.IO.Path.NewNormalizePathLimitedChecks(String path, Int32 maxPathLength, Boolean expandShortPaths)
at System.IO.Path.NormalizePath(String path, Boolean fullCheck, Int32 maxPathLength, Boolean expandShortPaths)
at System.IO.Path.GetPathRoot(String path)
at cYo.Common.IO.DriveChecker.IsConnected(String path)
at cYo.Projects.ComicRack.Engine.ComicScanner.ScanFolderQueue()
at cYo.Common.Threading.ThreadUtility.<>c__DisplayClass14_0.<CreateWorkerThread>b__0()
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.ThreadHelper.ThreadStart()
--------------------
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.IO.Path.NewNormalizePathLimitedChecks(String path, Int32 maxPathLength, Boolean expandShortPaths)
at System.IO.Path.NormalizePath(String path, Boolean fullCheck, Int32 maxPathLength, Boolean expandShortPaths)
at System.IO.Path.GetPathRoot(String path)
at cYo.Common.IO.DriveChecker.IsConnected(String path)
at cYo.Projects.ComicRack.Engine.ComicScanner.ScanFolderQueue()
at cYo.Common.Threading.ThreadUtility.<>c__DisplayClass14_0.<CreateWorkerThread>b__0()
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.ThreadHelper.ThreadStart()
--------------------
Report generated at: 3/9/2024 8:34:40 PM
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.