Discussion:
[systemd-devel] [ANNOUNCE] systemd 199
Lennart Poettering
2013-03-26 16:12:22 UTC
Permalink
Heya,

Many bugfixes but a few new features, too.

http://www.freedesktop.org/software/systemd/systemd-199.tar.xz

(Note that the git tag is still missing in the repo. Currently there's
something wrong with the git tag verifier in the repo on fdo, so I can't
push this... I will push the tag as soon as that is fixed. v199 is
commit efc0ac6af6a105e38d1b0a37d8d5d016c76713cc)

CHANGES WITH 199:

* systemd-python gained an API exposing libsystemd-daemon.

* The SMACK setup logic gained support for uploading CIPSO
security policy.

* Behaviour of PrivateTmp=, ReadWriteDirectories=,
ReadOnlyDirectories= and InaccessibleDirectories= has
changed. The private /tmp and /var/tmp directories are now
shared by all processes of a service (which means
ExecStartPre= may now leave data in /tmp that ExecStart= of
the same service can still access). When a service is
stopped its temporary directories are immediately deleted
(normal clean-up with tmpfiles is still done in addition to
this though).

* By default, systemd will now set a couple of sysctl
variables in the kernel: the safe sysrq options are turned
on, IP route verification is turned on, and source routing
disabled. The recently added hardlink and softlink
protection of the kernel is turned on. These settings should
be reasonably safe, and good defaults for all new systems.

* The predictable network naming logic may now be turned off
with a new kernel command line switch: net.ifnames=0.

* A new libsystemd-bus module has been added that implements a
pretty complete D-Bus client library. For details see:

http://lists.freedesktop.org/archives/systemd-devel/2013-March/009797.html

* journald will now explicitly flush the journal files to disk
at the latest 5min after each write. The file will then also
be marked offline until the next write. This should increase
reliability in case of a crash. The synchronization delay
can be configured via SyncIntervalSec= in journald.conf.

* There's a new remote-fs-setup.target unit that can be used
to pull in specific services when at least one remote file
system is to be mounted.

* There are new targets timers.target and paths.target as
canonical targets to pull user timer and path units in
from. This complements sockets.target with a similar
purpose for socket units.

* libudev gained a new call udev_device_set_attribute_value()
to set sysfs attributes of a device.

* The udev daemon now sets the default number of worker
processes executed in parallel based on the number of available
CPUs instead of the amount of available RAM. This is supposed
to provide a more reliable default and limit a too agressive
paralellism for setups with 1000s of devices connected.

Contributions from: Auke Kok, Colin Walters, Cristian
Rodríguez, Daniel Buch, Dave Reisner, Frederic Crozat, Hannes
Reinecke, Harald Hoyer, Jan Alexander Steffens, Jan
Engelhardt, Josh Triplett, Kay Sievers, Lennart Poettering,
Mantas Mikulėnas, Martin Pitt, Mathieu Bridon, Michael Biebl,
Michal Schmidt, Michal Sekletar, Miklos Vajna, Nathaniel Chen,
Oleksii Shevchuk, Ozan Çağlayan, Thomas Hindoe Paaboel
Andersen, Tollef Fog Heen, Tom Gundersen, Umut Tezduyar,
Zbigniew Jędrzejewski-Szmek

Lennart
--
Lennart Poettering - Red Hat, Inc.
Philip Müller
2013-03-26 16:40:59 UTC
Permalink
systemd-199 build just fine on 64bit, but on 32bit it fails during check:

PASS: test-sleep
./build-aux/test-driver: line 95: 18318 Segmentation fault (core dumped)
"$@" > $log_file 2>&1

Full check-log is attached.

Linux manjaro 3.4.37-1-MANJARO #1 SMP PREEMPT Wed Mar 20 22:08:42 CET
2013 i686 GNU/Linux
glibc 2.17-3, gcc 4.7.2-4, make 3.82-5

kind regards

Phil
Post by Lennart Poettering
Heya,
Many bugfixes but a few new features, too.
http://www.freedesktop.org/software/systemd/systemd-199.tar.xz
(Note that the git tag is still missing in the repo. Currently there's
something wrong with the git tag verifier in the repo on fdo, so I can't
push this... I will push the tag as soon as that is fixed. v199 is
commit efc0ac6af6a105e38d1b0a37d8d5d016c76713cc)
Philip Müller
2013-03-26 17:00:42 UTC
Permalink
Attached the bus-marshal.log, if it helps.

Phil
Shawn
2013-03-26 17:06:34 UTC
Permalink
you could get a backtrace in gdb
Post by Philip Müller
Attached the bus-marshal.log, if it helps.
Phil
_______________________________________________
systemd-devel mailing list
http://lists.freedesktop.org/mailman/listinfo/systemd-devel
--
---
Shawn Landden
+1 360 389 3001 (SMS preferred)
Lennart Poettering
2013-03-26 17:32:38 UTC
Permalink
Post by Shawn
you could get a backtrace in gdb
Yes, please provide a backtrace for this!

