Bug 1088865 - systemd: Assertion 'path' failed at ../src/shared/cgroup-util.c:915, function cg_is_empty_recursive()
Summary: systemd: Assertion 'path' failed at ../src/shared/cgroup-util.c:915, function...
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora
Classification: Fedora
Component: systemd
Version: rawhide
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: systemd-maint
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2014-04-17 10:39 UTC by Florian Weimer
Modified: 2014-06-17 12:00 UTC (History)
8 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2014-06-17 12:00:36 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)
patch to remove keys from hashmap during deserialization (1.74 KB, patch)
2014-04-18 02:46 UTC, Zbigniew Jędrzejewski-Szmek
no flags Details | Diff

Description Florian Weimer 2014-04-17 10:39:16 UTC
Description of problem:

During a regular "yum upgrade" on Fedora rawhide, systemd crashed.  systemd itself was not being updated.

Logs and backtrace follow.  Impact on system usability was pretty bad.  The backtrace looks similar to the ones in bug 996547 and bug 997742.

Apr 17 12:08:17 localhost.localdomain systemd[1]: Reloading.
Apr 17 12:08:17 localhost.localdomain systemd[1]: Configuration file /usr/lib/systemd/system/auditd.service is marked world-inaccessible. This has no effect as configuration data is accessible via APIs without restrictions. Proceeding anyway.
Apr 17 12:08:20 localhost.localdomain systemd[1]: Stopping NFS status monitor for NFSv2/3 locking....
Apr 17 12:08:20 localhost.localdomain systemd[1]: Starting RPC Port Mapper.
Apr 17 12:08:20 localhost.localdomain systemd[1]: Reached target RPC Port Mapper.
Apr 17 12:08:20 localhost.localdomain systemd[1]: Starting Host and Network Name Lookups.
Apr 17 12:08:20 localhost.localdomain systemd[1]: Reached target Host and Network Name Lookups.
Apr 17 12:08:20 localhost.localdomain systemd[1]: Starting NFS status monitor for NFSv2/3 locking....
Apr 17 12:08:21 localhost.localdomain systemd[1]: Failed to reset devices.list on /system.slice: Invalid argument
Apr 17 12:08:21 localhost.localdomain systemd[1]: Started NFS status monitor for NFSv2/3 locking..
Apr 17 12:08:21 localhost.localdomain systemd[1]: Assertion 'path' failed at ../src/shared/cgroup-util.c:915, function cg_is_empty_recursive(). Aborting.

Backtrace is:

#0  0x00007f6e8d096839 in raise (sig=sig@entry=6)
    at ../nptl/sysdeps/unix/sysv/linux/pt-raise.c:37
#1  0x00007f6e8e5fd1d8 in crash.2510 (sig=6) at ../src/core/main.c:158
#2  <signal handler called>
#3  0x00007f6e8ccf6bd7 in __GI_raise (sig=sig@entry=6)
    at ../nptl/sysdeps/unix/sysv/linux/raise.c:56
#4  0x00007f6e8ccf883a in __GI_abort () at abort.c:89
#5  0x00007f6e8e63bce2 in log_assert_failed (
    text=text@entry=0x7f6e8e65e389 "path", 
    file=file@entry=0x7f6e8e65e4f7 "../src/shared/cgroup-util.c", 
    line=line@entry=915, 
    func=func@entry=0x7f6e8e66b6f0 <__PRETTY_FUNCTION__.8568.28811.5827> "cg_is_empty_recursive") at ../src/shared/log.c:709
#6  0x00007f6e8e5a312b in cg_is_empty_recursive (path=0x0, 
    ignore_self=ignore_self@entry=true, 
    controller=0x7f6e8e65e6af "name=systemd")
    at ../src/shared/cgroup-util.c:915
#7  0x00007f6e8e5ae743 in manager_notify_cgroup_empty (cgroup=<optimized out>, 
    m=0x7f6e9036a970) at ../src/core/cgroup.c:954
#8  signal_agent_released.16232 (bus=<optimized out>, message=0x7f6e90403600, 
    userdata=0x7f6e9036a970, error=<optimized out>) at ../src/core/dbus.c:90
#9  0x00007f6e8e5bed49 in bus_match_run (bus=bus@entry=0x7f6e903ee450, 
    node=0x7f6e902bddc0, m=m@entry=0x7f6e90403600)
    at ../src/libsystemd/sd-bus/bus-match.c:292
#10 0x00007f6e8e5beaf4 in bus_match_run (bus=bus@entry=0x7f6e903ee450, 
    node=0x7f6e902bdd50, m=m@entry=0x7f6e90403600)
    at ../src/libsystemd/sd-bus/bus-match.c:381
#11 0x00007f6e8e5beacc in bus_match_run (bus=bus@entry=0x7f6e903ee450, 
    node=0x7f6e902bdc70, m=m@entry=0x7f6e90403600)
    at ../src/libsystemd/sd-bus/bus-match.c:358
