Bug 622008

Summary: Assertion 's' failed at src/util.c:1614, function bus_path_escape()
Product: [Fedora] Fedora Reporter: Nicolas Mailhot <nicolas.mailhot>
Component: systemdAssignee: Lennart Poettering <lpoetter>
Status: CLOSED UPSTREAM QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: low    
Version: 14CC: lpoetter, metherid, mschmidt
Target Milestone: ---Keywords: Triaged
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard: abrt_hash:5f83760a3648f7cb160ef69aa1d1291aaf0a8115
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2010-08-09 15:07:05 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
File: backtrace none

Description Nicolas Mailhot 2010-08-06 18:31:21 UTC
abrt version: 1.1.10
architecture: x86_64
Attached file: backtrace
cmdline: /sbin/init
component: systemd
crash_function: crash
executable: /bin/systemd
kernel: 2.6.35-2.fc14.x86_64
package: systemd-6-1.fc14
rating: 4
reason: Process /bin/systemd was killed by signal 6 (SIGABRT)
release: Fedora release 14 (Branched)
time: 1281115738
uid: 0

Comment 1 Nicolas Mailhot 2010-08-06 18:31:23 UTC
Created attachment 437229 [details]
File: backtrace

Comment 2 Michal Schmidt 2010-08-08 13:33:24 UTC
This is the assertion failure:
  Assertion 's' failed at src/util.c:1614, function bus_path_escape().

unit_free() was called for a unit with u->meta.id == NULL and bus_unit_send_removed_signal() was therefore unable to construct a dbus path to announce in the UnitRemoved signal.

The timeline could have been like this:
unit_merge() ->
  merge_names();  /* sets other->meta.id = NULL */
  unit_add_to_cleanup_queue(other);
Later, manager_dispatch_cleanup_queue() ->
  unit_free()
    bus_unit_send_removed_signal()

To reproduce it a DBus subscriber has to be active:
1. Run systemadm
2. systemctl daemon-reload

Comment 3 Lennart Poettering 2010-08-09 15:07:05 UTC
Michal, thanks for tracking this down. I am pretty sure I have now fixed this in current git now. Will upload updated package soon. Please test and reopen should it turn out not to be fixed completely.