yast / yast-installation

YaST module installation
http://en.opensuse.org/Portal:YaST
GNU General Public License v2.0
16 stars 44 forks source link

adjust plymouth and First, Second stage start order. #1070

Open qiangzhao opened 1 year ago

qiangzhao commented 1 year ago

adjust Plymouth and Yast-First-Stage and Yast-Second-stage start order.

coveralls commented 1 year ago

Coverage Status

Coverage remained the same at 40.786% when pulling 521dd6ffdd7af19d4553cc37b84edeb1aff61da4 on qiangzhao:coordinate-boot-sequence-plymouth-Yast2-Stage-service into 67e74d406030d955ebb9ddaaa1574185c19a1e5e on yast:master.

qiangzhao commented 1 year ago

Please summarize the reason in a comment/commit message

plymouth-quit-wait is the solution inside plymouth source, the plymouth-quit-wait.service happens on the time plymouth totally exit. It is designed as a signal to notice other program which wait for using display device could launch. From the old method, "Yast2-Firstboot.service" and "Yast2-Second-Stage.service" only call "plymoth quit", it will notice plymouth daemon to quit, but it will not wait for plymouth daemon to finish the quit action, in some scenarios, the release device action of plymouth daemon will take a little more time for kernel/DRM to return. In this case, if "Yast2-Firstboot.service" and "Yast2-Second-Stage.service" launch up, they may race with plymouth daemon to grasp the display device handle. and may lock each other.

Add a bug/feature reference

This is a problem that I found in my own research on Plymouth's source and systemd service files inside the Tumbleweed.

qiangzhao commented 1 year ago

Hi @mvidner : the reason as the above comment, Please review.

kobliha commented 10 months ago

For the reference: https://bugzilla.suse.com/show_bug.cgi?id=1215282#c21 and the reason why @mvidner wanted some bug/feature nr is this https://bugzilla.suse.com/show_bug.cgi?id=1215282#c13