Comment 12 for bug 1705345

I am seeing the same thing. plymouthd doesn't hang around after every boot, but it does so a reasonably large percentage of the time. Additionally, when plymouthd continues to run after boot, machine shutdown hangs for a long time before completing (presumably some kind of systemd timeout).

Running strace against plymouthd when it's stuck causes it to exit normally.

root@asp:~# ps axu |grep plymouth
root 320 0.0 0.2 164820 44100 ? S 12:23 0:00 @sbin/plymouthd --mode=boot --attach-to-session --pid-file=/run/plymouth/pid
root 1166 0.0 0.0 12936 1016 ? Ss 12:23 0:00 /bin/plymouth --wait
root 1311 0.0 0.0 12936 1020 ? S 12:23 0:00 /bin/plymouth quit
root 5398 0.0 0.0 12936 1024 pts/2 SN+ 12:26 0:00 plymouth --ping
root 6023 0.0 0.0 12936 1020 ? S 12:28 0:00 plymouth --ping
root 7537 0.0 0.0 14356 1060 pts/3 S+ 12:58 0:00 grep --color=auto plymouth
root@asp:~# strace -p 320
strace: Process 320 attached
ioctl(10, PIO_CMAP, 0x559a2b77f178) = 0
epoll_ctl(3, EPOLL_CTL_MOD, 10, {EPOLLERR|EPOLLHUP, {u32=730276688, u64=94120643601232}}) = 0
epoll_ctl(3, EPOLL_CTL_DEL, 10, NULL) = 0
rt_sigaction(SIGWINCH, {sa_handler=SIG_DFL, sa_mask=[WINCH], sa_flags=SA_RESTORER|SA_RESTART, sa_restorer=0x7f0996fec140}, {sa_handler=0x7f09975b2820, sa_mask=[WINCH], sa_flags=SA_RESTORER|SA_RESTART, sa_restorer=0x7f0996fec140}, 8) = 0
ioctl(10, TIOCSLCKTRMIOS, {B0 -opost -isig -icanon -echo ...}) = 0
ioctl(10, TCGETS, {B38400 opost -isig -icanon -echo ...}) = 0
ioctl(10, TCGETS, {B38400 opost -isig -icanon -echo ...}) = 0
ioctl(10, SNDCTL_TMR_START or TCSETS, {B38400 opost isig icanon echo ...}) = 0
ioctl(10, TCGETS, {B38400 opost isig icanon echo ...}) = 0
close(10) = 0
close(7) = 0
unlink("/run/plymouth/pid") = 0
sendto(8, "\6", 1, MSG_NOSIGNAL, NULL, 0) = 1
epoll_ctl(3, EPOLL_CTL_DEL, 4, NULL) = 0
epoll_ctl(3, EPOLL_CTL_DEL, 6, NULL) = 0
epoll_ctl(3, EPOLL_CTL_DEL, 7, NULL) = -1 EBADF (Bad file descriptor)
epoll_ctl(3, EPOLL_CTL_DEL, 11, NULL) = 0
epoll_ctl(3, EPOLL_CTL_DEL, 12, NULL) = 0
epoll_ctl(3, EPOLL_CTL_DEL, 8, NULL) = 0
close(11) = 0
close(12) = 0
close(8) = 0
close(2) = 0
exit_group(0) = ?
+++ exited with 0 +++
root@asp:~# ps axu |grep plymouth
root 5405 0.0 0.0 14356 1080 pts/3 S+ 12:59 0:00 grep --color=auto plymouth