[systemd-devel] [ANNOUNCE] systemd 199

Philip Müller philm at manjaro.org
Wed Mar 27 08:13:43 PDT 2013


I hope this helps you ...

Am 27.03.2013 15:31, schrieb Zbigniew Jędrzejewski-Szmek:
> On Wed, Mar 27, 2013 at 12:01:41PM +0100, Philip Müller wrote:
>> 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.
> 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

-------------- next part --------------
#########################################################################
# ARCHITECTURE, COMPILE FLAGS
#########################################################################
#
CARCH="i686"
CHOST="i686-pc-linux-gnu"

#-- Compiler and Linker Flags
# -march (or -mcpu) builds exclusively for an architecture
# -mtune optimizes for an architecture, but builds for whole processor family
CFLAGS="-g -march=i686 -mtune=generic -O2 -pipe -fstack-protector --param=ssp-buffer-size=4 -D_FORTIFY_SOURCE=2"
CXXFLAGS="-g -march=i686 -mtune=generic -O2 -pipe -fstack-protector --param=ssp-buffer-size=4 -D_FORTIFY_SOURCE=2"
LDFLAGS="-Wl,-O1,--sort-common,--as-needed,-z,relro"
#-- Make Flags: change this for DistCC/SMP systems
MAKEFLAGS="-j5"


==> Starting check()...
make: Entering directory `/home/phil/dev/git/basis/systemd/src/systemd-199'
make --no-print-directory check-recursive
Making check in .
make --no-print-directory  test/sys
  GEN      test/sys
make --no-print-directory check-TESTS
PASS: test-env-replace
PASS: test/udev-test.pl
PASS: test-strbuf
PASS: test-strv
PASS: test-strxcpyx
PASS: test/rules-test.sh
PASS: test-util
PASS: test-job-type
PASS: test-date
PASS: test-replace-var
PASS: test-unit-name
PASS: test-unit-file
PASS: test-sleep
PASS: test-calendarspec
PASS: test-strip-tab-ansi
PASS: test-cgroup-util
PASS: src/udev/keymap/check-keymaps.sh
./build-aux/test-driver: line 95: 22422 Segmentation fault      (core dumped) "$@" > $log_file 2>&1
FAIL: test-bus-marshal
PASS: test-bus-signature
PASS: test-id128
PASS: test-prioq
PASS: test-journal
PASS: test-sched-prio
PASS: test-journal-syslog
PASS: test-journal-match
PASS: test-journal-stream
PASS: test-mmap-cache
PASS: test-journal-verify
PASS: test-bus-chat
PASS: test-journal-send
make --no-print-directory all-recursive
Making all in .
Making all in po
make[7]: Nothing to be done for `all'.
============================================================================
Testsuite summary for systemd 199
============================================================================
# TOTAL: 30
# PASS:  29
# SKIP:  0
# XFAIL: 0
# FAIL:  1
# XPASS: 0
# ERROR: 0
============================================================================
See ./test-suite.log
Please report to http://bugs.freedesktop.org/enter_bug.cgi?product=systemd
============================================================================
make[4]: *** [test-suite.log] Error 1
make[4]: *** Deleting file `test-suite.log'
make[3]: *** [check-TESTS] Error 2
make[2]: *** [check-am] Error 2
make[1]: *** [check-recursive] Error 1
make: *** [check] Error 2
make: Leaving directory `/home/phil/dev/git/basis/systemd/src/systemd-199'
==> ERROR: A failure occurred in check().
    Aborting...


[phil at manjaro systemd-199]$ ./test-bus-marshal
Message 0x9963008
	n_ref=1
	endian=l
	type=1
	flags=0
	version=1
	serial=4711
	fields_size=106
	body_size=234
	path=/
	interface=foobar.waldo
	member=Piep
	destination=foobar.waldo
	sender=n/a
	signature=sassassa{yv}ba(ss)as
	reply_serial=0
	error.name=n/a
	error.message=n/a
	sealed=yes
