Bug 1339628 - Multiple unhandled syscalls when running systemd under valgrind in nspawn on aarch64
Summary: Multiple unhandled syscalls when running systemd under valgrind in nspawn on ...
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: valgrind
Version: 7.2
Hardware: aarch64
OS: Unspecified
unspecified
unspecified
Target Milestone: rc
: ---
Assignee: Mark Wielaard
QA Contact: Miloš Prchlík
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2016-05-25 13:20 UTC by Frantisek Sumsal
Modified: 2016-11-04 02:56 UTC (History)
7 users (show)

Fixed In Version: valgrind-3.11.0-22.el7
Doc Type: If docs needed, set a value
Doc Text:
Clone Of: 1339609
Environment:
Last Closed: 2016-11-04 02:56:26 UTC
Target Upstream Version:


Attachments (Terms of Use)
Valgrind log from aarch64 machine (11.34 KB, text/plain)
2016-05-25 13:20 UTC, Frantisek Sumsal
no flags Details


Links
System ID Private Priority Status Summary Last Updated
KDE Software Compilation 363705 0 None None None 2016-05-30 14:20:19 UTC
Red Hat Product Errata RHEA-2016:2297 0 normal SHIPPED_LIVE valgrind bug fix and enhancement update 2016-11-03 13:38:42 UTC

Description Frantisek Sumsal 2016-05-25 13:20:57 UTC
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):
valgrind-3.10.0-16.el7.aarch64

How reproducible:
## 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

Actual results:
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.

Expected results:
Container should boot successfully as tested on x86_64 and s390x architectures.

Additional info:
Valgrind log with unhandled syscalls is included in the attachment.

Comment 1 Mark Wielaard 2016-05-25 13:54:18 UTC
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.

Comment 2 Mark Wielaard 2016-05-30 13:43:30 UTC
getrandom also was already implemented upstream and should already be in 3.11.0.
That just leaves name_to_handle_at.

Comment 3 Mark Wielaard 2016-05-30 14:20:19 UTC
Fixed upstream as valgrind svn r15887.

Comment 7 Miloš Prchlík 2016-06-08 12:05:40 UTC
Verified for build valgrind-3.11.0-22.el7.

Comment 9 errata-xmlrpc 2016-11-04 02:56:26 UTC
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.

https://rhn.redhat.com/errata/RHEA-2016-2297.html


Note You need to log in before you can comment on or make changes to this bug.