-
-
Notifications
You must be signed in to change notification settings - Fork 239
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
The program closes when I try to compress the Program Files folder #395
Comments
This is because when a folder has around more than 10,000 Files, It crashes for some reason, probably because it can't handle the amount of files, you can try an alpha version of V3 or V2 as an substitute until it gets fixed. |
The point is that this did not happen with v3.0.3, at least that I have noticed. So, it seems likely that it might be a bug introduced in the new version, isn't it? |
I got pointed here and this does sound more accurate of an issue I am experincing. I don't know if it could be a specific file type or naming convention but here is the content of the folders I have found that don't work: F:\PS2SMB\DVD
F:\ROMS
it doesn't let me open the sub folders indavidually either These are folders that do work: F:\NDS SAVES
F:\PPSSPP
and finally this large one: F:\Dolphin-x64
|
This is really strange actually. I'll do some digging but I'm not sure what actually caused it. Program Files I get, but the Dolphin and PPSSPP folders failing is just strange |
NDS SAVES, PPSSPO and Dolphin are the 3 folder that I can open in the GUI without it crashing |
@BuyMyMojo can you confirm that it works for you on version 3.0.3? |
@Starbuck1991 can you also confirm that if you try to run v3.0.3 again that it still works? I'm trying to work out whether v3.0.4 actually broke it or if there's another coincidence (a new windows update, program install, etc.) that happened at the same time. Also can you and @BuyMyMojo do the following for a folder that crashes:
Application: CompactGUI.exe
CoreCLR Version: 6.0.2724.6912
.NET Version: 6.0.27
Description: The process was terminated due to an unhandled exception.
Exception Info: ................... |
@Iridium-IO I have confirmed that version 3.0.3 does not exhibit the issue, whereas version 3.0.4 does. Event 1026, .NET Runtime Event 1000, Application Error |
Thanks! That actually nails the problem. When I added the check to ensure the folder is not empty in this commit, I used: If Not IO.Directory.EnumerateFiles(folder, "*", SearchOption.AllDirectories).Any() Then : Return (False, "Directory is empty")` The problem is, that Can you try this version and see if it works: |
@Iridium-IO Yes, this version resolves the issue. |
@Starbuck1991 excellent, I'll push it in a proper release now |
Hey sorry I've been busy with work: My folders do not open with 3.0.3 and here is the crash log:
in the version you published a little bit ago:
|
Hello! I'm re-opening this because I get this on v3.2.1
I've reseted the settings with As additional info, this folder has other subfolders and files copied from a previous Windows installation under a different user. I can compress pretty much any folder that has been made within this current Windows installation, and even some from the previous one. But this folder and files specifically, I can't for some reason Also, tried update: ok, any folder inside my User folder (C:\Users\USERNAME) results in the app crashing this way update 2: related to #356, I have a weird "Account Unknown" in the permissions of my user folder. I'm pretty sure this happened because I booted into the previous windows installation and I accessed the folder from there. FIXYeah, that was it! When I tried to access my user folder from another Windows installation, the following messaged popped up: Of course, I accepted and then I could enter. What the This messes up with CompactGUI, making it crash. The solution is just to right click the user folder (or any other folder that has been affected by it in the disk) go to the Perhaps this advice would be useful in the FAQ of the app? |
I've been trying to work out how those "Account Unknown" groups get generated, thank you for giving me something concrete to test with! |
@Iridium-IO you're welcome!! Detecting and then asking the user to removing unknown accounts before proceeding I think would be the best UX path. Chances are these accounts are useless for 98% of the people. Like myself, those are often inherited from booting alternate Windows installation and accesing - mostly - the Users folders. Furthermore, if it wasn't because CompactGUI couldn't compress those folders, I might never have known about these permissions in my folders! After some research, I found this Powershell script to be quite useful. Didn't test it but my intuition tells me it's going to work great for your application: https://www.alitajran.com/remove-orphaned-sids/ You might find it useful to split and take the functionality from it. I imagine two ways to do it:
Which path would be the fastest for the average folder? Don't know. Maybe the script to just detect the permissions is slow, or maybe it is very fast. Only way to find out is to test! Edit: Hmm for some reason I can't t get it to work. There's this other one also, which looks way simpler: http://www.ruudborst.nl/ps-one-liner-6-remove-orphaned-unresolvable-sids/ I tested this one and works great. In my Users folder, it took like 1 minute to process everything This is the one-liner: $arr=@();gci 'C:\Users\USERNAME' -recurse | % {$path=$_.fullname;$acl=get-acl $path;$sid=$acl.access | ? {$_.identityreference -match "S-1-.*" -and !($_.isinherited)};if($sid){$sid| % {$co=[pscustomobject]@{Path=$path;RemovedSID=$_.identityreference};$co|fl;$arr+=$co;$null=$acl.removeaccessrule($_)};set-acl $path $acl}};'Report';$arr|ft -auto And this is a cute clean explanation from ChatGPT about it:
|
@Arecsu this one actually helped me, thanks a lot :) |
I've been testing the new 3.0.4 version, and it exits when I try to compress Program Files (not Program Files (x86), this works as intended). It also happens with some other C: folders, like Users and ProgramData.
The text was updated successfully, but these errors were encountered: