This may be of no help whatsoever
But strace might shed some light, though it's hard to decipher as a non programmer (such as me).
Package is strace. Non default options might be required to get right output ? Have a look at the man page.
But for me the output of a successful shutdown with
sudo strace -o ~/poweroff.txt /usr/bin/openrc-shutdown --poweroff 0
is
execve("/usr/bin/openrc-shutdown", ["/usr/bin/openrc-shutdown", "--poweroff", "0"], 0x7ffe43fcc110 /* 16 vars */) = 0
brk(NULL) = 0x555d7d0c8000
arch_prctl(0x3001 /* ARCH_??? */, 0x7fffad95bbd0) = -1 EINVAL (Invalid argument)
access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3
newfstatat(3, "", {st_mode=S_IFREG|0644, st_size=212039, ...}, AT_EMPTY_PATH) = 0
mmap(NULL, 212039, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f04a7577000
close(3) = 0
openat(AT_FDCWD, "/usr/lib/libeinfo.so.1", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\0\0\0\0\0\0\0\0"..., 832) = 832
newfstatat(3, "", {st_mode=S_IFREG|0755, st_size=26376, ...}, AT_EMPTY_PATH) = 0
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f04a7575000
mmap(NULL, 31568, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f04a756d000
mmap(0x7f04a756f000, 12288, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x2000) = 0x7f04a756f000
mmap(0x7f04a7572000, 4096, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x5000) = 0x7f04a7572000
mmap(0x7f04a7573000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x5000) = 0x7f04a7573000
close(3) = 0
openat(AT_FDCWD, "/usr/lib/librc.so.1", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\0\0\0\0\0\0\0\0"..., 832) = 832
newfstatat(3, "", {st_mode=S_IFREG|0755, st_size=63240, ...}, AT_EMPTY_PATH) = 0
mmap(NULL, 65576, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f04a755c000
mprotect(0x7f04a755f000, 49152, PROT_NONE) = 0
mmap(0x7f04a755f000, 36864, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x3000) = 0x7f04a755f000
mmap(0x7f04a7568000, 8192, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xc000) = 0x7f04a7568000
mmap(0x7f04a756b000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xe000) = 0x7f04a756b000
close(3) = 0
openat(AT_FDCWD, "/usr/lib/libc.so.6", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0P\224\2\0\0\0\0\0"..., 832) = 832
pread64(3, "\6\0\0\0\4\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0"..., 784, 64) = 784
pread64(3, "\4\0\0\0@\0\0\0\5\0\0\0GNU\0\2\0\0\300\4\0\0\0\3\0\0\0\0\0\0\0"..., 80, 848) = 80
pread64(3, "\4\0\0\0\24\0\0\0\3\0\0\0GNU\0`\337\35\363\37\2\247\262=\250>\216\371#5\230"..., 68, 928) = 68
newfstatat(3, "", {st_mode=S_IFREG|0755, st_size=2100888, ...}, AT_EMPTY_PATH) = 0
pread64(3, "\6\0\0\0\4\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0"..., 784, 64) = 784
mmap(NULL, 2146032, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f04a7350000
mprotect(0x7f04a7378000, 1904640, PROT_NONE) = 0
mmap(0x7f04a7378000, 1540096, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x28000) = 0x7f04a7378000
mmap(0x7f04a74f0000, 360448, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1a0000) = 0x7f04a74f0000
mmap(0x7f04a7549000, 24576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1f8000) = 0x7f04a7549000
mmap(0x7f04a754f000, 52976, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f04a754f000
close(3) = 0
openat(AT_FDCWD, "/usr/lib/libncursesw.so.6", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\0\0\0\0\0\0\0\0"..., 832) = 832
newfstatat(3, "", {st_mode=S_IFREG|0755, st_size=470200, ...}, AT_EMPTY_PATH) = 0
mmap(NULL, 474296, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f04a72dc000
mprotect(0x7f04a72f2000, 364544, PROT_NONE) = 0
mmap(0x7f04a72f2000, 262144, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x16000) = 0x7f04a72f2000
mmap(0x7f04a7332000, 98304, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x56000) = 0x7f04a7332000
mmap(0x7f04a734b000, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x6e000) = 0x7f04a734b000
close(3) = 0
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f04a72da000
arch_prctl(ARCH_SET_FS, 0x7f04a72dac40) = 0
set_tid_address(0x7f04a72daf10) = 4436
set_robust_list(0x7f04a72daf20, 24) = 0
rseq(0x7f04a72db5e0, 0x20, 0, 0x53053053) = 0
mprotect(0x7f04a7549000, 16384, PROT_READ) = 0
mprotect(0x7f04a734b000, 16384, PROT_READ) = 0
mprotect(0x7f04a756b000, 4096, PROT_READ) = 0
mprotect(0x7f04a7573000, 4096, PROT_READ) = 0
mprotect(0x555d7c3cd000, 4096, PROT_READ) = 0
mprotect(0x7f04a75e0000, 8192, PROT_READ) = 0
prlimit64(0, RLIMIT_STACK, NULL, {rlim_cur=8192*1024, rlim_max=RLIM64_INFINITY}) = 0
munmap(0x7f04a7577000, 212039) = 0
getrandom("\xb8\x55\x37\xc2\x3f\xdb\xb8\x99", 8, GRND_NONBLOCK) = 8
brk(NULL) = 0x555d7d0c8000
brk(0x555d7d0e9000) = 0x555d7d0e9000
geteuid() = 0
openat(AT_FDCWD, "/run/openrc-shutdown.pid", O_WRONLY|O_CREAT|O_TRUNC, 0666) = 3
getpid() = 4436
newfstatat(3, "", {st_mode=S_IFREG|0644, st_size=0, ...}, AT_EMPTY_PATH) = 0
write(3, "4436\n", 5) = 5
close(3) = 0
rt_sigaction(SIGINT, {sa_handler=0x555d7c3c9d70, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x7f04a738e8e0}, NULL, 8) = 0
rt_sigaction(SIGTERM, {sa_handler=0x555d7c3c9d70, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x7f04a738e8e0}, NULL, 8) = 0
getuid() = 0
socket(AF_UNIX, SOCK_STREAM|SOCK_CLOEXEC|SOCK_NONBLOCK, 0) = 3
connect(3, {sa_family=AF_UNIX, sun_path="/var/run/nscd/socket"}, 110) = -1 ENOENT (No such file or directory)
close(3) = 0
socket(AF_UNIX, SOCK_STREAM|SOCK_CLOEXEC|SOCK_NONBLOCK, 0) = 3
connect(3, {sa_family=AF_UNIX, sun_path="/var/run/nscd/socket"}, 110) = -1 ENOENT (No such file or directory)
close(3) = 0
newfstatat(AT_FDCWD, "/etc/nsswitch.conf", {st_mode=S_IFREG|0644, st_size=274, ...}, 0) = 0
newfstatat(AT_FDCWD, "/", {st_mode=S_IFDIR|0755, st_size=4096, ...}, 0) = 0
openat(AT_FDCWD, "/etc/nsswitch.conf", O_RDONLY|O_CLOEXEC) = 3
newfstatat(3, "", {st_mode=S_IFREG|0644, st_size=274, ...}, AT_EMPTY_PATH) = 0
read(3, "# Name Service Switch configurat"..., 4096) = 274
read(3, "", 4096) = 0
newfstatat(3, "", {st_mode=S_IFREG|0644, st_size=274, ...}, AT_EMPTY_PATH) = 0
close(3) = 0
openat(AT_FDCWD, "/etc/passwd", O_RDONLY|O_CLOEXEC) = 3
newfstatat(3, "", {st_mode=S_IFREG|0644, st_size=2077, ...}, AT_EMPTY_PATH) = 0
lseek(3, 0, SEEK_SET) = 0
read(3, "root:x:0:0::/root:/bin/fish\nbin:"..., 4096) = 2077
close(3) = 0
ioctl(0, TCGETS, {B38400 opost isig icanon echo ...}) = 0
ioctl(0, TCGETS, {B38400 opost isig icanon echo ...}) = 0
newfstatat(0, "", {st_mode=S_IFCHR|0600, st_rdev=makedev(0x88, 0x2), ...}, AT_EMPTY_PATH) = 0
readlink("/proc/self/fd/0", "/dev/pts/2", 4095) = 10
newfstatat(AT_FDCWD, "/dev/pts/2", {st_mode=S_IFCHR|0600, st_rdev=makedev(0x88, 0x2), ...}, 0) = 0
uname({sysname="Linux", nodename="arch", ...}) = 0
openat(AT_FDCWD, "/etc/localtime", O_RDONLY|O_CLOEXEC) = 3
newfstatat(3, "", {st_mode=S_IFREG|0644, st_size=3648, ...}, AT_EMPTY_PATH) = 0
newfstatat(3, "", {st_mode=S_IFREG|0644, st_size=3648, ...}, AT_EMPTY_PATH) = 0
read(3, "TZif2\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\7\0\0\0\7\0\0\0\0"..., 4096) = 3648
lseek(3, -2321, SEEK_CUR) = 1327
read(3, "TZif2\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\7\0\0\0\7\0\0\0\0"..., 4096) = 2321
close(3) = 0
clone(child_stack=NULL, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0x7f04a72daf10) = 4437
getpid() = 4436
socket(AF_UNIX, SOCK_DGRAM|SOCK_CLOEXEC, 0) = 3
connect(3, {sa_family=AF_UNIX, sun_path="/dev/log"}, 110) = 0
sendto(3, "<29>Jun 15 13:01:02 openrc-shutd"..., 72, MSG_NOSIGNAL, NULL, 0) = 72
unlink("/etc/nologin") = -1 ENOENT (No such file or directory)
unlink("/run/openrc-shutdown.pid") = 0
newfstatat(AT_FDCWD, "/run/initctl", 0x7fffad95bab0, 0) = -1 ENOENT (No such file or directory)
uname({sysname="Linux", nodename="arch", ...}) = 0
access("/var/log/wtmpx", F_OK) = -1 ENOENT (No such file or directory)
--- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=4437, si_uid=0, si_status=0, si_utime=0, si_stime=0} ---
openat(AT_FDCWD, "/var/log/wtmp", O_WRONLY) = 4
alarm(0) = 0
rt_sigaction(SIGALRM, {sa_handler=0x7f04a74a7320, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x7f04a738e8e0}, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0
alarm(10) = 0
fcntl(4, F_SETLKW, {l_type=F_WRLCK, l_whence=SEEK_SET, l_start=0, l_len=0}) = 0
alarm(0) = 10
rt_sigaction(SIGALRM, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x7f04a738e8e0}, NULL, 8) = 0
lseek(4, 0, SEEK_END) = 705408
write(4, "\1\0\0\0\0\0\0\0~~\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 384) = 384
fcntl(4, F_SETLKW, {l_type=F_UNLCK, l_whence=SEEK_SET, l_start=0, l_len=0}) = 0
close(4) = 0
openat(AT_FDCWD, "/run/openrc/init.ctl", O_WRONLY|O_CREAT|O_TRUNC, 0666) = 4
newfstatat(4, "", {st_mode=S_IFIFO|0600, st_size=0, ...}, AT_EMPTY_PATH) = 0
write(4, "poweroff", 8) = 8
close(4) = 0
exit_group(0) = ?
+++ exited with 0 +++
Maybe a difference will stand out ?