Lennart
--
Lennart Poettering - Red Hat, Inc.
William Giokas
2013-03-26 18:10:13 UTC
Permalink
Post by Lennart Poettering
Post by Shawn
you could get a backtrace in gdb
Yes, please provide a backtrace for this!
I just ran a git bisect on this issue, and it's been happening on my
system since v198, though I hadn't really run make check at all.

# bad: [ab17a050b778412b11c82f4fa974be9c491ead36] core: if we cannot JOB_ISOLATE the default target JOB_REPLACE it instead
# good: [dee4c244254bb49d1ffa8bd7171ae9cce596d2d0] build-sys: fix spelling of sysvrcndir
git bisect start 'v198' 'v197'
# bad: [2a2473d89e02ccd923abc6e74cddd07798679a15] boot: add stub Makefile symlink
git bisect bad 2a2473d89e02ccd923abc6e74cddd07798679a15
# good: [c3e31c7ba1d29c9b967035a6d697820114e1c087] Replace autoconf int max test with simple define
git bisect good c3e31c7ba1d29c9b967035a6d697820114e1c087
# bad: [682cfdff697707dbe29c9c1907a7c8c452ffb397] test-strv.c: test strv_join added
git bisect bad 682cfdff697707dbe29c9c1907a7c8c452ffb397
# good: [ccc9a4f9ffdab069b0b785627c48962fdadf6d46] man: extend systemd.directives(7) to all manual pages
git bisect good ccc9a4f9ffdab069b0b785627c48962fdadf6d46
# good: [d9e5e694ea7841045975426163c96fc9f71e6f7d] install: automatic cleanup using local cleanup functions
git bisect good d9e5e694ea7841045975426163c96fc9f71e6f7d
# skip: [38936e3cfaa9c813fe778448de49996429687ad5] build-sys: inline two definitions which were only used in one place
git bisect skip 38936e3cfaa9c813fe778448de49996429687ad5
# bad: [2a4b7e7bf2465112415907eef238c786ea145b06] build-sys: fix empty lines
git bisect bad 2a4b7e7bf2465112415907eef238c786ea145b06
# skip: [652e737517bbbae692923246aeb687e2d1f314ef] build-sys: keep intermediate files
git bisect skip 652e737517bbbae692923246aeb687e2d1f314ef
# bad: [4584651afd7c1ddb30a2bd16a08088969e4bccff] build-sys: add intermediate files to CLEANFILES to fix distcheck
git bisect bad 4584651afd7c1ddb30a2bd16a08088969e4bccff
# bad: [1682ff60114b7a57972a03aa99f9864064593f72] tests: add test for unit name printing
git bisect bad 1682ff60114b7a57972a03aa99f9864064593f72
# good: [3f0b2f0f452e94444e4fb7b62030ea05738bb1b6] install: allow %u an and %U specifiers in WantedBy/RequiredBy/Alias
git bisect good 3f0b2f0f452e94444e4fb7b62030ea05738bb1b6
# good: [3251c0d2392062b2b8354793a2037d1161f824ee] tests: compress unit name tests and add more asserts
git bisect good 3251c0d2392062b2b8354793a2037d1161f824ee

It ened by blaming this commit:

[2a2473d89e02ccd923abc6e74cddd07798679a15] boot: add stub Makefile symlink
1682ff60114b7a57972a03aa99f9864064593f72 is the first bad commit
commit 1682ff60114b7a57972a03aa99f9864064593f72
Author: Zbigniew Jędrzejewski-Szmek <***@in.waw.pl>
Date: Tue Jan 29 15:25:36 2013 -0500

tests: add test for unit name printing

:100644 100644 c44ca0b76d53f8151e669ec4f8fa8dbf385ecba5 f0149310330408ced1e5e212bc5ef3684e3395da M Makefile.am
:040000 040000 389f403c2b93728e572bbc45f52803d5ed50225f 8d6a4318a1637cf7cc2f19605ca54f669891eef7 M src

Thanks,
--
William Giokas | KaiSforza
GnuPG Key: 0x73CD09CF
Fingerprint: F73F 50EF BBE2 9846 8306 E6B8 6902 06D8 73CD 09CF
Philip Müller
2013-03-26 22:11:26 UTC
Permalink
Hi,

I just tried to revert Zbigniew's patches and build it again. Still got
the same error message:

