Created attachment 1161423 [details]
Valgrind log from aarch64 machine
When running systemd under valgrind in nspawn container, on some architectures (ppc64, ppc64le and aarch64) boot process ends with an error due to unhandled syscalls. Running systemd without valgrind works as expected.
Version-Release number of selected component (if applicable):
## Create a minimal nspawn container
# mkdir vm
# yum -y --nogpgcheck --installroot $PWD/vm groupinstall minimal
# cp -f /etc/yum.repos.d/* vm/etc/yum.repos.d/
# yum -y --nogpgcheck --installroot $PWD/vm install valgrind
## Run systemd under valgrind in nspawn container
# systemd-nspawn -D vm/ valgrind --leak-check=full --log-file=valgrind.log /usr/lib/systemd/systemd
Boot process ends with an error:
Failed to enable ctrl-alt-del handling: Function not implemented
Failed to wait for system-generators: Function not implemented
Failed to run main loop: Function not implemented
[!!!!!!] Failed to run main loop, freezing.
Container should boot successfully as tested on x86_64 and s390x architectures.
Valgrind log with unhandled syscalls is included in the attachment.
The specific aarch64 syscalls mentioned in the attachment are:
WARNING: unhandled syscall: 142 (reboot)
WARNING: unhandled syscall: 264 (name_to_handle_at)
WARNING: unhandled syscall: 278 (getrandom)
WARNING: unhandled syscall: 81 (sync)
WARNING: unhandled syscall: 95 (waitid)
sync and waitid are already implemented upstream and backported to the valgrind-3.11.0 package. name_to_handle_at and getrandom are implemented on other arches and should be easy to enable for aarch64 too. reboot isn't implemented anywhere yet.
getrandom also was already implemented upstream and should already be in 3.11.0.
That just leaves name_to_handle_at.
Fixed upstream as valgrind svn r15887.
Verified for build valgrind-3.11.0-22.el7.
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.
For information on the advisory, and where to find the updated
files, follow the link below.
If the solution does not work for you, open a new bug report.