Bug 2433079

Summary: Boot hang in plymouth on_key_event()
Product: [Fedora] Fedora Reporter: D Scott Phillips <scott>
Component: plymouthAssignee: Ray Strode [halfline] <rstrode>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: unspecified    
Version: 43CC: gnome-sig, hans, rstrode
Target Milestone: ---   
Target Release: ---   
Hardware: aarch64   
OS: Linux   
Whiteboard:
Fixed In Version: plymouth-24.004.60-24.fc44 plymouth-24.004.60-24.fc43 Doc Type: ---
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2026-01-27 11:32:38 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
[PATCH] ply-keyboard: Fix hang on read of incomplete terminal control sequence none

Description D Scott Phillips 2026-01-26 21:02:50 UTC
In the Ampere lab, we're seeing frequent boot hangs in plymouthd starting when moving from Fedora 42 to Fedora 43 on the AmpereOne systems. Plymouthd is stuck at:

ply_event_loop_run()
 ply_event_loop_process_pending_events()
  on_tty_input()
   on_key_event()

The current contents of the input buffer are: "0R\x1B58;113"

That looks to be a partial response to something like a device status report.

With the current logic in on_key_event(), a incomplete control sequence will cause the input processing loop to be stuck infinitely without making progress.

The reproducibility of the hang is quite high (~60% maybe), but it seems like it's also quite sensitive to timing. I've never seen the hang happen with plymouth.debug on the kernel command line for example.

Reproducible: Sometimes

Steps to Reproduce:
1. Install Fedora 43 Server on AmpereOne systems
2. Boot repeatedly

Actual Results:
Hang in plymouthd ~60% of the time.

Expected Results:
No hangs.

Additional Information:
The affected systems are connected to a serial console server like [1], which is certainly involved in sending the input that is getting plymouth stuck.

[1]: https://www.vertiv.com/en-us/products-catalog/monitoring-control-and-management/serial-consoles-and-gateways/avocent-acs-6000-serial-consoles/

Comment 1 D Scott Phillips 2026-01-26 21:05:59 UTC
Created attachment 2123863 [details]
[PATCH] ply-keyboard: Fix hang on read of incomplete terminal control sequence

I'm seeing the reported hang fixed with this patch.

Comment 2 D Scott Phillips 2026-01-26 21:23:30 UTC
I filed https://gitlab.freedesktop.org/plymouth/plymouth/-/issues/321 for this.

Comment 3 Hans de Goede 2026-01-27 10:09:29 UTC
Thank you for the bug report and for the patch.

It is always a pleasure to receive a bug report with a patch fixing it :)

I'm preparing a Fedora 43 with the patch included now.

Comment 4 Fedora Update System 2026-01-27 10:13:24 UTC
FEDORA-2026-f19511b7ad (plymouth-24.004.60-24.fc44) has been submitted as an update to Fedora 44.
https://bodhi.fedoraproject.org/updates/FEDORA-2026-f19511b7ad

Comment 5 Fedora Update System 2026-01-27 10:28:50 UTC
FEDORA-2026-b61eb1e259 (plymouth-24.004.60-24.fc43) has been submitted as an update to Fedora 43.
https://bodhi.fedoraproject.org/updates/FEDORA-2026-b61eb1e259

Comment 6 Fedora Update System 2026-01-27 11:32:38 UTC
FEDORA-2026-f19511b7ad (plymouth-24.004.60-24.fc44) has been pushed to the Fedora 44 stable repository.
If problem still persists, please make note of it in this bug report.

Comment 7 Fedora Update System 2026-01-28 01:09:05 UTC
FEDORA-2026-b61eb1e259 has been pushed to the Fedora 43 testing repository.
Soon you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --refresh --advisory=FEDORA-2026-b61eb1e259`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2026-b61eb1e259

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 8 Fedora Update System 2026-01-31 17:31:14 UTC
FEDORA-2026-b61eb1e259 (plymouth-24.004.60-24.fc43) has been pushed to the Fedora 43 stable repository.
If problem still persists, please make note of it in this bug report.