Skip to content
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

Add a timeout to qubes-core.service #561

Closed
wants to merge 1 commit into from

Conversation

DemiMarie
Copy link
Contributor

This ensures that if there is a bug and the service hangs, the user is still able to use the system eventually, rather than having to edit the kernel command line to recover.

This ensures that if there is a bug and the service hangs, the user is
still able to use the system eventually, rather than having to edit the
kernel command line to recover.

Fixes: QubesOS/qubes-issues#8619
@marmarek
Copy link
Member

I don't like it, some of the operations may take a long time - especially on a slower system after unclean shutdown, and a static timeout won't be appropriate here. Interrupting it would be wrong. And if I'm right about diagnosis of QubesOS/qubes-issues#8619, it wouldn't help at all.

@marmarek marmarek closed this Oct 17, 2023
@DemiMarie
Copy link
Contributor Author

I don't like it, some of the operations may take a long time - especially on a slower system after unclean shutdown, and a static timeout won't be appropriate here. Interrupting it would be wrong.

The problem is that this blocks system boot — the user cannot log in until the service is finished. This is really bad for user experience.

Do these operations need to be done during bootup, or can they be done in the background once the system is running? The latter don’t require a timeout, but the former really should have one.

And if I'm right about diagnosis of QubesOS/qubes-issues#8619, it wouldn't help at all.

You weren’t.

@marmarek
Copy link
Member

Cleaning up dispVMs (from unclean shutdown) should be done before user has a chance to interact with the system, to prevent them from interacting with to-be-removed dispvm. And as said before, static timeout won't do here. I'd rather figure out what hanged in your case (which seems to be rather unique report) than risking breaking unclean shutdown recovery for many users.

@DemiMarie DemiMarie deleted the qubes-core-timeout branch January 4, 2025 04:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants