Hi everyone,
I made one of my VMs disposable, but whenever I try to open any app in this VM, a Disposable VM starts up and shuts down automatically after just a few seconds without launching the app.
I checked the logs in /var/log/qubes/
for the specific Disposable VM and found the following warning:
Warning: cannot read config file (/var/run/qubes/guid-conf-32): file I/O error
Shortly after that, the log says:
domain dead
Disposable VMs based on other VMs are working perfectly; this issue seems to affect only this particular VM.
I’ve already tried converting this VM back to a regular VM and then making it disposable again, but the issue persists every time.
Does anyone know what could be causing this issue or how I can resolve it?
Thanks in advance for your help!
I think “cannot read guid.conf” is a side effect of a quick shutdown/crash, not its cause. Take a look at related console log in /var/log/xen/console, maybe you’ll find there why it fails at start.
I’ve checked the log, but I’m having trouble understanding what might be wrong. If you could take a look and help me figure it out, I’d really appreciate it.
Thanks and regards!
guest-disp2323.log (70.2 KB)
I do not see any obvious errors that could cause such issue. The light-locker crashing is not great, but it shouldn’t take down the whole VM…
What if you try to start a dispvm from cmdline and see if you get any errors there?
Something like:
qvm-run -p --dispvm=DVM_TEMPLATE_NAME xterm
I tried that as well, but nothing changed. The dom0 terminal didn’t show any errors, and the VM still shuts down automatically shortly after starting up.
Update:
After further observation, I noticed that this issue only occurs when I try to launch Chromium in the Disposable VM—other applications run without any problems.
However, if I convert the Disposable VM back to a regular VM, Chromium works fine with no errors.
How can I determine what’s causing Chromium to fail specifically in the Disposable VM?
Maybe chromium runs “in background” now? Normally, disposable qube is terminated when its main application ends running, but that detection works by looking at the initial process that starts the app. If that process now only starts some another background process and exits, then the whole disposable qube will close.
What happens if you start a disposable qube by launching terminal there, and in that terminal open chromium? Does it return to shell immediately? Which chromium version and how installed?
When I launch Chromium from the terminal, it starts up fine, but I see the following errors in the terminal output:
[1319:1319:0130/100330.216301:ERROR:viz_main_impl.cc(185)] Exiting GPU process due to errors during initialization
[1309:10:0130/100330.437401:ERROR:command_buffer_proxy_impl.cc(131)] ContextResult::kTransientFailure: Failed to send GpuControl.CreateCommandBuffer.
[1298:7:0130/100330.477990:ERROR:command_buffer_proxy_impl.cc(331)] GPU state invalid after WaitForGetOffsetInRange.
[1339:1339:0130/100330.554977:ERROR:gl_utils.cc(425)] [.WebGL-0x1d04000d8700] GL Driver Message (OpenGL, Performance, GL_CLOSE_PATH_NV, High): GPU stall due to ReadPixels.
I have the same behavior with a disposable template when I try to launch only the Mullvad browser. The disp VM starts and then stops immediately.
When I launch another program like Xterm, it seems to keep it running, and I can then launch the Mullvad browser. But if I close Xterm, the disp VM stops even if the Mullvad browser is still running.
I use a minimal template in which I installed the Mullvad browser
→ created an app VM based on it
→ selected the “disposable template” option in the app VM settings.
I found this topic: Mullvad Browser has released package repos for Debian and Fedora - #2 by Winter-in-America
And it contains the solution for the Mullvad browser:
On its current default settings, the mullvad-browser.desktop file contains on its Exec lines, the flag --detach, which causes the shell process that spawns the mullvad-browser to exit. This causes mullvad-browser to fail to stay open inside dispXXXX qubes, as the shell process exiting causes the dispXXXX qube to also shut itself down. So, you need to remove the --detach flag from the mullvad-browser.desktop file.
After removing the --detach flag and restarting the template, the disp VM remains running when I launch the browser.
Maybe this is the same problem for Chrome.
The chromium.desktop file does not contain the --detach flag.
Somehow, after giving errors for a few days, Chromium is now working fine in the disposable VM on its own, and the dispVM is not shutting down automatically after startup.