Bug 1175394

Summary: systemd-nspawn doesn't work on s390/s390x
Product: [Fedora] Fedora Reporter: Ken Werner <ken>
Component: systemdAssignee: Jan Synacek <jsynacek>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 20CC: johannbg, jsynacek, ken, lnykryn, msekleta, s, systemd-maint, vpavlin, zbyszek
Target Milestone: ---Keywords: Reopened
Target Release: ---   
Hardware: s390x   
OS: Linux   
Whiteboard:
Fixed In Version: systemd-208-29.fc20 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2015-01-14 23:57:16 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Ken Werner 2014-12-17 16:04:23 UTC
Description of problem:
 It appears that systemd-nspawn doesn't work on s390/s390x. The clone() fails because the signature of the raw system call is slightly different on 390/s390x. Since the order of the first and second arguments is reversed it gets invoked with a bogus value of the child_stack pointer and segfaults. The corresponding patch has been accepted upstream:
 http://cgit.freedesktop.org/systemd/systemd/commit/?id=60e1651a31c9c0ed1caef1a63f5e3a87156b0b1e

Version-Release number of selected component (if applicable):
 systemd-216-12.fc21.s390x

How reproducible:
 always

Steps to Reproduce:
 systemd-nspawn -D mycontainer

Actual results:
 strace:
  clone(Process 1552 attached
  child_stack=0x2c020011, flags=)   = 1552
  [pid  1552] --- SIGSEGV {si_signo=SIGSEGV, si_code=SEGV_MAPERR, si_errno=1224498, si_addr=0x2c020000} ---

Expected results:
 Spawning container mycontainer on /path/to/mycontainer.

Additional info:
  I think every s390x/s390 Fedora version that has systemd is affected. Fortunately it's easy to fix.

Comment 1 Ken Werner 2014-12-17 16:06:36 UTC
After rebuilding the systemd-216-12 package with the patch applied on s390x I'm able to successfully spawn a namespace container.

Comment 2 Fedora Update System 2014-12-19 09:38:38 UTC
systemd-216-13.fc21 has been submitted as an update for Fedora 21.
https://admin.fedoraproject.org/updates/systemd-216-13.fc21

Comment 3 Fedora Update System 2014-12-20 08:39:58 UTC
Package systemd-216-13.fc21:
* should fix your issue,
* was pushed to the Fedora 21 testing repository,
* should be available at your local mirror within two days.
Update it with:
# su -c 'yum update --enablerepo=updates-testing systemd-216-13.fc21'
as soon as you are able to.
Please go to the following url:
https://admin.fedoraproject.org/updates/FEDORA-2014-17330/systemd-216-13.fc21
then log in and leave karma (feedback).

Comment 4 Ken Werner 2014-12-20 15:59:46 UTC
Yep, systemd-nspawn of systemd-216-13.fc21 works for me on s390x. Thanks!
Are there any plans on adding the patch to the systemd provided for Fedora 20 as well?

Comment 5 Jan Synacek 2015-01-05 13:03:07 UTC
Yes, I plan to do a big update with backported fixes, including this one. It may take a while, though.

Comment 6 Fedora Update System 2015-01-06 06:13:39 UTC
systemd-216-13.fc21 has been pushed to the Fedora 21 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 8 Fedora Update System 2015-01-06 13:51:49 UTC
systemd-208-29.fc20 has been submitted as an update for Fedora 20.
https://admin.fedoraproject.org/updates/systemd-208-29.fc20

Comment 9 Fedora Update System 2015-01-07 01:24:55 UTC
Package systemd-208-29.fc20:
* should fix your issue,
* was pushed to the Fedora 20 testing repository,
* should be available at your local mirror within two days.
Update it with:
# su -c 'yum update --enablerepo=updates-testing systemd-208-29.fc20'
as soon as you are able to.
Please go to the following url:
https://admin.fedoraproject.org/updates/FEDORA-2015-0254/systemd-208-29.fc20
then log in and leave karma (feedback).

Comment 10 Fedora Update System 2015-01-14 23:57:16 UTC
systemd-208-29.fc20 has been pushed to the Fedora 20 stable repository.  If problems still persist, please make note of it in this bug report.