-
-
Notifications
You must be signed in to change notification settings - Fork 48
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
qubes-gui-agent fails to start when /rw is full #8060
Comments
It seems that this isn't reproducible 100% of the time, sometimes rebooting the VM frees up a small amount of space. |
It seems that the non-determinism is coming from the fact that during startup, the free space fluctuates, and whether a particular component sees any space when it starts up is pretty much random. To mitigate this, you can shut down the test AppVM, mount its private volume in dom0, remove When this is the setup, So far this seems to be reliable. |
This seems to be the classic "Xorg can't start because there's no space for its log file". On our part we could detect this and report an error in dom0, as well as make sure that the full storage notification pops up in this case. Unless we decide that working around this Xorg issue downstream is something we'd want because the default 2 GB volume size makes this issue much more likely to occur. |
In particular, it seems like Reporting "no GUI agent is running" when the user tries to start something seems like a reasonable idea? |
Yes, fixing this makes sense.
I'd go for closing the connection.
Yes, sounds reasonable. As for reporting full storage, I think the current monitoring has an issue it reports used space for committed content, not currently running (snapshot) volume. This needs fixing, I think we have separate issue about it somewhere. Or maybe not? |
I don't think that's it? No notification showed up even after shutdown. Unless there's some aspect to it that makes blocks filled with 0s to behave differently. |
No, zero blocks are also written. If you click on disk space widget (https://www.qubes-os.org/doc/getting-started/#user-interface), you should get overall usage, but also list of qubes with high disk usage. There is an option to disable notifications (per-qube), maybe you disabled it some time ago for this qube? |
I created the qube specifically to reproduce #8016, so the likelihood that the notifications are disabled is quite low ;3 That part started working after a reboot, so either some process hung/crashed in dom0, or an update broke it temporarily. |
Turns out that |
How do we want to approach notifying the user that the VM has no GUI connection? I can see two general approaches:
|
Adding the |
You're right, closing in favor of #8084. |
Register proper signal handler for SIGCHLD, and collect the Xorg's zombie in it. This has two effects: 1. The main loop can explicitly exit on Xorg termination, not only via receiving EOF on the socket. 2. Due to not ignoring SIGCHLD anymore, accept() in mkghandles will also notice Xorg early exit and not wait indefinitely (it will fail with EINTR). For this case, improve error message. There is still a small race on startup, if Xorg exits before reaching accept() (or listen()) call. Handle this by checking just before accept() call. It isn't perfect (there is still a few instructions window where it wouldn't notice it in time), but it's good enough for practical purposes. QubesOS/qubes-issues#8060
Qubes OS release
R4.1.1
Brief summary
Rebooting an AppVM with filled up /home renders it unresponsive to all normal interaction.
Steps to reproduce
dd if=/dev/zero of=chonk.bin
.Expected behavior
The functionality of the VM is unimpaired to a degree allowing the removal of the offending files with usual means (through
gnome-terminal
ornautilus
).Actual behavior
The VM does not respond to any requests to open an application. No indicator is shown to indicate failure, relying on the user's patience running out to realize something has gone wrong. The usual notification about disk space running out is also missing.
Opening a shell through "Open console in qube" to inspect the logs leads one to find various mentions of disk space running out, including the following for the
qubes-gui-agent.service
:The text was updated successfully, but these errors were encountered: