Bug#805481: systemd 227-2 SIGSEGV on boot on arm64

Steven Capper steven.capper at gmail.com
Wed Nov 18 15:18:36 GMT 2015


Package: systemd
Version: 227-2
Severity: grave
Justification: renders package unusable



-- Package-specific info:

-- System Information:
Debian Release: stretch/sid
  APT prefers testing
  APT policy: (500, 'testing')
Architecture: arm64 (aarch64)

Kernel: Linux 4.2.0-1-arm64 (SMP w/1 CPU core)
Locale: LANG=C, LC_CTYPE=C (charmap=ANSI_X3.4-1968)
Shell: /bin/sh linked to /bin/dash
Init: unable to detect

Versions of packages systemd depends on:
ii  adduser         3.113+nmu3
ii  libacl1         2.2.52-2
ii  libapparmor1    2.10-2+b1
ii  libaudit1       1:2.4.4-4
ii  libblkid1       2.27.1-1
ii  libc6           2.19-22
ii  libcap2         1:2.24-12
ii  libcap2-bin     1:2.24-12
ii  libcryptsetup4  2:1.6.6-5
ii  libgcrypt20     1.6.4-3
ii  libkmod2        21-1
ii  liblzma5        5.1.1alpha+20120614-2.1
ii  libmount1       2.27.1-1
ii  libpam0g        1.1.8-3.1
ii  libseccomp2     2.2.3-2
ii  libselinux1     2.3-2+b1
ii  libsystemd0     227-2
ii  mount           2.27.1-1
ii  sysv-rc         2.88dsf-59.2
ii  udev            227-2
ii  util-linux      2.27.1-1

Versions of packages systemd recommends:
ii  dbus            1.10.2-1
pn  libpam-systemd  <none>

Versions of packages systemd suggests:
pn  systemd-container  <none>
pn  systemd-ui         <none>

-- no debconf information


-- more information

systemd immediately fails on arm64 with a SIGSEGV rendering the system
unbootable.

I have booted up with init=/bin/bash and tried running system mode in gdb
to try and narrow down the problem:

Program received signal SIGSEGV, Segmentation fault.
0x00000055555ac868 in detect_vm () at ../src/basic/virt.c:263
263        if (cached_found >= 0)

(gdb) list
258 /* Returns a short identifier for the various VM implementations */
259 int detect_vm(void) {
260        static thread_local int cached_found = _VIRTUALIZATION_INVALID;
261        int r;
262
263        if (cached_found >= 0)
264                return cached_found;
265
266        /* Try xen capabilities file first, if not found try
267         * high-level hypervisor sysfs file:

(gdb) disassemble $pc
Dump of assembler code for function detect_virtualization:
   0x00000055555ac848 <+0>: str x30, [sp,#-16]!
   0x00000055555ac84c <+4>: bl 0x55555ac680 <detect_container>
   0x00000055555ac850 <+8>: cbnz w0, 0x55555ac870 <detect_virtualization+40>
   0x00000055555ac854 <+12>: mrs x1, tpidr_el0
   0x00000055555ac858 <+16>: adrp x0, 0x5555698000 <table.10340+32>
   0x00000055555ac85c <+20>: ldr x2, [x0,#960]
   0x00000055555ac860 <+24>: nop
   0x00000055555ac864 <+28>: nop
=> 0x00000055555ac868 <+32>: ldr w0, [x1,x0]
   0x00000055555ac86c <+36>: tbnz w0, #31, 0x55555ac878
<detect_virtualization+48>
   0x00000055555ac870 <+40>: ldr x30, [sp],#16
   0x00000055555ac874 <+44>: ret
   0x00000055555ac878 <+48>: ldr x30, [sp],#16
   0x00000055555ac87c <+52>: b 0x55555ac388 <detect_vm.part.1.lto_priv.302>
End of assembler dump.

(gdb) info registers
x0             0x5555698000 366505197568
x1             0x7fb7bea6f0 548543571696
x2             0x14 20
x3             0x7fffffee80 549755809408
x4             0x1 1
x5             0x0 0
x6             0x800000000000 140737488355328
x7             0x1 1
x8             0x42 66
x9             0x711f33356bff284d 8151290155102054477
x10            0x7f7f7f7f7f7f7f7f 9187201950435737471
x11            0x101010101010101 72340172838076673
x12            0x10 16
x13            0x20504d4f43434553 2328446010176783699
x14            0x2d2044494b4c422b 3251674012548088363
x15            0x7fb7e28588 548545922440
x16            0x5555698498 366505198744
x17            0x7fb7d5b2fc 548545082108
x18            0x7ffffff8e0 549755812064
x19            0x555569c320 366505214752
x20            0x5555699000 366505201664
x21            0x555569a000 366505205760
x22            0x555569b320 366505210656
x23            0x5555699000 366505201664
x24            0x0 0
x25            0x5555699000 366505201664
x26            0x7ffffffd28 549755813160
x27            0x5555698000 366505197568
x28            0x555569c3db 366505214939
x29            0x7ffffff820 549755811872
x30            0x55555ac850 366504233040
sp             0x7ffffff800 0x7ffffff800
pc             0x55555ac868 0x55555ac868 <detect_virtualization+32>
cpsr           0x0 0
fpsr           0x0 0
fpcr           0x1000000 16777216

(gdb) bt full
#0  0x00000055555ac868 in detect_vm () at ../src/basic/virt.c:263
No locals.
#1  detect_virtualization () at ../src/basic/virt.c:410
        r = <optimized out>
#2  0x000000555557f588 in main (argc=0, argv=0x7ffffffd38) at
../src/core/main.c:1570
        v = <optimized out>
        m = 0x0
        r = <optimized out>
        retval = 1
        before_startup = <optimized out>
        after_startup = <optimized out>
        timespan = '\000' <repeats 17 times>,
"\060\372\267\177\000\000\000(\321\002\000\000\000\000\000
\374\377\377\177\000\000\000\000\360\374\267\177", '\000' <repeats 18 times>
        fds = 0x555569b320
        reexecute = false
        shutdown_verb = 0x0
        initrd_timestamp = {realtime = 548547799504, monotonic =
548547721128}
        userspace_timestamp = {realtime = 881758864, monotonic = 881758864}
        kernel_timestamp = {realtime = 0, monotonic = 0}
        security_start_timestamp = {realtime = 0, monotonic = 0}
        security_finish_timestamp = {realtime = 0, monotonic = 0}
        systemd = "systemd"
        skip_setup = <optimized out>
        j = <optimized out>
        loaded_policy = false
        arm_reboot_watchdog = false
        queue_default_job = false
        empty_etc = false
        switch_root_dir = 0x0
        switch_root_init = 0x0
        saved_rlimit_nofile = {rlim_cur = 0, rlim_max = 0}
        error_message = 0x0
        __func__ = "main"
        __PRETTY_FUNCTION__ = "main"

This looks like a bug raised by the Fedora folk too:
https://bugzilla.redhat.com/show_bug.cgi?id=1271387

Cheers,
--
Steve
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.alioth.debian.org/pipermail/pkg-systemd-maintainers/attachments/20151118/3020b019/attachment.html>


More information about the Pkg-systemd-maintainers mailing list