FS#74561 - [smokeping] smokeping.service fails on system startup

Attached to Project: Community Packages
Opened by Brian D (bderrly) - Tuesday, 26 April 2022, 06:11 GMT
Last edited by Florian Pritz (bluewind) - Sunday, 08 May 2022, 07:34 GMT
Task Type Bug Report
Category Packages
Status Closed
Assigned To Florian Pritz (bluewind)
Architecture All
Severity Medium
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No


Description: Modify systemd unit file to better handle network availability at system startup.

Prior change similar in nature but insufficient to prevent failure on startup: https://bugs.archlinux.org/task/47678

When booting it is possible for the smokeping.service unit to start before the full network stack is running. This causes smokeping to fail and remain failed for the remainder of the boot session without intervention to repair it.

I have attached a patch file which I believe should remedy the situation. The "Wants" directive is critical along with changing the name from "network.target" to "network-online.target". The latter is a better guarantee the network is actually usable. The "After" directive is not useful without the dependency created with the "Wants" directive.

Additional info:
* version 2.8.2-1

Steps to reproduce:
* pacman -S smokeping
* systemctl enable smokeping
* reboot
This task depends upon

Closed by  Florian Pritz (bluewind)
Sunday, 08 May 2022, 07:34 GMT
Reason for closing:  Fixed
Additional comments about closing:  smokeping-2.8.2-2
Comment by Florian Pritz (bluewind) - Sunday, 01 May 2022, 10:01 GMT
Can you provide a log of the errors you are trying to solve here?
Comment by Brian D (bderrly) - Monday, 02 May 2022, 15:48 GMT
Apr 03 15:47:02 picard systemd[1]: Started SmokePing Daemon.
Apr 03 15:47:03 picard smokeping[635]: WARNING: Hostname 'example.com' does currently not resolve to an IPv6 or IPv4 address
Apr 03 15:47:03 picard smokeping[635]: ERROR: output of '/usr/bin/dig localhost' does not match (?^i:query time:\s+([0-9.]+)\smsec.*)
Apr 03 15:47:03 picard smokeping[635]: at (eval 49) line 1.
Apr 03 15:47:03 picard systemd[1]: smokeping.service: Main process exited, code=exited, status=255/EXCEPTION
Apr 03 15:47:03 picard systemd[1]: smokeping.service: Failed with result 'exit-code'.