[systemd-devel] Service fails to start with no log messages
Lennart Poettering
lennart at poettering.net
Tue Jan 7 13:32:09 UTC 2020
On Mo, 06.01.20 20:28, Jeffrey Walton (noloader at gmail.com) wrote:
> I'm trying to determine my service fails to start. I copied the
> service to the systemd unit directory, and then enabled and started
> the service. Upon reboot the service is not started automatically.
>
> Here are the logs:
>
> $ journalctl -e | grep callboot
> Jan 06 20:25:33 raspberrypi systemd[1]: graphical.target: Found
> dependency on callboot-ui.service/start
> Jan 06 20:25:33 raspberrypi systemd[1]: graphical.target: Job
> callboot-ui.service/start deleted to break ordering cycle starting
> with graphical.target/start
The logs actually show you the full ordering cycle you defined. But
your "grep" hides that. Drop the "grep", and look for the lines around
the above it tells you where you have an ordering cycle.
Ordering cycle means your service is ordererd after some other
service (or multiple of them) that are ultimately ordered again after
your own service, which is hence a cycle. systemd cannot fulfill that
and complains.
>
> $ cat /etc/systemd/system/callboot-monitor.service
> [Unit]
> Description=Callboot service
>
> # This service waits for the UI. It slows down the
> # boot so the service starts without failure.
> After=graphical.target
> Wants=graphical.target
> # Service waits for the USB modem
> After=usb.target
> Wants=usb.target
>
> [Service]
> Type=simple
> ExecStart=/opt/callboot/bin/callboot.exe
>
> [Install]
> WantedBy=multi-user.target
So this is your cycle: your service is declared to start before
multi-user.target (since WantedBy= generally implies Before=, unless
DefaultDependencies=no is specified), but after graphical.target, but
graphical.target itself is ordered after multi-user.target.
Hence you declare the following cycle: graphical.target → callboot-monitor.service → multi-user.target → graphical.target
Break that up.
Lennart
--
Lennart Poettering, Berlin
More information about the systemd-devel
mailing list