2013-02-07 tests: skip tests if manager cannot be created
<http://cgit.freedesktop.org/systemd/systemd/commit/src/test/test-unit-name.c?id=c5e33bf8342daa6bab22f495ef774741184de09d>
Zbigniew Je;drzejewski-Szmek 1 -2/+8
2013-02-06 tests: run manager in session mode
<http://cgit.freedesktop.org/systemd/systemd/commit/src/test/test-unit-name.c?id=fa3cd7394c227ad38c5c09b2bc2d035e7fb14a76>
Zbigniew Je;drzejewski-Szmek 1 -4/+8
2013-01-30 tests: add test for unit name printing
<http://cgit.freedesktop.org/systemd/systemd/commit/src/test/test-unit-name.c?id=1682ff60114b7a57972a03aa99f9864064593f72>
Zbigniew Je;drzejewski-Szmek 1 -2/+90


On my x86_64 architecture using the same packages it builds just fine. I
ran now gdb and created a backtrace.

Hope this helps.

Phil
Post by William Giokas
[2a2473d89e02ccd923abc6e74cddd07798679a15] boot: add stub Makefile symlink
1682ff60114b7a57972a03aa99f9864064593f72 is the first bad commit
commit 1682ff60114b7a57972a03aa99f9864064593f72
Date: Tue Jan 29 15:25:36 2013 -0500
tests: add test for unit name printing
:100644 100644 c44ca0b76d53f8151e669ec4f8fa8dbf385ecba5 f0149310330408ced1e5e212bc5ef3684e3395da M Makefile.am
:040000 040000 389f403c2b93728e572bbc45f52803d5ed50225f 8d6a4318a1637cf7cc2f19605ca54f669891eef7 M src
Kok, Auke-jan H
2013-03-26 19:35:46 UTC
Permalink
On Tue, Mar 26, 2013 at 10:32 AM, Lennart Poettering
Post by Lennart Poettering
Post by Shawn
you could get a backtrace in gdb
Yes, please provide a backtrace for this!
that's a helluva hard thing to do with systemd-coredump somehow not
working on my box. I ended up redirecting coredumps to a file manually
and got:
#0 0xb77c4424 in __kernel_vsyscall ()
(gdb) bt full
#0 0xb77c4424 in __kernel_vsyscall ()
No symbol table info available.
#1 0xb75a03af in raise () from /usr/lib/libc.so.6
No symbol table info available.
#2 0xb75a1c75 in abort () from /usr/lib/libc.so.6
No symbol table info available.
#3 0x080b3d4b in log_assert (text=<optimized out>, file=0x80c6023
"src/test/test-unit-name.c", line=131,
func=0x80e1858 "test_unit_printf", format=0x8110360 "Assertion
'%s' failed at %s:%u, function %s(). Aborting.")
at src/shared/log.c:714
buffer = "Assertion 'r == 0' failed at
src/test/test-unit-name.c:131, function test_unit_printf().
Aborting.", '\000' <repeats 1949 times>
#4 0x080b4455 in log_assert_failed (text=0x80c61e3 "r == 0",
file=0x80c6023 "src/test/test-unit-name.c", line=131,
func=0x80e1858 "test_unit_printf") at src/shared/log.c:719
No locals.
#5 0x08050699 in test_unit_printf () at src/test/test-unit-name.c:131
m = <optimized out>
mid = 0x8135008 "7a3e74c61421e7d582e9c25e00000016"
root = 0xb76dcca8
u = <optimized out>
u2 = <optimized out>
r = <optimized out>
bid = 0x8135030 "1ab28824da47480c85252d8ce90b5d1e"
host = 0x8135058 "hannah"
root_uid = <optimized out>
#6 main (argc=1, argv=0xbfdce064) at src/test/test-unit-name.c:196
No locals.
Reading symbols from /home/sofar/git/systemd/.libs/lt-test-unit-name...done.