#12 0x00007f6e8e5beaf4 in bus_match_run (bus=bus@entry=0x7f6e903ee450, 
    node=0x7f6e9029a1f0, m=m@entry=0x7f6e90403600)
    at ../src/libsystemd/sd-bus/bus-match.c:381
#13 0x00007f6e8e5beacc in bus_match_run (bus=bus@entry=0x7f6e903ee450, 
    node=0x7f6e902c0b40, m=m@entry=0x7f6e90403600)
    at ../src/libsystemd/sd-bus/bus-match.c:358
#14 0x00007f6e8e5beaf4 in bus_match_run (bus=bus@entry=0x7f6e903ee450, 
    node=0x7f6e902c0d00, m=m@entry=0x7f6e90403600)
    at ../src/libsystemd/sd-bus/bus-match.c:381
#15 0x00007f6e8e5beacc in bus_match_run (bus=bus@entry=0x7f6e903ee450, 
    node=0x7f6e902c0de0, m=m@entry=0x7f6e90403600)
    at ../src/libsystemd/sd-bus/bus-match.c:358
#16 0x00007f6e8e5beaf4 in bus_match_run (bus=bus@entry=0x7f6e903ee450, 
    node=0x7f6e902c0e50, m=m@entry=0x7f6e90403600)
    at ../src/libsystemd/sd-bus/bus-match.c:381
#17 0x00007f6e8e5beacc in bus_match_run (bus=bus@entry=0x7f6e903ee450, 
    node=0x7f6e902c0910, m=m@entry=0x7f6e90403600)
    at ../src/libsystemd/sd-bus/bus-match.c:358
#18 0x00007f6e8e5beaf4 in bus_match_run (bus=bus@entry=0x7f6e903ee450, 
    node=0x7f6e902c09f0, m=m@entry=0x7f6e90403600)
    at ../src/libsystemd/sd-bus/bus-match.c:381
#19 0x00007f6e8e5bea16 in bus_match_run (bus=bus@entry=0x7f6e903ee450, 
    node=node@entry=0x7f6e903ee4d0, m=m@entry=0x7f6e90403600)
    at ../src/libsystemd/sd-bus/bus-match.c:263
#20 0x00007f6e8e5c40c8 in process_match.43824 (bus=bus@entry=0x7f6e903ee450, 
    m=m@entry=0x7f6e90403600) at ../src/libsystemd/sd-bus/sd-bus.c:2303
#21 0x00007f6e8e5ac95c in process_message (m=0x7f6e90403600, 
    bus=0x7f6e903ee450) at ../src/libsystemd/sd-bus/sd-bus.c:2428
#22 process_running (priority=0, ret=0x0, hint_priority=false, 
    bus=0x7f6e903ee450) at ../src/libsystemd/sd-bus/sd-bus.c:2478
#23 bus_process_internal (bus=0x7f6e903ee450, ret=0x0, priority=0, 
    hint_priority=false) at ../src/libsystemd/sd-bus/sd-bus.c:2647
#24 0x00007f6e8e5989e1 in sd_bus_process (ret=0x0, bus=<optimized out>)
    at ../src/libsystemd/sd-bus/sd-bus.c:2666
#25 io_callback.43644 (s=<optimized out>, fd=<optimized out>, 
    revents=<optimized out>, userdata=<optimized out>)
    at ../src/libsystemd/sd-bus/sd-bus.c:2913
#26 0x00007f6e8e600330 in source_dispatch (s=0x7f6e90378c00)
    at ../src/libsystemd/sd-event/sd-event.c:1943
#27 0x00007f6e8e6006bc in sd_event_run (e=0x7f6e9036ad90, 
    timeout=<optimized out>) at ../src/libsystemd/sd-event/sd-event.c:2225
#28 0x00007f6e8e5b60e4 in manager_loop (m=0x7f6e9036a970)
    at ../src/core/manager.c:1863
#29 0x00007f6e8e596fdf in main (argc=<optimized out>, argv=0x7fff6c5f8818)
    at ../src/core/main.c:1750


Version-Release number of selected component (if applicable):

systemd-212-1.fc21.x86_64

Comment 1 Zbigniew Jędrzejewski-Szmek 2014-04-18 02:46:54 UTC
Created attachment 887401 [details]
patch to remove keys from hashmap during deserialization

I don't think it's the same thing. Those bugs were a few versions ago and almost certainly got fixed. Nevertheless, after looking at this for a while, I don't see the reason. I see one iffy place... patch attached. I added a log_info in the patch. If it is ever seen, then the patch actually fixes a bug.

Comment 2 Lennart Poettering 2014-06-17 12:00:36 UTC
OK, the patch got merged. Closing. Feel free to reopen if the problem actually didn't get fixed with it.


Note You need to log in before you can comment on or make changes to this bug.