Public bug reported: While looking into some leftover processes after session end, I discovered that logind can get into a hung state. Here's roughly what I did (sorry that I don't have exact steps)
1. Log in to unity, log out 2. ssh in 3. loginctl 4. loginctl session-status <your closing session> 5. log in, log out 6. loginctl session-status <your new closing session> 7. log in 8. loginctl (systemd-logind is hung at this point) bt of loginctl while it's hung showing that it's going to timeout waiting for a reply from logind over dbus (gdb) bt #0 0x00007ffff6e67fa0 in __poll_nocancel () at ../sysdeps/unix/syscall-template.S:81 #1 0x00007ffff757c4b8 in socket_do_iteration (transport=0x6183d0, flags=6, timeout_milliseconds=<optimised out>) at ../../dbus/dbus-transport-socket.c:1125 #2 0x00007ffff757b3ff in _dbus_transport_do_iteration (transport=0x6183d0, flags=1, flags@entry=6, timeout_milliseconds=timeout_milliseconds@entry=25000) at ../../dbus/dbus-transport.c:976 #3 0x00007ffff75659dc in _dbus_connection_do_iteration_unlocked (connection=connection@entry=0x618ad0, pending=pending@entry=0x618320, flags=flags@entry=6, timeout_milliseconds=timeout_milliseconds@entry=25000) at ../../dbus/dbus-connection.c:1234 #4 0x00007ffff7566389 in _dbus_connection_block_pending_call (pending=0x618320) at ../../dbus/dbus-connection.c:2415 #5 0x00007ffff757572a in dbus_pending_call_block (pending=<optimised out>) at ../../dbus/dbus-pending-call.c:748 #6 0x00007ffff756694d in dbus_connection_send_with_reply_and_block (connection=connection@entry=0x618ad0, message=message@entry=0x619000, timeout_milliseconds=timeout_milliseconds@entry=-1, error=error@entry=0x7fffffffd610) at ../../dbus/dbus-connection.c:3530 #7 0x000000000040ebf4 in bus_method_call_with_reply (bus=bus@entry=0x618ad0, destination=destination@entry=0x40eeb1 "org.freedesktop.login1", path=path@entry=0x40ee99 "/org/freedesktop/login1", interface=interface@entry=0x40f478 "org.freedesktop.login1.Manager", method=method@entry=0x40ef3a "ListSessions", return_reply=return_reply@entry=0x7fffffffd738, return_error=return_error@entry=0x0, first_arg_type=first_arg_type@entry=0) at ../src/shared/dbus-common.c:1375 #8 0x0000000000404426 in list_sessions (bus=0x618ad0, args=<optimised out>, n=<optimised out>) at ../src/login/loginctl.c:82 #9 0x0000000000403b09 in loginctl_main (error=0x7fffffffd890, argv=0x7fffffffd9c8, argc=<optimised out>, bus=0x618ad0) at ../src/login/loginctl.c:1543 #10 main (argc=<optimised out>, argv=0x7fffffffd9c8) at ../src/login/loginctl.c:1574 and here's the bt of systemd-logind (gdb) bt full #0 0x00007f75545d6fa0 in __poll_nocancel () at ../sysdeps/unix/syscall-template.S:81 No locals. #1 0x00007f7554ada4b8 in socket_do_iteration (transport=0x2c87000, flags=7, timeout_milliseconds=<optimised out>) at ../../dbus/dbus-transport-socket.c:1125 socket_transport = 0x2c87000 poll_fd = { fd = 1041, events = 1, revents = 0 } poll_res = <optimised out> poll_timeout = <optimised out> #2 0x00007f7554ad93ff in _dbus_transport_do_iteration (transport=0x2c87000, flags=1, flags@entry=7, timeout_milliseconds=timeout_milliseconds@entry=-1) at ../../dbus/dbus-transport.c:976 No locals. #3 0x00007f7554ac39dc in _dbus_connection_do_iteration_unlocked (connection=connection@entry=0x2c87470, pending=pending@entry=0x0, flags=flags@entry=7, timeout_milliseconds=timeout_milliseconds@entry=-1) at ../../dbus/dbus-connection.c:1234 No locals. #4 0x00007f7554ac3b84 in _dbus_connection_flush_unlocked (connection=0x2c87470) at ../../dbus/dbus-connection.c:3574 No locals. #5 0x00007f7554ac4331 in _dbus_connection_block_pending_call (pending=0x2c63930) at ../../dbus/dbus-connection.c:2382 start_tv_sec = 140141908468009 start_tv_usec = 46691440 tv_sec = 0 tv_usec = 140735977390056 status = <optimised out> connection = 0x2c87470 client_serial = <optimised out> timeout = <optimised out> timeout_milliseconds = <optimised out> elapsed_milliseconds = <optimised out> #6 0x00007f7554ad372a in dbus_pending_call_block (pending=<optimised out>) at ../../dbus/dbus-pending-call.c:748 __FUNCTION__ = "dbus_pending_call_block" #7 0x00007f7554ac494d in dbus_connection_send_with_reply_and_block (connection=0x2c87470, message=0x2c86d60, timeout_milliseconds=-1, error=0x7fffa5f08030) at ../../dbus/dbus-connection.c:3530 reply = <optimised out> pending = 0x2c63930 __FUNCTION__ = "dbus_connection_send_with_reply_and_block" #8 0x00007f7555125a85 in cgmanager_ping_sync () from /lib/x86_64-linux-gnu/libcgmanager.so.0 No symbol table info available. #9 0x0000000000422285 in cgm_dbus_connect () at ../src/shared/cgmanager.c:68 dbus_error = { name = 0x0, message = 0x0, dummy1 = 1, dummy2 = 0, dummy3 = 0, dummy4 = 0, dummy5 = 0, padding1 = 0x285 } connection = <optimised out> __func__ = "cgm_dbus_connect" #10 0x00000000004205fc in cg_enumerate_tasks (controller=0x425b4a "name=systemd", path=0x214e3b0 "/user/1000.user/c2.session", _f=_f@entry=0x7fffa5f08158) at ../src/shared/cgroup-util.c:117 fs = 0x0 f = <optimised out> r = <optimised out> value = 0x0 template = 0x0 fd = <optimised out> __PRETTY_FUNCTION__ = "cg_enumerate_tasks" #11 0x00000000004207da in cg_is_empty (controller=<optimised out>, path=<optimised out>, ignore_self=false) at ../src/shared/cgroup-util.c:1090 f = 0x0 pid = 0 self_pid = <optimised out> found = false r = <optimised out> #12 0x0000000000420932 in cg_is_empty_recursive (controller=controller@entry=0x425b4a "name=systemd", path=0x214e3b0 "/user/1000.user/c2.session", ignore_self=ignore_self@entry=false) at ../src/shared/cgroup-util.c:1136 d = 0x0 fn = 0x0 r = <optimised out> children = 0x7f7554ac3de5 <dbus_connection_unref+101> p1 = <optimised out> __PRETTY_FUNCTION__ = "cg_is_empty_recursive" #13 0x000000000040fbb9 in session_check_gc (s=s@entry=0x2134f10, drop_not_started=drop_not_started@entry=true) at ../src/login/logind-session.c:976 r = <optimised out> __PRETTY_FUNCTION__ = "session_check_gc" #14 0x00000000004085e6 in manager_gc (m=m@entry=0x2067010, drop_not_started=drop_not_started@entry=true) at ../src/login/logind.c:1503 seat = <optimised out> session = 0x2134f10 user = <optimised out> i = 0xffffffffffffffff __PRETTY_FUNCTION__ = "manager_gc" #15 0x00000000004093c5 in manager_run (m=m@entry=0x2067010) at ../src/login/logind.c:1728 event = { events = 4294967295, data = { ptr = 0xffffffff, fd = -1, u32 = 4294967295, u64 = 4294967295 } } n = <optimised out> msec = -1 __PRETTY_FUNCTION__ = "manager_run" __func__ = "manager_run" #16 0x00000000004061cc in main (argc=<optimised out>, argv=<optimised out>) at ../src/login/logind.c:1867 m = 0x2067010 r = 0 __func__ = "main" ProblemType: Bug DistroRelease: Ubuntu 14.04 Package: systemd-services 204-5ubuntu15 ProcVersionSignature: Ubuntu 3.13.0-22.44-generic 3.13.8 Uname: Linux 3.13.0-22-generic x86_64 ApportVersion: 2.14-0ubuntu1 Architecture: amd64 CurrentDesktop: Unity Date: Thu Apr 3 12:04:11 2014 InstallationDate: Installed on 2012-10-07 (542 days ago) InstallationMedia: Ubuntu 12.10 "Quantal Quetzal" - Beta amd64 (20121007) SourcePackage: systemd UpgradeStatus: Upgraded to trusty on 2013-05-07 (331 days ago) ** Affects: systemd (Ubuntu) Importance: Undecided Status: New ** Tags: amd64 apport-bug trusty ** Summary changed: - systemd-logind is hung in cg_enumerate_tasks + systemd-logind can get hung in cg_enumerate_tasks -- You received this bug notification because you are a member of Ubuntu Desktop Bugs, which is subscribed to systemd in Ubuntu. https://bugs.launchpad.net/bugs/1301882 Title: systemd-logind can get hung in cg_enumerate_tasks To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/systemd/+bug/1301882/+subscriptions -- desktop-bugs mailing list desktop-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/desktop-bugs