BEGIN_MESSAGE "sassassa{yv}ba(ss)as" {
	STRING: "a string"
	BEGIN_ARRAY "s" {
		STRING: "string #1"
		STRING: "string #1"
	} END_ARRAY 
	STRING: "foobar"
	BEGIN_ARRAY "s" {
		STRING: "foo"
		STRING: "foo"
		STRING: "foo"
		STRING: "foo"
		STRING: "foo"
	} END_ARRAY 
	STRING: "foo"
	BEGIN_ARRAY "{yv}" {
		BEGIN_DICT_ENTRY "yv" {
			BYTE: 3
			BEGIN_VARIANT "s" {
				STRING: "foo"
			} END_VARIANT
		} END_DICT_ENTRY
		BEGIN_DICT_ENTRY "yv" {
			BYTE: 3
			BEGIN_VARIANT "s" {
				STRING: "foo"
			} END_VARIANT
		} END_DICT_ENTRY
	} END_ARRAY 
	BOOLEAN: yes
	BEGIN_ARRAY "(ss)" {
		BEGIN_STRUCT "ss" {
			STRING: "aaa"
			STRING: "1"
		} END_STRUCT
		BEGIN_STRUCT "ss" {
			STRING: "aaa"
			STRING: "1"
		} END_STRUCT
		BEGIN_STRUCT "ss" {
			STRING: "aaa"
			STRING: "1"
		} END_STRUCT
	} END_ARRAY 
	BEGIN_ARRAY "s" {
		STRING: "foobar"
		STRING: "waldo"
	} END_ARRAY 
} END_MESSAGE
message size = 362, contents =
6c010001ea000000671200006a00000001016f00010000002f0000000000000003017300040000005069657000000000020173000c000000666f6f6261722e77616c646f00000000060173000c000000666f6f6261722e77616c646f00000000080167001473617373617373617b79767d626128737329617300000000000000080000006120737472696e67000000001e00000009000000737472696e6720233100000009000000737472696e6720233100000006000000666f6f62617200002800000003000000666f6f0003000000666f6f0003000000666f6f0003000000666f6f0003000000666f6f0003000000666f6f001c0000000301730003000000666f6f00000000000301730003000000666f6f00010000002e000000000000000300000061616100010000003100000003000000616161000100000031000000030000006161610001000000310000001600000006000000666f6f62617200000500000077616c646f00
Type:    method-call
Flags:   none
Version: 0
Serial:  4711
Headers:
  path -> objectpath '/'
  interface -> 'foobar.waldo'
  member -> 'Piep'
  destination -> 'foobar.waldo'
  signature -> signature 'sassassa{yv}ba(ss)as'
Body: ('a string', ['string #1', 'string #1'], 'foobar', ['foo', 'foo', 'foo', 'foo', 'foo'], 'foo', {byte 0x03: <'foo'>, 0x03: <'foo'>}, true, [('aaa', '1'), ('aaa', '1'), ('aaa', '1')], ['foobar', 'waldo'])
UNIX File Descriptors:
  (none)
Message 0x9963008
	n_ref=1
	endian=l
	type=1
	flags=0
	version=1
	serial=4711
	fields_size=106
	body_size=234
	path=/
	interface=foobar.waldo
	member=Piep
	destination=foobar.waldo
	sender=n/a
	signature=sassassa{yv}ba(ss)as
	reply_serial=0
	error.name=n/a
	error.message=n/a
	sealed=yes
