-
Notifications
You must be signed in to change notification settings - Fork 86
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
Can't bind mount /oldroot/../SteamLinuxRuntime_sniper/var/.. to /newroot/.. No space left on device #637
Comments
It's not a steam as I can understand. So I just need to clear all the settings and do fresh install of the Steam_Sniper. And one more thing. Some games, Neverwinter Online (Proton) as I can remember, don't want to move to a new location (another Library), because of some "third party" something. So You need to reinstall it into the new one. Is it an issue too? |
Please, rework all if checks and uninstall part in the code for this And |
This indicates that a Linux kernel system call (probably
|
The "missing shared content" message in your screenshot is ValveSoftware/steam-for-linux#8473. That issue is in another part of Steam, and Steam Runtime developers cannot fix it. |
@smcv |
Please collect a detailed log from the sniper runtime so that we can see more information about what is happening. The easiest way is to set the launch options for an affected game to:
and then try to run it. You'll get a log file in My best guess so far is that something in the kernel is (ab)using |
If you think there is a separate issue, please report it separately, either after we have resolved this one or in parallel. If we discuss two different issues on the same issue number, it quickly gets confusing. "Unable to mount source on destination: No space left on device" is a Steam Runtime issue, but anything to do with the "package management" parts of Steam (for example being unable to install, uninstall or remove a game) would be a https://github.com/ValveSoftware/steam-for-linux/ issue. |
@smcv Honestly, I don't know where to look at. UPD: May be it will help somehow
|
Thanks, I'll see what I can do with that log.
It works fine when you set up one bind-mount, but not necessarily when the container runtime framework does somewhere around 100 of them! |
What is the content of |
And You're right! It was 100. I've set it to 3000 and it works now. |
If you want Steam Linux Runtime, Flatpak and similar frameworks to be reliable, you should leave that sysctl at its default value (which seems to be 100000 in upstream kernels) instead of setting it to a much lower value. |
mount(2) uses ENOSPC to represent an arbitrary anti-denial-of-service limit being exceeded, which is outside the usual meaning of "No space left on device". We can make this clearer by catching that particular failure mode and giving users a hint. Reference: https://bugzilla.kernel.org/show_bug.cgi?id=218336 Resolves: ValveSoftware/steam-runtime#637 Signed-off-by: Simon McVittie <[email protected]>
If accepted, containers/bubblewrap#615 will change this error message to something more like:
which would hopefully have pointed you in the right direction. |
* `--symlink` is now idempotent, meaning it succeeds if the symlink already exists and already has the desired target (containers/bubblewrap#549, flatpak#2387, flatpak#3477, flatpak#5255) * Report a better error message if `mount(2)` fails with `ENOSPC` (containers/bubblewrap#615, ValveSoftware/steam-runtime#637) * Fix a double-close on error reading from `--args`, `--seccomp` or `--add-seccomp-fd` argument (containers/bubblewrap#558) * Improve memory allocation behaviour (containers/bubblewrap#556, containers/bubblewrap#624) * Silence various compiler warnings (containers/bubblewrap#559) Resolves: flatpak#2387 Resolves: flatpak#3477 Resolves: flatpak#5255 Signed-off-by: Simon McVittie <[email protected]>
* `--symlink` is now idempotent, meaning it succeeds if the symlink already exists and already has the desired target (containers/bubblewrap#549, #2387, #3477, #5255) * Report a better error message if `mount(2)` fails with `ENOSPC` (containers/bubblewrap#615, ValveSoftware/steam-runtime#637) * Fix a double-close on error reading from `--args`, `--seccomp` or `--add-seccomp-fd` argument (containers/bubblewrap#558) * Improve memory allocation behaviour (containers/bubblewrap#556, containers/bubblewrap#624) * Silence various compiler warnings (containers/bubblewrap#559) Resolves: #2387 Resolves: #3477 Resolves: #5255 Signed-off-by: Simon McVittie <[email protected]>
Today's Steam Linux Runtime 2.0 (soldier) and 3.0 (sniper) betas, versioned 0.20240415.x, have that change included. |
* `--symlink` is now idempotent, meaning it succeeds if the symlink already exists and already has the desired target (containers/bubblewrap#549, flatpak#2387, flatpak#3477, flatpak#5255) * Report a better error message if `mount(2)` fails with `ENOSPC` (containers/bubblewrap#615, ValveSoftware/steam-runtime#637) * Fix a double-close on error reading from `--args`, `--seccomp` or `--add-seccomp-fd` argument (containers/bubblewrap#558) * Improve memory allocation behaviour (containers/bubblewrap#556, containers/bubblewrap#624) * Silence various compiler warnings (containers/bubblewrap#559) Resolves: flatpak#2387 Resolves: flatpak#3477 Resolves: flatpak#5255 Signed-off-by: Simon McVittie <[email protected]>
Your system information
Steam Beta Branch: Steam Beta Update, Version: 1703100617
Please describe your issue in as much detail as possible:
Can't start any game (Win/Lin) getting this:
"bwrap: Can't bind mount
/oldroot/home/.../SteamLinuxRuntime_sniper/var/.../usr/etc/services on /newroot/etc/services: Unable to mount source on destination: No space left on device
"Already tried: reboot, reinstall Steam, delete or move to a new location
~/.local/share/Steam
, enable Steam Beta.Error screenshot
Steps for reproducing this issue:
Move some games and Proton tools to the main Library
~/.local/share/Steam
from another location. Then start any Proton game. At least in my situation.Native games are playable.
UPDATE: Native (Compat checkbox is unchecked) Couter Strike 2 didn't start because of
bwrap: Can't bind mount /oldroot/.../common/SteamLinuxRuntime_sniper/var/tmp-RIWDG2/usr/etc/environment on /newroot/etc/environment: Unable to mount source on destination: No space left on device
The text was updated successfully, but these errors were encountered: