Werk #22086: mknotifyd: tolerate an agent section without a leading timestamp
| Component | Checks & agents | ||||||
| Title | mknotifyd: tolerate an agent section without a leading timestamp | ||||||
| Date | Jul 31, 2026 | ||||||
| Level | Trivial Change | ||||||
| Class | Bug Fix | ||||||
| Compatibility | Compatible - no manual interaction needed | ||||||
| Checkmk versions & editions |
|
All notification spooler services of a host could go to UNKNOWN with "check
failed - please submit a crash report!", the crash report showing
ValueError: could not convert string to float (or an IndexError for an
empty section).
The check expects the agent section to begin with a timestamp line. If that line is absent, parsing aborted and took every service derived from the section with it, even when the rest of the section was intact.
A section can lack the leading timestamp for more than one reason. The confirmed one is a very old agent: the timestamp line was only introduced in 1.5.0p23 / 1.6.0p4, so agents older than that emit the section starting directly with the site header. Such agents were tolerated back then by a fallback in the check, which was lost when the plugin was migrated to the new plugin API for Checkmk 2.4. Other ways to arrive at a missing line are plausible but not confirmed (for example the agent failing to produce the timestamp at runtime); this werk does not claim to have identified every one.
The fallback is restored, covering both a missing timestamp line and an empty section. When the timestamp is missing, the age information the services show is calculated against the time of the check instead.