BEGIN_MESSAGE "sassassa{yv}ba(ss)as" {
	STRING: "a string"
	BEGIN_ARRAY "s" {
		STRING: "string #1"
		STRING: "string #1"
	} END_ARRAY 
	STRING: "foobar"
	BEGIN_ARRAY "s" {
		STRING: "foo"
		STRING: "foo"
		STRING: "foo"
		STRING: "foo"
		STRING: "foo"
	} END_ARRAY 
	STRING: "foo"
	BEGIN_ARRAY "{yv}" {
		BEGIN_DICT_ENTRY "yv" {
			BYTE: 3
			BEGIN_VARIANT "s" {
				STRING: "foo"
			} END_VARIANT
		} END_DICT_ENTRY
		BEGIN_DICT_ENTRY "yv" {
			BYTE: 3
			BEGIN_VARIANT "s" {
				STRING: "foo"
			} END_VARIANT
		} END_DICT_ENTRY
	} END_ARRAY 
	BOOLEAN: yes
	BEGIN_ARRAY "(ss)" {
		BEGIN_STRUCT "ss" {
			STRING: "aaa"
			STRING: "1"
		} END_STRUCT
		BEGIN_STRUCT "ss" {
			STRING: "aaa"
			STRING: "1"
		} END_STRUCT
		BEGIN_STRUCT "ss" {
			STRING: "aaa"
			STRING: "1"
		} END_STRUCT
	} END_ARRAY 
	BEGIN_ARRAY "s" {
		STRING: "foobar"
		STRING: "waldo"
	} END_ARRAY 
} END_MESSAGE
Segmentation fault (core dumped)

[phil at manjaro systemd-199]$ gdb test-bus-marshal
GNU gdb (GDB) 7.5.1
Copyright (C) 2012 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "i686-pc-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /home/phil/dev/git/basis/systemd/src/systemd-199/test-bus-marshal...done.
(gdb) run
Starting program: /home/phil/dev/git/basis/systemd/src/systemd-199/test-bus-marshal 
warning: Could not load shared library symbols for linux-gate.so.1.
Do you need "set solib-search-path" or "set sysroot"?
Traceback (most recent call last):
  File "/usr/share/gdb/auto-load/usr/lib/libgobject-2.0.so.0.3400.3-gdb.py", line 9, in <module>
    from gobject import register
  File "/usr/share/glib-2.0/gdb/gobject.py", line 3, in <module>
    import gdb.backtrace
ImportError: No module named backtrace
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/usr/lib/libthread_db.so.1".
Message 0x8056008
	n_ref=1
	endian=l
	type=1
	flags=0
	version=1
	serial=4711
	fields_size=106
	body_size=234
	path=/
	interface=foobar.waldo
	member=Piep
	destination=foobar.waldo
	sender=n/a
	signature=sassassa{yv}ba(ss)as
	reply_serial=0
	error.name=n/a
	error.message=n/a
	sealed=yes
BEGIN_MESSAGE "sassassa{yv}ba(ss)as" {
	STRING: "a string"
	BEGIN_ARRAY "s" {
		STRING: "string #1"
		STRING: "string #1"
	} END_ARRAY 
	STRING: "foobar"
	BEGIN_ARRAY "s" {
		STRING: "foo"
		STRING: "foo"
		STRING: "foo"
		STRING: "foo"
		STRING: "foo"
	} END_ARRAY 
	STRING: "foo"
	BEGIN_ARRAY "{yv}" {
		BEGIN_DICT_ENTRY "yv" {
			BYTE: 3
			BEGIN_VARIANT "s" {
				STRING: "foo"
			} END_VARIANT
		} END_DICT_ENTRY
		BEGIN_DICT_ENTRY "yv" {
			BYTE: 3
			BEGIN_VARIANT "s" {
				STRING: "foo"
			} END_VARIANT
		} END_DICT_ENTRY
	} END_ARRAY 
	BOOLEAN: yes
	BEGIN_ARRAY "(ss)" {
		BEGIN_STRUCT "ss" {
			STRING: "aaa"
			STRING: "1"
		} END_STRUCT
		BEGIN_STRUCT "ss" {
			STRING: "aaa"
			STRING: "1"
		} END_STRUCT
		BEGIN_STRUCT "ss" {
			STRING: "aaa"
			STRING: "1"
		} END_STRUCT
	} END_ARRAY 
	BEGIN_ARRAY "s" {
		STRING: "foobar"
		STRING: "waldo"
	} END_ARRAY 
} END_MESSAGE
message size = 362, contents =
6c010001ea000000671200006a00000001016f00010000002f0000000000000003017300040000005069657000000000020173000c000000666f6f6261722e77616c646f00000000060173000c000000666f6f6261722e77616c646f00000000080167001473617373617373617b79767d626128737329617300000000000000080000006120737472696e67000000001e00000009000000737472696e6720233100000009000000737472696e6720233100000006000000666f6f62617200002800000003000000666f6f0003000000666f6f0003000000666f6f0003000000666f6f0003000000666f6f0003000000666f6f001c0000000301730003000000666f6f00000000000301730003000000666f6f00010000002e000000000000000300000061616100010000003100000003000000616161000100000031000000030000006161610001000000310000001600000006000000666f6f62617200000500000077616c646f00
Type:    method-call
Flags:   none
Version: 0
Serial:  4711
Headers:
  path -> objectpath '/'
  interface -> 'foobar.waldo'
  member -> 'Piep'
  destination -> 'foobar.waldo'
  signature -> signature 'sassassa{yv}ba(ss)as'
Body: ('a string', ['string #1', 'string #1'], 'foobar', ['foo', 'foo', 'foo', 'foo', 'foo'], 'foo', {byte 0x03: <'foo'>, 0x03: <'foo'>}, true, [('aaa', '1'), ('aaa', '1'), ('aaa', '1')], ['foobar', 'waldo'])
UNIX File Descriptors:
  (none)
Message 0x8056008
	n_ref=1
	endian=l
	type=1
	flags=0
	version=1
	serial=4711
	fields_size=106
	body_size=234
	path=/
	interface=foobar.waldo
	member=Piep
	destination=foobar.waldo
	sender=n/a
	signature=sassassa{yv}ba(ss)as
	reply_serial=0
	error.name=n/a
	error.message=n/a
	sealed=yes
BEGIN_MESSAGE "sassassa{yv}ba(ss)as" {
	STRING: "a string"
	BEGIN_ARRAY "s" {
		STRING: "string #1"
		STRING: "string #1"
	} END_ARRAY 
	STRING: "foobar"
	BEGIN_ARRAY "s" {
		STRING: "foo"
		STRING: "foo"
		STRING: "foo"
		STRING: "foo"
		STRING: "foo"
	} END_ARRAY 
	STRING: "foo"
	BEGIN_ARRAY "{yv}" {
		BEGIN_DICT_ENTRY "yv" {
			BYTE: 3
			BEGIN_VARIANT "s" {
				STRING: "foo"
			} END_VARIANT
		} END_DICT_ENTRY
		BEGIN_DICT_ENTRY "yv" {
			BYTE: 3
			BEGIN_VARIANT "s" {
				STRING: "foo"
			} END_VARIANT
		} END_DICT_ENTRY
	} END_ARRAY 
	BOOLEAN: yes
	BEGIN_ARRAY "(ss)" {
		BEGIN_STRUCT "ss" {
			STRING: "aaa"
			STRING: "1"
		} END_STRUCT
		BEGIN_STRUCT "ss" {
			STRING: "aaa"
			STRING: "1"
		} END_STRUCT
		BEGIN_STRUCT "ss" {
			STRING: "aaa"
			STRING: "1"
		} END_STRUCT
	} END_ARRAY 
	BEGIN_ARRAY "s" {
		STRING: "foobar"
		STRING: "waldo"
	} END_ARRAY 
} END_MESSAGE

Program received signal SIGSEGV, Segmentation fault.
0x080492d1 in main (argc=1, argv=0xbffff8f4)
    at src/libsystemd-bus/test-bus-marshal.c:135
135	        assert_se(streq(z, "string #2"));
(gdb) bt
#0  0x080492d1 in main (argc=1, argv=0xbffff8f4)
    at src/libsystemd-bus/test-bus-marshal.c:135
