summaryrefslogtreecommitdiff
path: root/upstream-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-html5lib
diff options
context:
space:
mode:
authorEric Yang <eric.yang.wiwynn@gmail.com>2026-06-02 12:03:40 +0300
committerAmithash Prasad <amithash@meta.com>2026-06-03 19:24:05 +0300
commita8e575cf60a90e668105ab4c11ea94beb7b48a31 (patch)
tree196b99dfe4c21bdc7f832b6047e5b96688ecd771 /upstream-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-html5lib
parenta4aa76c2e15445b3748a20ff453e407752dd9ff2 (diff)
downloadopenbmc-a8e575cf60a90e668105ab4c11ea94beb7b48a31.tar.xz
meta-facebook: yosemite4: Fix chassis-powercycle self-kill via Conflicts
Remove bidirectional `Conflicts=` from chassis-powercycle@.service and replace with unidirectional `ExecStartPre=-/bin/systemctl stop log-chassis-powercycle-sel@%i.service`, so that chassis-powercycle can stop stale log-sel when a new cycle starts, but log-sel can never kill chassis-powercycle. Also use --no-block for the in-script restart of log-sel, which declares After=chassis-powercycle and cannot start until the caller exits. Motivation: [1] added `Conflicts=log-chassis-powercycle-sel` to stop stale log-sel when a new power cycle starts. However, `Conflicts=` is bidirectional: starting log-sel also terminates chassis-powercycle. [2] simplified the lock release by removing the SIGTERM trap. [3] added `systemctl restart log-chassis-powercycle-sel` inside the chassis-powercycle script. With [2] and [3] together, restarting log-sel mid-script triggers bidirectional Conflicts=, killing the running chassis-powercycle. The lock_cleanup subshell is terminated before decrementing the concurrency counter, leaking it permanently and blocking all subsequent slots. Observed in 8-slot concurrent AC cycle: only 2-3 slots complete, the rest hang forever. Reference: [1] https://gerrit.openbmc.org/c/openbmc/openbmc/+/89790 [2] https://gerrit.openbmc.org/c/openbmc/openbmc/+/90501 [3] https://gerrit.openbmc.org/c/openbmc/openbmc/+/90532 Tested: On Yosemite 4, ran 8-slot concurrent blade chassis power cycle 124 rounds. Verified slots 1-8 each produce the following SEL entries in order, with none missing or extra: "Execute chassis%i AC power cycle" "Host%i state is off" "Execute host%i DC power on" "Host%i system DC power is on" "Host%i state is on" "Chassis%i AC power cycle success" Change-Id: I30409a64cd6c74f87de2fc82c45cdfa68efffeda Signed-off-by: Eric Yang <eric.yang.wiwynn@gmail.com>
Diffstat (limited to 'upstream-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-html5lib')
0 files changed, 0 insertions, 0 deletions