mirror of
https://github.com/SabreTools/MPF.git
synced 2026-02-04 05:35:52 +00:00
[Problem] Protection Check stalls on specific disk #769
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @hughobrien on GitHub (Dec 8, 2024).
Originally assigned to: @mnadareski, @Deterous on GitHub.
I've tried this on
MPF.UI_3.2.4_net9.0-windows_win-x64_releaseand the Nov 5 Rolling.When dumping Company of Heroes, which contains many archives of small files. The protection check stalls. If I mount the iso with wincdemu (to spare my drive) and run the protection scan that way it also stalls.
I let it run for about 6 hours so I'm confident it was truly stuck. Running without archive scan it completes as expected.
Running protection check on its own doesn't seem to have any issues (below is Linux but Windows worked fine also)
I can provide the iso which with wincdemu should allow for reproduction. I'm in the VGPC discord.
@mnadareski commented on GitHub (Dec 10, 2024):
This is likely related to the internal queue that is used by the logging part of the UI. It is easily overwhelmed especially in cases of many small files being scanned during a protection scan.
@Deterous commented on GitHub (Dec 11, 2024):
I was able to replicate this issue somewhat, on my machine (laptop with 8GB memory) it completed the scan (status text made that clear) but MPF hung just before it could finish printing the last remaining log lines (last printed line was 99%... but not yet printed the final detection results).
I tried removing the internal queue completely, which did not fix the problem, but it did behave somewhat differently.
A solution to this would perhaps be to replace the internal queue with pushing chunks of text rather than line-by-line, and/or limiting how many messages scanning prints to the MPF log.
@mnadareski commented on GitHub (Dec 19, 2024):
This should be fixed as of
9207627fb0. Please test with this or a later build to confirm that it has been fixed@mnadareski commented on GitHub (Dec 19, 2024):
The reason that this was hanging on these sort of discs is that it was a combination of 3 separate issues:
@mnadareski commented on GitHub (Dec 20, 2024):
Confirmed to be fixed by two separate people.