curl 7.74.0 regression breaks Smokeping probes
tl;dr: On systems running Smokeping, avoid curl 7.74.0 and wait for a newer release!
I have a few Smokeping nodes deployed here and there to keep tabs on various services. Recently, all of the curl-based probes stopped working on one of the Smokeping instances. Any probe using either the Curl.pm
or AnotherCurl.pm
module would immediately enter "alert" status, indicating 100% failure, and these probes would never recover to a cleared state.
The monitoring node where things went haywire is running FreeBSD 12.2, with Smokeping and curl both installed from the ports collection. It turns out there's a bug in the most recent version of curl, and updating the curl port from 7.73.0 to 7.74.0 caused Smokeping to choke. (My Linux-based Smokeping nodes avoided this fate thanks to slower release cycles for their package universes.)
The bug is that time-based statistics returned by the -w
option to curl are suddenly being presented in microseconds instead of seconds, e.g. where Smokeping expect...