Bug 86044

Summary: make check assertion failure: unit_get_siblings_mask
Product: systemd Reporter: Arno Schuring <aelschuring>
Component: generalAssignee: Filipe Brandenburger <filbranden>
Status: RESOLVED FIXED QA Contact: systemd-bugs
Severity: normal    
Priority: medium CC: alban.crequy, filbranden
Version: unspecified   
Hardware: x86-64 (AMD64)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:
Attachments: testsuite log

Description Arno Schuring 2014-11-08 21:30:50 UTC
Created attachment 109140 [details]
testsuite log

Using current git HEAD (ed7fb9cb), I get the following make check failure:

Assertion 'unit_get_siblings_mask(son) == ((CGROUP_CPU | CGROUP_CPUACCT | CGROUP_MEMORY) & m->cgroup_supported)' failed at src/test/test-cgroup-mask.c:85, function test_cgroup_mask().

I used the following sequence (configure options are based on Debian's build script):
$ ./configure --with-rootprefix= --with-rootlibdir=/lib/x86_64-linux-gnu --with-sysvinit-path=/etc/init.d --with-sysvrcnd-path=/etc --with-firmware-path=/lib/firmware --with-debug-shell=/bin/bash --with-telinit=/lib/sysvinit/telinit --disable-coredump --disable-efi --disable-myhostname --disable-vconsole --disable-microhttpd --disable-sysusers --disable-silent-rules --with-system-{u,g}id-max=999 --enable-selinux --enable-introspection --enable-compat-libs --with-{dns,ntp}-servers= PYTHON=python3
$ make -j2
$ make check


The compile environment is an up-to-date Debian testing amd64, the following package versions are included by the reportbug script:

Kernel: Linux 3.16-2-amd64 (SMP w/4 CPU cores)
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages systemd depends on:
ii  acl             2.2.52-2
ii  adduser         3.113+nmu3
ii  initscripts     2.88dsf-57
ii  libacl1         2.2.52-2
ii  libaudit1       1:2.4-1
ii  libblkid1       2.25.2-2
ii  libc6           2.19-12
ii  libcap2         1:2.24-6
ii  libcap2-bin     1:2.24-6
ii  libcryptsetup4  2:1.6.6-3
ii  libgcrypt20     1.6.2-4
ii  libkmod2        18-3
ii  liblzma5        5.1.1alpha+20120614-2
ii  libpam0g        1.1.8-3.1
ii  libselinux1     2.3-2
ii  libsystemd0     215-5+b1
ii  sysv-rc         2.88dsf-57
ii  udev            215-5+b1
ii  util-linux      2.25.2-2
Comment 1 Arno Schuring 2014-11-08 23:08:48 UTC
The compiler is Debian's gcc 4.9.1:

$ gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/4.9/lto-wrapper
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Debian 4.9.1-19' --with-bugurl=file:///usr/share/doc/gcc-4.9/README.Bugs --enable-languages=c,c++,java,go,d,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.9 --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.9 --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --with-system-zlib --disable-browser-plugin --enable-java-awt=gtk --enable-gtk-cairo --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-4.9-amd64/jre --enable-java-home --with-jvm-root-dir=/usr/lib/jvm/java-1.5.0-gcj-4.9-amd64 --with-jvm-jar-dir=/usr/lib/jvm-exports/java-1.5.0-gcj-4.9-amd64 --with-arch-directory=amd64 --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --enable-objc-gc --enable-multiarch --with-arch-32=i586 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
Thread model: posix
gcc version 4.9.1 (Debian 4.9.1-19)
Comment 2 Arno Schuring 2014-11-08 23:58:57 UTC
8328d8c63332319965fd288634a9a709e9b96425 is the first bad commit
commit 8328d8c63332319965fd288634a9a709e9b96425
Author: Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Date:   Fri Jul 18 17:50:04 2014 -0400

    test-cgroup-mask: fix masks in test and enable by default


This is the commit that introduced the test in its current form. Looks like the code never did what the test expected (at least for my configuration).
Comment 3 Lennart Poettering 2015-02-04 17:12:26 UTC
This test case works fine here. 

Does this issue still exist with current git for you?

I wonder what is different in your setup than in mine?
Comment 4 Zbigniew Jedrzejewski-Szmek 2015-02-05 19:48:50 UTC
It fails on debian generally. I had some local patch, I need to dig it up.
Comment 5 Alban Crequy 2015-05-26 09:35:12 UTC
I have the same error when building systemd-v220 with dpkg-buildpackage, using the branch http://anonscm.debian.org/cgit/pkg-systemd/systemd.git/log/?h=experimental-220

I suspect it is one of the Debian patches as well. Did you figure out which one is causing this?

FAIL: test-cgroup-mask
======================

Assertion 'unit_get_siblings_mask(son) == ((CGROUP_CPU | CGROUP_CPUACCT | CGROUP_MEMORY) & m->cgroup_supported)' failed at ../src/test/test-cgroup-mask.c:80, function test_cgroup_mask(). Aborting.
Comment 6 Michael Biebl 2015-06-16 16:04:10 UTC
I can reproduce it as well, with a pristine build from git master, ie. no Debian patches applied.
Comment 7 Michael Biebl 2015-06-16 16:06:14 UTC
$ git describe 
v220-375-gc986cc7
(In reply to Michael Biebl from comment #6)
> I can reproduce it as well, with a pristine build from git master, ie. no
> Debian patches applied.

$ git describe 
v220-375-gc986cc7
Comment 8 Filipe Brandenburger 2015-06-16 20:32:24 UTC
Possibly related to this one:
https://github.com/systemd/systemd/pull/176

Not sure what cgroups are enabled by default on Debian... I caught this problem running on a kernel where CONFIG_MEMCG was disabled (by mistake), not sure if that (or some other CONFIG_CGROUP_*) is disabled by default on Debian.

Cheers,
Filipe
Comment 9 Filipe Brandenburger 2015-06-17 15:54:45 UTC
Merged upstream into this commit:
https://github.com/filbranden/systemd/commit/2bf25eeff8f27ddcdba8b2a177f77e68d0bec6ed

Will be released as part of systemd v221 coming up later this week.

I'll mark it as RESOLVED, I think that's appropriate, please reopen if there's still a problem here.

Cheers,
Filipe

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.