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