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.xml corrupted due to disk full #3376
Comments
Ive had this too once (in qubes 3.2 admittely), but its a fairly easy fix, you just have to delete the qubes.xml and let it regenerate itself automatically. maybe we can make a script which does this by itself (removing and regenerating) once it detects a full disk? |
My thinking was more in the direction that the component that generates the XML uses an atomic operation to replace the old one. This way there is no risk of corruption. |
The file-saving code appears to be in qubes/app.py and it does already use the save/flush/rename method. This would mean the culprit for the error probably lies in the filesystem or thin-lvm or layers beneath. |
I tested changing some settings using the qubes-manager (on 3.2) while my disk was full and I did not manage to corrupt qubes.xml. I did manage to corrupt firewall.xml though. qubes/app.py uses the save/flush/rename method but qubes/firewall.py does not. So if you happen to change a firewall setting while the disk is full you end up with a zero byte / corrupted firewall.xml file. Should I open a new issue for this? |
I also tested changing vm settings on 4.0RC3 (running on virtualbox) while the disk was full. Same results with 3.2
Also: Patrick (in the google groups) does not mention changing any settings that would trigger saving the qubes.xml file. So if he didn't, then what are some other ways that this could happen? |
Alternatively symlinking is also an option. |
Btw it's not yet possible to use |
That takes care of the missing fsync() calls. Fixes QubesOS/qubes-issues#3376
Automated announcement from builder-github The package
|
Automated announcement from builder-github The package
Or update dom0 via Qubes Manager. |
Should this issue's milestone be updated to Release 4.1? After all, I'm not sure if this should be called a bug or an enhancement. |
Anything that can corrupt |
Another one for the "backport pending" label. Sorry for the hassle |
That takes care of the missing fsync() calls. Fixes QubesOS/qubes-issues#3376 (cherry picked from commit 12d117b)
Automated announcement from builder-github The component
|
Automated announcement from builder-github The component
Or update dom0 via Qubes Manager. |
Qubes OS version:
4.0RC2
Steps to reproduce the behavior:
I personally did not see this behavior, it was reported on the user mailinglist. As I realize database corruption like this is a show-stopper bug, I'm reporting it here.
https://groups.google.com/d/msg/qubes-users/svrJiQ1d7S8/zHLoTWiQBQAJ
Expected behavior:
The xml file should never be left in a corrupted state.
The text was updated successfully, but these errors were encountered: