Bug#785687: systemd: systemctl double free or corruption when enabling/disabling sysv units if pwd non-readable

Lorenz Hübschle-Schneider lorenz-dev at lgh-alumni.de
Tue May 19 08:46:25 BST 2015


Package: systemd
Version: 215-17
Severity: normal

Dear Maintainer,

systemctl fails to enable/disable sysv units if the current working directory is
not readable to the user systemctl is running at (root). In my case, the home
directory is mounted via nfs and unreadable to root.

gdb output:
Synchronizing state for docker.service with sysvinit using update-rc.d...
Executing /usr/sbin/update-rc.d docker defaults
insserv: popd() can not change directory /home/lorenzhs: Permission denied
update-rc.d: error: insserv rejected the script header
*** Error in `/bin/systemctl': double free or corruption (fasttop): 0x00005555557da900 ***

Program received signal SIGABRT, Aborted.
0x00007ffff784b107 in __GI_raise (sig=sig at entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:56
56	../nptl/sysdeps/unix/sysv/linux/raise.c: Permission denied.
(gdb) bt
#0  0x00007ffff784b107 in __GI_raise (sig=sig at entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:56
#1  0x00007ffff784c4e8 in __GI_abort () at abort.c:89
#2  0x00007ffff7889204 in __libc_message (do_abort=do_abort at entry=1, fmt=fmt at entry=0x7ffff797bfe0 "*** Error in `%s': %s: 0x%s ***\n") at ../sysdeps/posix/libc_fatal.c:175
#3  0x00007ffff788e9de in malloc_printerr (action=1, str=0x7ffff797c1c8 "double free or corruption (fasttop)", ptr=<optimized out>) at malloc.c:4996
#4  0x00007ffff788f6e6 in _int_free (av=<optimized out>, p=<optimized out>, have_lock=0) at malloc.c:3840
#5  0x000055555556ef93 in freep () at ../src/shared/util.h:641
#6  enable_sysv_units (verb=<optimized out>, args=0x5555557da860) at ../src/systemctl/systemctl.c:5016
#7  0x000055555556f5fd in enable_unit.lto_priv.331 (bus=0x5555557d9f70, args=0x7fffffffeb80) at ../src/systemctl/systemctl.c:5235
#8  0x0000555555561bd2 in systemctl_main (bus_error=0, argv=0x7fffffffeb78, argc=<optimized out>, bus=0x5555557d9f70) at ../src/systemctl/systemctl.c:6730
#9  main (argc=<optimized out>, argv=0x7fffffffeb78) at ../src/systemctl/systemctl.c:6985

Best,
Lorenz

-- Package-specific info:

-- System Information:
Debian Release: stretch/sid
  APT prefers unstable
  APT policy: (500, 'unstable')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 4.0.0-1-amd64 (SMP w/8 CPU cores)
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)

Versions of packages systemd depends on:
ii  acl             2.2.52-2
ii  adduser         3.113+nmu3
ii  initscripts     2.88dsf-59.1
ii  libacl1         2.2.52-2
ii  libaudit1       1:2.4-1+b1
ii  libblkid1       2.26.2-3
ii  libc6           2.19-18
ii  libcap2         1:2.24-8
ii  libcap2-bin     1:2.24-8
ii  libcryptsetup4  2:1.6.6-5
ii  libgcrypt20     1.6.3-2
ii  libkmod2        20-1
ii  liblzma5        5.1.1alpha+20120614-2+b3
ii  libpam0g        1.1.8-3.1
ii  libselinux1     2.3-2
ii  libsystemd0     215-17
ii  mount           2.26.2-3
ii  sysv-rc         2.88dsf-59.1
ii  udev            215-17
ii  util-linux      2.26.2-3

Versions of packages systemd recommends:
ii  dbus            1.8.18-1
ii  libpam-systemd  215-17

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

-- no debconf information



More information about the Pkg-systemd-maintainers mailing list