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
plymouth does not remain stopped with v245, takes over tty1 #15091
Comments
(tested with lightdm and sddm) |
Seems to be caused by commit 097537f |
I think it's somehow worse, updating fro 244 to 245 in debian just now, without even rebooting, plymouth was restarted at once |
Yes, this is well known, and plymouth needs an update to add RemainAfterExit=yes as discussed in https://bugzilla.redhat.com/show_bug.cgi?id=1807771. Distributions should not push systemd-245 without taking care of that. |
I don't think it's ok to close this. |
Well, what exactly do you expect us to do here? Plymouth maintainers are in contact and a fix has been agreed. |
This is a significant change in behaviour. The communication regarding this change is non-existent. |
What should we do: revert, find affected software, fix them, make releases for them, then reapply the change in systemd. |
That this breakage was known makes this even worse, tbh. |
If this issue was known: why was this not communicated much more prominently, e.g. in the release notes with a big fat warning? |
It's an issue that affects two projects: systemd and plymouth. One was fixed, the other is being fixed. This should be handled like any other bug that is detected to affect a release in a distribution: either delay introduction of the release into the distribution, or patch one of the two affected packages locally. Doing a revert in systemd upstream would be fully pointless at this point: by the time v246 is released it will be way too late to make any difference.
The scope of the issue wasn't fully understood. |
A revert in via v245-stable and in master seems reasonable to me. |
Are you absolutely sure about the scope of that? @AdamWill seems to disagree here. |
At the same time you are blaming distros for not being careful enough:
I spent quite a few hours debugging this and I'm quite cranky atm. |
I'll add a note to NEWS. |
@keszybz what's the underlying issue here: Why does systemd try to start |
I.e., what makes you sure, only plymouth is affected. |
Please see the linked PR and the Fedora bug. If it is still unclear, let me know.
It's only an issue for those services which should not run again. systemd-network-generator.service was also affected, but it is idempotent so is not affected by the issue (except for wasting some work).
It is certainly possible that other units are affected. But the change seems to matter most for services which are part of the initial transaction, and fail catastrophically when run again at the same time. Hopefully they aren't that common. |
The Yocto test suite fails for this in a couple of places - one, which is basically the same as the plymouth issue where the psplash service doesn't have The other is different though. |
@akiernan good point. This new behaviour doesn't make sense to me |
I think the issue from @akiernan should be properly addressed as well, reopening. |
Closes systemd#15091. (cherry picked from commit 2ca17c7)
So this is how the systemd unit dependencies work and how they are supposed to work. Essentially, every time any unit it started, all the dependencies are recursively executed too. For example, if This means that stopping a unit that deep in the dependency tree is not enough to ensure that it'll not be started. The unit would have to be masked to ensure it is not stopped, or it must not be a transitive dependency of any unit that can be started. I think that this recursive behaviour is something that we might want to reconsider. In particular, it wastes a lot of work at runtime, because systemd will constantly scan the whole dependency tree and create noop jobs. Also, it creates various annoying situations where it's hard to do "maintainance work" while other units are active. I think we could make the dependency resolution non-recursive by default, and add a new mode where it becomes recursive upon request. But this would require a lot of thought and we'd probably uncover many cases where we depend on the recursive behaviour. The current state is that the reported behaviour is what is expected. I'll close this bug here, because it was about plymouth and that should be long fixed now (and the other part is not a bug). |
systemd version the issue has been seen with
v245
Used distribution
Debian sid
After the upgrade from v244.3 to v245 I noticed, that plymouth is no longer stopped during boot.
tty1 continues to show the plymouth boot splash even after the system has booted fully.
The following is strange:
The text was updated successfully, but these errors were encountered: