Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 482214 - =sys-apps/systemd-206-r3 - /bin/systemd --test: Assertion 'sigaddset(ss, sig) == 0' failed at .../work/systemd-206/src/shared/util.c:2516, function sigset_add_many(). Aborting.
Summary: =sys-apps/systemd-206-r3 - /bin/systemd --test: Assertion 'sigaddset(ss, sig)...
Status: RESOLVED OBSOLETE
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Core system (show other bugs)
Hardware: HPPA Linux
: Normal normal (vote)
Assignee: Gentoo systemd Team
URL: http://cgit.freedesktop.org/systemd/s...
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-08-23 13:55 UTC by Jeroen Roovers (RETIRED)
Modified: 2018-02-26 14:52 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
208-0003-sigrtmin.patch (208-0003-sigrtmin.patch,16.25 KB, patch)
2014-01-01 20:42 UTC, Jeroen Roovers (RETIRED)
Details | Diff
systemd-208-sigrtmin.patch (systemd-208-sigrtmin.patch,16.25 KB, patch)
2014-01-01 20:46 UTC, Jeroen Roovers (RETIRED)
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Jeroen Roovers (RETIRED) gentoo-dev 2013-08-23 13:55:10 UTC
jeroen@karsten ~ $ /bin/systemd --test
Assertion 'sigaddset(ss, sig) == 0' failed at /var/tmp/portage/sys-apps/systemd-206-r3/work/systemd-206/src/shared/util.c:2516, function sigset_add_many(). Aborting.
Aborted

Fri 23 Aug 15:53:05 CEST 2013
emerge --info sys-apps/systemd
Portage 2.1.12.2 (default/linux/hppa/13.0, gcc-4.6.3, glibc-2.17, 3.10.7-gentoo-JeR parisc64)
=================================================================
                        System Settings
=================================================================
System uname: Linux-3.10.7-gentoo-JeR-parisc64-PA8800_-Mako-with-gentoo-2.2
KiB Mem:     2049800 total,    275776 free
KiB Swap:    2101676 total,   2101676 free
Timestamp of tree: Fri, 23 Aug 2013 03:15:01 +0000
ld GNU ld (GNU Binutils) 2.23.1
distcc 3.1 hppa2.0-unknown-linux-gnu [enabled]
ccache version 3.1.9 [disabled]
app-shells/bash:          4.2_p45
dev-lang/python:          2.5.4-r6, 2.6.8-r3, 2.7.5-r2, 3.1.5-r1, 3.2.5-r2, 3.3.2-r2
dev-util/ccache:          3.1.9
dev-util/cmake:           2.8.11.1
sys-apps/baselayout:      2.2
sys-apps/openrc:          0.12
sys-apps/sandbox:         2.6-r1
sys-devel/autoconf:       2.13, 2.69
sys-devel/automake:       1.9.6-r3, 1.11.6, 1.12.6
sys-devel/binutils:       2.22-r1, 2.23.1
sys-devel/gcc:            4.6.3, 4.7.2-r1, 4.7.3
sys-devel/gcc-config:     1.7.3
sys-devel/libtool:        2.4-r1
sys-devel/make:           3.82-r4
sys-kernel/linux-headers: 3.7 (virtual/os-headers)
sys-libs/glibc:           2.17
Repositories: gentoo JeR
ACCEPT_KEYWORDS="hppa"
ACCEPT_LICENSE="*"
CBUILD="hppa2.0-unknown-linux-gnu"
CFLAGS="-mschedule=8000 -march=2.0 -ggdb -pipe -Wall -O2 -Wno-comment"
CHOST="hppa2.0-unknown-linux-gnu"
CONFIG_PROTECT="/etc /usr/lib/distcc/bin /usr/lib/python2.5/site-packages/buildbot/status/web /usr/lib/python2.6/site-packages/buildbot/status/web /usr/lib/python2.7/site-packages/buildbot/status/web /usr/share/easy-rsa /usr/share/gnupg/qualified.txt /var/bind /var/www/localhost/htdocs/wordpress/wp-config.php"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php5.3/ext-active/ /etc/php/apache2-php5.4/ext-active/ /etc/php/apache2-php5.5/ext-active/ /etc/php/cgi-php5.3/ext-active/ /etc/php/cgi-php5.4/ext-active/ /etc/php/cgi-php5.5/ext-active/ /etc/php/cli-php5.3/ext-active/ /etc/php/cli-php5.4/ext-active/ /etc/php/cli-php5.5/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c"
CXXFLAGS="-mschedule=8000 -march=2.0 -ggdb -pipe -Wall -O2"
DISTDIR="/world/distfiles"
EMERGE_DEFAULT_OPTS="--quiet-build=n"
FCFLAGS=""
FEATURES="assume-digests binpkg-logs buildpkg config-protect-if-modified distcc distlocks ebuild-locks fixlafiles merge-sync metadata-transfer news notitles parallel-fetch preserve-libs protect-owned sandbox sfperms splitdebug strict test test-fail-continue unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox xattr"
FFLAGS="-mschedule=8000 -march=2.0 -ggdb -pipe -Wall -O2"
GENTOO_MIRRORS="ftp://ftp.snt.utwente.nl/gentoo ftp://gentoo.imj.fr/pub/gentoo/ ftp://mirror.netcologne.de/gentoo/ ftp://mirror.netcologne.de/gentoo/ ftp://91.121.124.139/gentoo-distfiles/"
LANG="en_GB.utf8"
LC_ALL="en_GB.UTF-8"
LDFLAGS="-Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed"
MAKEOPTS="-j6"
PKGDIR="/keeps/gentoo/packages/karsten"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/world/gentoo/portage"
PORTDIR_OVERLAY="/keeps/gentoo/local"
SYNC="rsync://rsync.nl.gentoo.org/gentoo-portage"
USE="256-color X acl alsa amr apng bash-completion bfio bzip2 canberra cli coverage cracklib crypt cups custom-cflags cxx dirac directfb dri exif expat fbcon filecaps firefox firmware foomaticdb fortran frontend-optional gdbm geoip glep gpm graphite gsm gstreamer gtk gudev hppa hwdb iconv idn imlib ipv6 jpeg kmod ladspa launch-frontend libcaca libcanberra libevent libwww lua lzma lzo mad mng mod modplug modules mp3 mudflap multislot multitarget ncurses netlink nls nptl offensive opengl openmp openrc oss pam pcre php pkcs11 png pnm python qt quvi readline regression-test rtmp samba schroedinger session smi speex spell sqlite ssl tcl tcpd test tga theora threads tk truetype unicode v4l vim-syntax vorbis vpx wcwidth x264 xattr xcb xft xml2 xvfb xvid zlib" ALSA_CARDS="ad1889 usb-audio" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="kexi words flow plan sheets stage tables krita karbon braindump author" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CURL_SSL="nss" DRACUT_MODULES="nfs syslog" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ubx" INPUT_DEVICES="evdev joystick keyboard mouse acecad aiptek calcomp citron digitaledge dmc dynapro elo2300 elographics fpit hyperpen jamstudio magellan microtouch mutouch palmax penmount spaceorb summa tek4957 tslib ur98 void" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LINGUAS="en nl he" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-3" PYTHON_SINGLE_TARGET="python2_7" PYTHON_TARGETS="python2_6 python2_7 python3_2" RUBY_TARGETS="ruby18 ruby19 ruby20" USERLAND="GNU" VIDEO_CARDS="stifb dummy" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account"
USE_PYTHON="2.5 2.6 2.7 3.1 3.2"
Unset:  CPPFLAGS, CTARGET, INSTALL_MASK, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS

=================================================================
                        Package Settings
=================================================================

sys-apps/systemd-206-r3 was built with the following:
USE="acl filecaps firmware-loader gudev kmod lzma openrc python tcpd test xattr -audit -cryptsetup -doc -gcrypt -http -introspection -pam (-policykit) -qrcode (-selinux) -vanilla" PYTHON_SINGLE_TARGET="python2_7" PYTHON_TARGETS="python2_7"
Comment 1 Jeroen Roovers (RETIRED) gentoo-dev 2013-08-23 14:53:30 UTC
I'm pretty sure the problem arises in src/core/manager.c:411

#include <stdio.h>
#include <signal.h>

int main( int argc,char * argv )
{
        printf("%d\n", SIGRTMIN);
}

 # ./SIGRTMIN
39

systemd is adding SIGRTMIN+29 (which is well over SIGRTMAX) and isn't checking that properly[1].


[1] signal(7): "include suitable (run-time) checks that SIGRT‐MIN+n does not
    exceed SIGRTMAX"
Comment 2 Jeroen Roovers (RETIRED) gentoo-dev 2013-08-24 16:36:06 UTC
On PARISC, we have:

#define SIGXCPU         33
#define SIGXFSZ         34
#define SIGSTKFLT       36

and it has been like this since the initial Linux port, it seems. I can't find historical information on this choice.

37 is the first available real-time signal, to which glibc adds another 2 for NPTL, so 39 is the first available signal.

This would not be so unfortunate if the systemd design and implementation didn't leave cosmetic holes in its use of these signals. systemd could compact the range it uses and easily fit the twenty odd signals in the space the PARISC kernel and libc provide. I don't however see it as likely that systemd upstream will change this.
Comment 3 Pacho Ramos gentoo-dev 2013-08-24 19:29:38 UTC
Could you try reporting to upstream then? -> bugzilla.freedesktop.org
Comment 4 Jeroen Roovers (RETIRED) gentoo-dev 2013-08-29 14:33:34 UTC
(In reply to Pacho Ramos from comment #3)
> Could you try reporting to upstream then? -> bugzilla.freedesktop.org

As I explained in comment #2, I expect systemd upstream to be very much uncooperative on this point, so I am trying to go the other route first, which is to perhaps "fix" the PARISC signals in the kernel and userland (over time) to be more in line with other architectures.

Fixing the dotted range of signals that were apparently cherry-picked for systemd's design would probably hurt someone's pride along the way and seems to be the more inconvenient path to a proper solution.
Comment 5 Jeroen Roovers (RETIRED) gentoo-dev 2013-11-25 20:42:39 UTC
URL points to the upstream change that first started skipping numbers.
Comment 6 Jeroen Roovers (RETIRED) gentoo-dev 2014-01-01 20:42:14 UTC
Created attachment 366710 [details, diff]
208-0003-sigrtmin.patch
Comment 7 Jeroen Roovers (RETIRED) gentoo-dev 2014-01-01 20:46:17 UTC
Created attachment 366712 [details, diff]
systemd-208-sigrtmin.patch

Whitespace.
Comment 8 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2014-10-30 08:57:32 UTC
This should be fixed in systemd-217. @hppa, could you test and keyword systemd if necessary? You'll also need to keyword libxkbcommon or p.u.mask USE=terminal [bug #527416] :).
Comment 9 Jeroen Roovers (RETIRED) gentoo-dev 2014-10-30 11:11:08 UTC
The "fix" seems to be to just chop off SIGRTMIN+[>=26]. [1]
The commit painfully adds placeholders for the gaps in the range left earlier. I guess that counts as documentation, right?

Also, this test is bogus:

#if !defined(__hppa64__)

There is no 64-bit HPPA userland.

But I'll give it a try.



[1] http://cgit.freedesktop.org/systemd/systemd/commit/?id=4dffec1459f50ac9f8f67ccfcb79836b4ed5a50e
Comment 10 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2014-10-30 11:22:22 UTC
(In reply to Jeroen Roovers from comment #9)
> The "fix" seems to be to just chop off SIGRTMIN+[>=26]. [1]
> The commit painfully adds placeholders for the gaps in the range left
> earlier. I guess that counts as documentation, right?

Well, they're some minor emergency resources for sysadmin. The gaps are left reserved for more important emergency functions :).

> Also, this test is bogus:
> 
> #if !defined(__hppa64__)
> 
> There is no 64-bit HPPA userland.

I'll let upstream know.
Comment 11 Jeroen Roovers (RETIRED) gentoo-dev 2014-10-30 19:05:51 UTC
(In reply to Michał Górny from comment #10)
> (In reply to Jeroen Roovers from comment #9)
> > The "fix" seems to be to just chop off SIGRTMIN+[>=26]. [1]
> > The commit painfully adds placeholders for the gaps in the range left
> > earlier. I guess that counts as documentation, right?
> 
> Well, they're some minor emergency resources for sysadmin. The gaps are left
> reserved for more important emergency functions :).
> 
> > Also, this test is bogus:
> > 
> > #if !defined(__hppa64__)
> > 
> > There is no 64-bit HPPA userland.
> 
> I'll let upstream know.

systemd upstream should perhaps read[1] and [2]

[1] http://permalink.gmane.org/gmane.linux.ports.parisc/6174
[2] http://permalink.gmane.org/gmane.linux.ports.parisc/6172

and revert those laughable changes.
Comment 12 Mike Gilbert gentoo-dev 2014-10-30 19:28:58 UTC
(In reply to Jeroen Roovers from comment #11)

What's with the attitude here? We are trying to help, and systemd upstream had no objection to committing that simple stopgap fix. I'm sure they will have no objection to reverting it; it's just a communication issue.
Comment 13 Jeroen Roovers (RETIRED) gentoo-dev 2014-10-30 19:32:55 UTC
What is that communication issue you speak of?
Comment 14 Mike Gilbert gentoo-dev 2014-10-30 19:41:49 UTC
(In reply to Jeroen Roovers from comment #13)
> What is that communication issue you speak of?

I guess that we had no idea the kernel changes were coming; this bug hasn't been updated for several months.

Apologies for not copying you on the upstream systemd bug report.
Comment 15 Jeroen Roovers (RETIRED) gentoo-dev 2014-10-30 20:33:07 UTC
(In reply to Mike Gilbert from comment #14)
> (In reply to Jeroen Roovers from comment #13)
> > What is that communication issue you speak of?
> 
> I guess that we had no idea the kernel changes were coming; this bug hasn't
> been updated for several months.

Debian support for HPPA has been gaining traction and has a buildd[1] running so that inevitably runs into GNOME/systemd problems.

Fixing systemd's quirks on HPPA will involve both kernel and glibc changes, which requires users to upgrade them somewhat concurrently.


[1] http://buildd.debian-ports.org/stats/
Comment 16 Mike Gilbert gentoo-dev 2018-02-26 14:52:35 UTC
The issue originally reported has been fixed/worked around, and we haven't gotten any updates on glibc/kernel changes.