warning: core file may not match specified executable file.
[New LWP 20476]
Core was generated by `/home/sofar/git/systemd/.libs/lt-test-sched-prio'.
Program terminated with signal 6, Aborted.
#0 0xb777e424 in __kernel_vsyscall ()
(gdb) bt full
#0 0xb777e424 in __kernel_vsyscall ()
No symbol table info available.
#1 0xb755a3af in ?? ()
No symbol table info available.
#2 0xb7694ff4 in ?? ()
No symbol table info available.
Backtrace stopped: previous frame inner to this frame (corrupt stack?)
Reading symbols from /home/sofar/git/systemd/.libs/lt-test-unit-name...done.

warning: core file may not match specified executable file.
[New LWP 20532]
Core was generated by `./test-bus-marshal'.
Program terminated with signal 6, Aborted.
#0 0xb76fa424 in __kernel_vsyscall ()
(gdb) bt full
#0 0xb76fa424 in __kernel_vsyscall ()
No symbol table info available.
#1 0xb72383af in ?? ()
No symbol table info available.
#2 0xb7372ff4 in ?? ()
No symbol table info available.
Backtrace stopped: previous frame inner to this frame (corrupt stack?)
William Giokas
2013-03-27 05:07:06 UTC
Permalink
Post by Philip Müller
PASS: test-sleep
./build-aux/test-driver: line 95: 18318 Segmentation fault (core
Fixed as of 49e5de64e22ea4794092b91393545ab08e658e0a for me.
--
William Giokas | KaiSforza
GnuPG Key: 0x73CD09CF
Fingerprint: F73F 50EF BBE2 9846 8306 E6B8 6902 06D8 73CD 09CF
Philip Müller
2013-03-27 11:01:41 UTC
Permalink
Here on this machine it still fails. It can also be an issue with this
installation.
I created a tarball out of git with followed commit as last one:

590888a0d0cb813714fa2a521e2ca711f75862fb
<http://cgit.freedesktop.org/systemd/systemd/commit/?id=590888a0d0cb813714fa2a521e2ca711f75862fb>

Still the same result:

PASS: test-bus-signature
./build-aux/test-driver: Zeile 95: 20079 Speicherzugriffsfehler
(Speicherabzug geschrieben) "$@" > $log_file 2>&1
FAIL: test-bus-marshal

Will test it on a different machine now.
Post by William Giokas
Post by Philip Müller
PASS: test-sleep
./build-aux/test-driver: line 95: 18318 Segmentation fault (core
Fixed as of 49e5de64e22ea4794092b91393545ab08e658e0a for me.
_______________________________________________
systemd-devel mailing list
http://lists.freedesktop.org/mailman/listinfo/systemd-devel
Zbigniew Jędrzejewski-Szmek
2013-03-27 14:31:29 UTC
Permalink
Post by Philip Müller
Here on this machine it still fails. It can also be an issue with
this installation.
590888a0d0cb813714fa2a521e2ca711f75862fb <http://cgit.freedesktop.org/systemd/systemd/commit/?id=590888a0d0cb813714fa2a521e2ca711f75862fb>
PASS: test-bus-signature
./build-aux/test-driver: Zeile 95: 20079 Speicherzugriffsfehler
FAIL: test-bus-marshal
Will test it on a different machine now.
Hi guys,

those are two or three different issues that you're seeing. The new
bus* stuff couldn't have caused failures in systemd-198, because it
wasn't there. I added SKIP to test-bus-chat (it fails unless
$DBUS_SESSION_BUS_ADDRESS is set, which often isn't.

test-unit-name might have been caused by %s problem, and if so, should
be fixed now.

test-bus-marshall is different, it looks like a real bug. You
can just run the test with
./test-bus-marshall
and it should give the same result as through the test harness.

When if fails, please compile with -g, and (a) if an assertion fails,
just post the full output from running the test program directly,
(b) a segafault happens, then run it under gdb. It is also
a good idea to run the failing test under valgrind.

One hurdle for running under valgrind or gdb is that when the
test programs are linked against shared systemd libraries, one
has to say something like:
LD_LIBRARY_PATH=build/.libs valgrind --track-origins=yes build/.libs/test-unit-file

Zbyszek
Philip Müller
2013-03-27 15:13:43 UTC
Permalink
I hope this helps you ...
Post by Zbigniew Jędrzejewski-Szmek
Post by Philip Müller
Here on this machine it still fails. It can also be an issue with
this installation.
590888a0d0cb813714fa2a521e2ca711f75862fb <http://cgit.freedesktop.org/systemd/systemd/commit/?id=590888a0d0cb813714fa2a521e2ca711f75862fb>
PASS: test-bus-signature
./build-aux/test-driver: Zeile 95: 20079 Speicherzugriffsfehler
FAIL: test-bus-marshal
Will test it on a different machine now.
Hi guys,
those are two or three different issues that you're seeing. The new
bus* stuff couldn't have caused failures in systemd-198, because it
wasn't there. I added SKIP to test-bus-chat (it fails unless
$DBUS_SESSION_BUS_ADDRESS is set, which often isn't.
test-unit-name might have been caused by %s problem, and if so, should
be fixed now.
test-bus-marshall is different, it looks like a real bug. You
can just run the test with
./test-bus-marshall
and it should give the same result as through the test harness.
When if fails, please compile with -g, and (a) if an assertion fails,
just post the full output from running the test program directly,
(b) a segafault happens, then run it under gdb. It is also
a good idea to run the failing test under valgrind.
One hurdle for running under valgrind or gdb is that when the
test programs are linked against shared systemd libraries, one
LD_LIBRARY_PATH=build/.libs valgrind --track-origins=yes build/.libs/test-unit-file
Zbyszek
Loading...