Failed to activate service 'org.freedesktop.systemd1': timed out (CentOS/RHEL 7)

The problem

Failed to start login and other services in the system. /var/log/messages (or journalctl log entry) showing the following errors.

May 3 11:20:54 dbus[682]: [system] Failed to activate service 'org.freedesktop.systemd1': timed out

The system was updated using “yum update” before encountering the above issue.

Detailed log entry for the issue:

May 3 11:20:39 NetworkManager[3495]: <info> [1493824839.5501] manager: startup complete
May 3 11:20:39 dbus[682]: [system] Activating systemd to hand-off: service name='org.freedesktop.PolicyKit1' unit='polkit.service'
May 3 11:20:54 dbus[682]: [system] Failed to activate service 'org.freedesktop.systemd1': timed out
May 3 11:20:54 systemd-logind: Failed to enable subscription: Connection timed out
May 3 11:20:54  dbus-daemon: dbus[682]: [system] Failed to activate service 'org.freedesktop.systemd1': timed out
May 3 11:20:54 systemd-logind: Failed to fully start up daemon: Connection timed out
May 3 11:20:54 systemd: systemd-logind.service: main process exited, code=exited, status=1/FAILURE
May 3 11:20:54 systemd: Failed to start Login Service.
May 3 11:20:54 systemd: Unit systemd-logind.service entered failed state.
May 3 11:20:54 systemd: systemd-logind.service failed.
May 3 11:20:54 systemd: systemd-logind.service has no holdoff time, scheduling restart.
May 3 11:20:54 systemd: Cannot add dependency job for unit microcode.service, ignoring: Unit is not loaded properly: Invalid argument.
May 3 11:20:54 systemd: Starting Login Service...
May 3 11:21:04 dbus[682]: [system] Failed to activate service 'org.freedesktop.PolicyKit1': timed out
May 3 11:21:04 dbus-daemon: dbus[682]: [system] Failed to activate service 'org.freedesktop.PolicyKi</info>

The Solution

The cause of the issue in most cases is - ‘dbus’ process is not able to communicate with other processes. ‘dbus’ is failing to active desktop services.

D-Bus is first a library that provides one-to-one communication between any two applications. dbus-daemon is an application that uses this library to implement a message bus daemon. There are namely (at least) two instances of dbus-daemon running. One is started by init and it’s system-wide and the other is started for the user when he logged in. If the dbus service is not running then all the other processes which will interact with that service will fail to start. So after restarting the dbus service in the system, all services get started.

# systemctl start dbus.service