(gdb) q
A debugging session is active.

	Inferior 1 [process 22698] will be killed.

Quit anyway? (y or n) y

[phil at manjaro systemd-199]$ valgrind ./test-bus-marshal
==22726== Memcheck, a memory error detector
==22726== Copyright (C) 2002-2012, and GNU GPL'd, by Julian Seward et al.
==22726== Using Valgrind-3.8.1 and LibVEX; rerun with -h for copyright info
==22726== Command: ./test-bus-marshal
==22726== 
Message 0x45d8028
	n_ref=1
	endian=l
	type=1
	flags=0
	version=1
	serial=4711
	fields_size=106
	body_size=234
	path=/
	interface=foobar.waldo
	member=Piep
	destination=foobar.waldo
	sender=n/a
	signature=sassassa{yv}ba(ss)as
	reply_serial=0
	error.name=n/a
	error.message=n/a
	sealed=yes
BEGIN_MESSAGE "sassassa{yv}ba(ss)as" {
	STRING: "a string"
	BEGIN_ARRAY "s" {
		STRING: "string #1"
		STRING: "string #1"
	} END_ARRAY 
	STRING: "foobar"
	BEGIN_ARRAY "s" {
		STRING: "foo"
		STRING: "foo"
		STRING: "foo"
		STRING: "foo"
		STRING: "foo"
	} END_ARRAY 
	STRING: "foo"
	BEGIN_ARRAY "{yv}" {
		BEGIN_DICT_ENTRY "yv" {
			BYTE: 3
			BEGIN_VARIANT "s" {
				STRING: "foo"
			} END_VARIANT
		} END_DICT_ENTRY
		BEGIN_DICT_ENTRY "yv" {
			BYTE: 3
			BEGIN_VARIANT "s" {
				STRING: "foo"
			} END_VARIANT
		} END_DICT_ENTRY
	} END_ARRAY 
	BOOLEAN: yes
	BEGIN_ARRAY "(ss)" {
		BEGIN_STRUCT "ss" {
			STRING: "aaa"
			STRING: "1"
		} END_STRUCT
		BEGIN_STRUCT "ss" {
			STRING: "aaa"
			STRING: "1"
		} END_STRUCT
		BEGIN_STRUCT "ss" {
			STRING: "aaa"
			STRING: "1"
		} END_STRUCT
	} END_ARRAY 
	BEGIN_ARRAY "s" {
		STRING: "foobar"
		STRING: "waldo"
	} END_ARRAY 
} END_MESSAGE
message size = 362, contents =
6c010001ea000000671200006a00000001016f00010000002f0000000000000003017300040000005069657000000000020173000c000000666f6f6261722e77616c646f00000000060173000c000000666f6f6261722e77616c646f00000000080167001473617373617373617b79767d626128737329617300000000000000080000006120737472696e67000000001e00000009000000737472696e6720233100000009000000737472696e6720233100000006000000666f6f62617200002800000003000000666f6f0003000000666f6f0003000000666f6f0003000000666f6f0003000000666f6f0003000000666f6f001c0000000301730003000000666f6f00000000000301730003000000666f6f00010000002e000000000000000300000061616100010000003100000003000000616161000100000031000000030000006161610001000000310000001600000006000000666f6f62617200000500000077616c646f00
Type:    method-call
Flags:   none
Version: 0
Serial:  4711
Headers:
  path -> objectpath '/'
  interface -> 'foobar.waldo'
  member -> 'Piep'
  destination -> 'foobar.waldo'
  signature -> signature 'sassassa{yv}ba(ss)as'
Body: ('a string', ['string #1', 'string #1'], 'foobar', ['foo', 'foo', 'foo', 'foo', 'foo'], 'foo', {byte 0x03: <'foo'>, 0x03: <'foo'>}, true, [('aaa', '1'), ('aaa', '1'), ('aaa', '1')], ['foobar', 'waldo'])
UNIX File Descriptors:
  (none)
Message 0x45f6f08
	n_ref=1
	endian=l
	type=1
	flags=0
	version=1
	serial=4711
	fields_size=106
	body_size=234
	path=/
	interface=foobar.waldo
	member=Piep
	destination=foobar.waldo
	sender=n/a
	signature=sassassa{yv}ba(ss)as
	reply_serial=0
	error.name=n/a
	error.message=n/a
	sealed=yes
BEGIN_MESSAGE "sassassa{yv}ba(ss)as" {
	STRING: "a string"
	BEGIN_ARRAY "s" {
		STRING: "string #1"
		STRING: "string #1"
	} END_ARRAY 
	STRING: "foobar"
	BEGIN_ARRAY "s" {
		STRING: "foo"
		STRING: "foo"
		STRING: "foo"
		STRING: "foo"
		STRING: "foo"
	} END_ARRAY 
	STRING: "foo"
	BEGIN_ARRAY "{yv}" {
		BEGIN_DICT_ENTRY "yv" {
			BYTE: 3
			BEGIN_VARIANT "s" {
				STRING: "foo"
			} END_VARIANT
		} END_DICT_ENTRY
		BEGIN_DICT_ENTRY "yv" {
			BYTE: 3
			BEGIN_VARIANT "s" {
				STRING: "foo"
			} END_VARIANT
		} END_DICT_ENTRY
	} END_ARRAY 
	BOOLEAN: yes
	BEGIN_ARRAY "(ss)" {
		BEGIN_STRUCT "ss" {
			STRING: "aaa"
			STRING: "1"
		} END_STRUCT
		BEGIN_STRUCT "ss" {
			STRING: "aaa"
			STRING: "1"
		} END_STRUCT
		BEGIN_STRUCT "ss" {
			STRING: "aaa"
			STRING: "1"
		} END_STRUCT
	} END_ARRAY 
	BEGIN_ARRAY "s" {
		STRING: "foobar"
		STRING: "waldo"
	} END_ARRAY 
} END_MESSAGE
==22726== Use of uninitialised value of size 4
==22726==    at 0x80492D1: main (test-bus-marshal.c:135)
==22726== 
==22726== Invalid read of size 1
==22726==    at 0x80492D1: main (test-bus-marshal.c:135)
==22726==  Address 0x0 is not stack'd, malloc'd or (recently) free'd
==22726== 
==22726== 
==22726== Process terminating with default action of signal 11 (SIGSEGV)
==22726==  Access not within mapped region at address 0x0
==22726==    at 0x80492D1: main (test-bus-marshal.c:135)
==22726==  If you believe this happened as a result of a stack
==22726==  overflow in your program's main thread (unlikely but
==22726==  possible), you can try to increase the size of the
==22726==  main thread stack using the --main-stacksize= flag.
==22726==  The main thread stack size used in this run was 8388608.
==22726== 
==22726== HEAP SUMMARY:
==22726==     in use at exit: 43,315 bytes in 385 blocks
==22726==   total heap usage: 1,011 allocs, 626 frees, 71,616 bytes allocated
==22726== 
==22726== LEAK SUMMARY:
==22726==    definitely lost: 0 bytes in 0 blocks
==22726==    indirectly lost: 0 bytes in 0 blocks
==22726==      possibly lost: 11,944 bytes in 118 blocks
==22726==    still reachable: 31,371 bytes in 267 blocks
==22726==         suppressed: 0 bytes in 0 blocks
==22726== Rerun with --leak-check=full to see details of leaked memory
==22726== 
==22726== For counts of detected and suppressed errors, rerun with: -v
==22726== Use --track-origins=yes to see where uninitialised values come from
==22726== ERROR SUMMARY: 2 errors from 2 contexts (suppressed: 0 from 0)
Segmentation fault (core dumped)


More information about the systemd-devel mailing list