-
Notifications
You must be signed in to change notification settings - Fork 199
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
Race condition when using --reboot flag #1348
Comments
I think the flow will need to be something like:
|
what say journalctl -u rpm-ostreed.service -r ? |
@vtolstov, hi, the log is like the following, with logger messages omitted
The behaviour was likely being reboot is too fast for rpm-ostree. /me quoted from @jlebon :p. |
We (
Since this is happening inside a test VM we sadly don't have the logs (yet). It also seems that we are running into this more often recently with F34 and RHEL 8.5 tests. Did something change in the relevant code paths or are we just "lucky". |
There should be a core in |
Or are you using the |
When I run
|
@henrywang That's a different bug. Looks like 8.5 brings in openSUSE/libsolv@04d4d03, which means we need to backport #2553. |
@ondrejbudai Same issue as @henrywang? Let's split that into a separate issue and keep this issue about reboot races. As mentioned in the error message, the |
Alternative to coreos#2845 which moved the `reboot` invocation into the client (which I think still makes sense in some cases). Previously we were starting the reboot before we're returned a success reply to the client, so it could see the daemon killed by `SIGTERM` and hence emit a spurious error. (Really in this case any 3 of the calling process, the client binary or the daemon could be killed in any order, so it's messy but this just closes one race) For cleanliness we reject starting any new transactions after the daemon has started a reboot. Closes: coreos#1348
Alternative to #2845 which moved the `reboot` invocation into the client (which I think still makes sense in some cases). Previously we were starting the reboot before we're returned a success reply to the client, so it could see the daemon killed by `SIGTERM` and hence emit a spurious error. (Really in this case any 3 of the calling process, the client binary or the daemon could be killed in any order, so it's messy but this just closes one race) For cleanliness we reject starting any new transactions after the daemon has started a reboot. Closes: #1348
Host system details
Provide the output of
rpm-ostree status
.Expected vs actual behavior
Actual:
Expected:
rebase -r with no errors like
error: Bus owner changed, aborting.
Steps to reproduce it
Dunno if it happens on every host, but you can try
rebase -r
to another system. There might be a chance you also see this behaviorWould you like to work on the issue?
I don't mind :p, but will be better if someone who is more experienced take this :D.
The text was updated successfully, but these errors were encountered: