** Description changed: [Impact] The fix for bug #1882272, currently applied to Impish and Jammy via a debian sync, has a collateral effect that it may leave the fancontrol service started after a resume from suspend even if it was disabled and/or stopped. The fix wraps the restart call in a is-active check, and only issues the restart if the fancontrol service was running before (at suspend time). [Test Plan] The goal is to compare the state of the fancontrol service before and after suspend. It should be the same. There are two hardware requirements to fully test this SRU: - a machine capable of suspend/resume, like a laptop - a machine with hardware fan control compatible with fancontrol/lm-sensors A valid /etc/fancontrol configuration file must be generated, either manually or via pwmconfig(8). Without this file, the fancontrol service won't start. I didn't have any of those when preparing the fix, so I used a similarly configured systemd service to emulate what would happen (rsync in this case, which also depends on a config file to start). With the above setup, this is the test plan. For the following combinations, check that the desired result is achieved when resuming from suspend: At suspend time -> When resuming: Service is enabled and active --> is restarted Service is disabled and active --> is restarted Service is enabled and inactive --> is not restarted Service is disabled and inactive --> is not restarted [Where problems could occur] + One could argue that this is changing behavior, but I think in the right direction. - * Think about what the upload changes in the software. Imagine the change is - wrong or breaks something else: how would this show up? + I might have missed some scenario where a restart of fancontrol is + *always* desired, regardless of its previous state. - * It is assumed that any SRU candidate patch is well-tested before - upload and has a low overall risk of regression, but it's important - to make the effort to think about what ''could'' happen in the - event of a regression. + If the script in /lib/systemd/system-sleep fails, there doesn't seem to + be any impact on the resume event. An initial iteration of my fix was + calling systemctl is-active incorrectly, and all that happened was a log + entry about that. - * This must '''never''' be "None" or "Low", or entirely an argument as to why - your upload is low risk. - - * This both shows the SRU team that the risks have been considered, - and provides guidance to testers in regression-testing the SRU. + If the fancontrol daemon was started outside of systemd, then "systemctl + is-active" won't see it, and it won't be restarted after resume. That is + already an edge case without the is-active check, as "systemctl restart" + might also fail to start fancontrol again if one copy is already + running. [Other Info] * Anything else you think is useful to include * Anticipate questions from users, SRU, +1 maintenance, security teams and the Technical Board * and address these questions in advance [Original Description] The fix for bug #1882272 issues a "systemctl restart fancontrol" when resuming from suspend. This ignores the fact that fancontrol could have been disabled, or could not even have been runing at suspend time. I suggest to wrap the restart with a "systemctl is-active fancontrol.service" call, and only issue the restart if fancontrol was already running when the machine was suspended.
-- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/1967432 Title: After resume from suspend, fancontrol can be running even if it was disabled before To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/lm-sensors/+bug/1967432/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs