Werk #22597: Inline SNMP: Fix fetcher crash when an SNMP request times out
| Component | Inline SNMP | ||||||
| Title | Inline SNMP: Fix fetcher crash when an SNMP request times out | ||||||
| Date | Nov 4, 2026 | ||||||
| Level | Trivial Change | ||||||
| Class | Bug Fix | ||||||
| Compatibility | Compatible - no manual interaction needed | ||||||
| Checkmk versions & editions |
|
With the inline SNMP backend, fetcher processes could crash and leave a core
dump when the fetcher timeout hit while an SNMP request was in flight. The
process then aborted with a message like free(): invalid pointer, free():
invalid size or double free or corruption, with a backtrace ending in
snmp_free_pdu(), or it died with a segmentation fault. Both happened inside
the netsnmp Python module.
The fetcher timeout could take effect while the netsnmp Python module was processing a request, which the module does not handle. Hosts with slow responses or long SNMP timeouts and retries, for example SNMPv3 devices, were affected most.
The inline SNMP backend now holds the fetcher timeout back until the current SNMP request has finished. This does not make fetches take longer: the timeout could not interrupt a running SNMP request before either. The fetcher timeout is reported as before, without the crash.