-
-
Notifications
You must be signed in to change notification settings - Fork 346
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
[Bug] Root folder being checked for free space on Linux when game folder is in special separate partition #3848
Comments
Might be useful to see the size of ALL the filesystems on the computer, you only showed one |
Thanks @linuxgurugamer. I only included the one that ckan seemed to be complaining about. Here is my list, excluding udev and tmpfs partitions:
It appears that the problem is not with the game install directory, but rather in /tmp. My /tmp is on /, and I tend to run a skinny /tmp...So I have a question, is it possible to change ckan's temp directory? I have 12GB free on /var/tmp, so that would be a better place for me to point ckan's temp directory... And, btw, this bug can be closed out. |
Comparing two CKAN/Core/Extensions/IOExtensions.cs Line 54 in 9f74d97
The documentation uses a far more awkward (Windows-only) construction: https://learn.microsoft.com/en-us/dotnet/api/system.io.directoryinfo?view=netframework-4.7.2 if (source.FullName.ToLower() == target.FullName.ToLower()) StackExchange consensus agrees: ... though on second thought, that would not explain this issue. The partition is mounted at |
So I don't think it is the GOG Games directory at all. I think that (and this is on linux) ckan is trying to use a temporary directory for the download of mods...By default, it is using /tmp. I freed up space on / (where /tmp is located), and have 1GB free. When I tried to install from a .ckan this time it told me it needed to get Need to store 5.6 GiB to /home/storm/Kerbal/1.12.4-oldmods/game, but only 1,000.5 MiB is available!
Is there a way to change the temp directory for ckan? |
Here are the three places where CKAN checks for free space:
It doesn't check the temp folder, because as of #3666, we don't download to a temp folder anymore. |
Interesting, because on linux, it seems to be looking at something on the root filesystem, because once I expanded my root filesystem, it stopped complaining. In either case, we can close this bug report... |
Right, I suspect there's a bug in how the folder path is translated to a partition. .NET/Mono doesn't provide this natively (presumably because it's non-trivial), so we have had to hack it in, and if we can identify what's going wrong in this instance, we can improve it for future versions. |
... well, that's just great. I added some debug code to probe this in an Ubuntu VM, and
It never crossed my mind that Mono's implementation of this could be that completely and totally and shockingly broken and unusable and useless. I originally tested this on my single filesystem dual boot setup on Linux and just assumed that I guess we have to turn the disk space check off completely for non-Windows platforms, since it can't actually be done. 😭 (... and in case anyone else goes hunting through the API, |
https://github.com/mono/mono/blob/771947925a512a91e1ac88eb463ec845cafc2807/mono/metadata/icall.c#L7342-L7404 It attempts to parse
So somewhere in that C code, that entry gets filtered out. Presumably on one of the |
Right, that is ubuntu...One reason I don't run Ubuntu. I hate snaps. You also, I see, have everything except /boot/efi in a single filesystem. That may be a better way to go for something like this, but I segregate my filesystems out of habit. Now, having said that, I think that either mono or ckan uses /tmp as a quick place to stash during downloads, then it actually caches the mods in the .local/share/CKAN/downloads directory. |
No, that VM has more mounted filesystems than that, courtesy of VirtualBox shared folders:
That's what I was testing. |
As far as I know, |
Is there an existing issue for this?
Operating System
Devuan Linux
CKAN Version
1.32.0.23098
Game Version
1.12.4 or 1.12.5 (happened on both)
Did you make any manual changes to your game folder (i.e., not via CKAN)?
No
Describe the bug
This looks similar to #3768, except ckan does not generate exceptions for me, to my knowledge. I started with a clean copy of the GOG version of KSP 1.12.4 and 1.12.5. I tried to install from a .ckan file, and when I did, it told me that I only had 537.8MB of space free, and it needed to download or store 5.6GB of data. Having said that, I have 3.5TB free on this dataset:
Steps to reproduce
Relevant log output
The text was updated successfully, but these errors were encountered: