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

Start menu corruption on disk write error (Xfce) #1799

Closed
btrask opened this Issue Mar 2, 2016 · 3 comments

Comments

Projects
None yet
3 participants
@btrask

btrask commented Mar 2, 2016

Hi, thank you for your work on Qubes!

I get a lot of write errors whenever my laptop SSD runs out of space. This time I got an error while updating the app menu for a VM, which has left the overall launcher menu in a semi-corrupted state. The commands at the top and bottom (to open a dom0 terminal, log out, and something else) are all missing. The first item is now "System" which just lets me create a dispvm. All of the system setting items are also gone. The app menus for each VM are fine, thankfully.

I'm running Qubes 3.0 (R3.0) with Xfce. This same problem happened before under Qubes 2.0, which I never managed to fix and persisted until I upgraded to 3.0. The system is still usable as long as I keep a dom0 terminal running (because I can't launch it without restarting).

Last time this happened, I investigated as much as I could but never found a way to fix it. Going into the menu settings and changing the "menu file" has no effect. The menu file doesn't seem to be the problem, AFAICT. Syncing or changing the app menus again doesn't help either.

I don't know what got corrupted but my outsider guess is that it was caused by a non-atomic update somewhere. Any changes that need to be made should be written to a temporary location and then atomically moved (i.e. mv(1) or rename(2)) into place. That way if the writing fails, the old version is still safe.

For what it's worth--the rest of Qubes seems to handle low disk space conditions just fine! :)

Thanks again,
Ben

@marmarek

This comment has been minimized.

Show comment
Hide comment
@marmarek

marmarek Mar 4, 2016

Member

I don't know what got corrupted but my outsider guess is that it was caused by a non-atomic update somewhere. Any changes that need to be made should be written to a temporary location and then atomically moved (i.e. mv(1) or rename(2)) into place. That way if the writing fails, the old version is still safe.

That's true, but unfortunately there is no public API (at least I don't know one) for doing this with menu entries. xdg-desktop-menu allows only to install or uninstall. It isn't defined what would happen when you install the same entry again (for example some versions of KDE keep old version cached in such a case...).

You can try to start template and call qvm-sync-appmenus <template-name> to force recreation of menu entries.

Member

marmarek commented Mar 4, 2016

I don't know what got corrupted but my outsider guess is that it was caused by a non-atomic update somewhere. Any changes that need to be made should be written to a temporary location and then atomically moved (i.e. mv(1) or rename(2)) into place. That way if the writing fails, the old version is still safe.

That's true, but unfortunately there is no public API (at least I don't know one) for doing this with menu entries. xdg-desktop-menu allows only to install or uninstall. It isn't defined what would happen when you install the same entry again (for example some versions of KDE keep old version cached in such a case...).

You can try to start template and call qvm-sync-appmenus <template-name> to force recreation of menu entries.

@btrask

This comment has been minimized.

Show comment
Hide comment
@btrask

btrask Mar 8, 2016

The app-menus themselves are fine. I tried running qvm-sync-appmenus and it seems to work (with some warnings and icon errors), and all of the applications are available that I expect. The problem is the menu commands for dom0, including the dom0 terminal, settings, and "log out" commands.

btrask commented Mar 8, 2016

The app-menus themselves are fine. I tried running qvm-sync-appmenus and it seems to work (with some warnings and icon errors), and all of the applications are available that I expect. The problem is the menu commands for dom0, including the dom0 terminal, settings, and "log out" commands.

@andrewdavidwong

This comment has been minimized.

Show comment
Hide comment
@andrewdavidwong

andrewdavidwong Apr 6, 2016

Member

I'm assuming this issue has been resolved based on the lack of recent activity. If not, please feel free to re-open it.

Member

andrewdavidwong commented Apr 6, 2016

I'm assuming this issue has been resolved based on the lack of recent activity. If not, please feel free to re-open it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment