After digging further I see that sometimes plymouthd does not receive quit command, but when it does, it hangs with the following:
(me sends quit command):
read(6, "Q\2", 2) = 2 read(6, "\1", 1) = 1 read(6, "\0", 1) = 1 getsockopt(6, SOL_SOCKET, SO_PEERCRED, "A\v\0\0\0\0\0\0\0\0\0\0", [12]) = 0 close(13) = 0 open("/lib/plymouth/themes/details/details.plymouth", O_RDONLY) = 7 fstat64(7, {st_mode=S_IFREG|0644, st_size=84, ...}) = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb5fba000 read(7, "[Plymouth Theme]\nName=Details\nDe"..., 4096) = 84 _llseek(7, 0, [84], SEEK_CUR) = 0 read(7, "", 4096) = 0 read(7, "", 4096) = 0 read(7, "", 4096) = 0 read(7, "", 4096) = 0 read(7, "", 4096) = 0 close(7) = 0 munmap(0xb5fba000, 4096) = 0 open("/lib/plymouth/details.so", O_RDONLY) = 7 read(7, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\340\v\0\0004\0\0\0"..., 512) = 512 fstat64(7, {st_mode=S_IFREG|0644, st_size=9692, ...}) = 0 mmap2(NULL, 12532, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 7, 0) = 0xe8b000 mmap2(0xe8d000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 7, 0x1) = 0xe8d000 close(7) = 0 mprotect(0xe8d000, 4096, PROT_READ) = 0 mmap2(NULL, 196608, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb5f8b000 brk(0x8868000) = 0x8868000 mmap2(NULL, 204800, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb5f59000 brk(0x884f000) = 0x884f000 munmap(0xb5f8b000, 196608) = 0 mremap(0xb5f59000, 204800, 196608, MREMAP_MAYMOVE) = 0xb5f59000 write(12, "init: job_process_handler: Ignor"..., 195460) = 195460 munmap(0xb5f59000, 196608) = 0 ioctl(11, 0x641f, 0) = -1 EINVAL (Invalid argument) ioctl(11, 0x40046486 <unfinished> ... And hang happens.
After digging further I see that sometimes plymouthd does not receive quit command, but when it does, it hangs with the following:
(me sends quit command):
read(6, "Q\2", 2) = 2 0\0\0\0\ 0\0\0\0\ 0", [12]) = 0 lib/plymouth/ themes/ details/ details. plymouth" , O_RDONLY) = 7 S_IFREG| 0644, st_size=84, ...}) = 0 PROT_WRITE, MAP_PRIVATE| MAP_ANONYMOUS, -1, 0) = 0xb5fba000 nName=Details\ nDe"... , 4096) = 84 lib/plymouth/ details. so", O_RDONLY) = 7 1\1\1\0\ 0\0\0\0\ 0\0\0\0\ 3\0\3\0\ 1\0\0\0\ 340\v\0\ 0004\0\ 0\0"... , 512) = 512 S_IFREG| 0644, st_size=9692, ...}) = 0 PROT_EXEC, MAP_PRIVATE| MAP_DENYWRITE, 7, 0) = 0xe8b000 PROT_WRITE, MAP_PRIVATE| MAP_FIXED| MAP_DENYWRITE, 7, 0x1) = 0xe8d000 PROT_WRITE, MAP_PRIVATE| MAP_ANONYMOUS, -1, 0) = 0xb5f8b000 PROT_WRITE, MAP_PRIVATE| MAP_ANONYMOUS, -1, 0) = 0xb5f59000 handler: Ignor"..., 195460) = 195460
read(6, "\1", 1) = 1
read(6, "\0", 1) = 1
getsockopt(6, SOL_SOCKET, SO_PEERCRED, "A\v\0\
close(13) = 0
open("/
fstat64(7, {st_mode=
mmap2(NULL, 4096, PROT_READ|
read(7, "[Plymouth Theme]\
_llseek(7, 0, [84], SEEK_CUR) = 0
read(7, "", 4096) = 0
read(7, "", 4096) = 0
read(7, "", 4096) = 0
read(7, "", 4096) = 0
read(7, "", 4096) = 0
close(7) = 0
munmap(0xb5fba000, 4096) = 0
open("/
read(7, "\177ELF\
fstat64(7, {st_mode=
mmap2(NULL, 12532, PROT_READ|
mmap2(0xe8d000, 8192, PROT_READ|
close(7) = 0
mprotect(0xe8d000, 4096, PROT_READ) = 0
mmap2(NULL, 196608, PROT_READ|
brk(0x8868000) = 0x8868000
mmap2(NULL, 204800, PROT_READ|
brk(0x884f000) = 0x884f000
munmap(0xb5f8b000, 196608) = 0
mremap(0xb5f59000, 204800, 196608, MREMAP_MAYMOVE) = 0xb5f59000
write(12, "init: job_process_
munmap(0xb5f59000, 196608) = 0
ioctl(11, 0x641f, 0) = -1 EINVAL (Invalid argument)
ioctl(11, 0x40046486 <unfinished> ...
And hang happens.