Volver a la wiki

Hotfix 2.21.5: un walk SNMP vencido por timeout fabricaba un 0 (Regla 13) — 47 APs con dato falso 30 días

Cuándo

25-08-2026, un día después de la racha de 4 hotfixes del bucle SNMP del 24-08 (2.21.1 → 2.21.4, ver incidentes hermanos). Edu midió el problema desde su portátil, sin ruta VPN al CCIB, comparando contra un Xirrus de oficina y contra hosts sin ruta.

Síntomas visibles

Dos síntomas relacionados, con la misma causa de fondo (un walk SNMP que vence por timeout):

Causa raíz

pysnmp señala que un equipo no contestó como un errorIndication de timeout dentro de la respuesta, no como una excepción — y el código anterior no distinguía ese caso de una tabla realmente vacía. Cuando el walk vencía por timeout, el bucle terminaba igualmente con “0 entries” y el código lo trataba como una lectura válida (tabla vacía de verdad), escribiendo 0 sin que el equipo hubiera respondido nunca. Es exactamente el patrón que la Regla 13 del proyecto prohíbe: un dato con apariencia real que en verdad es la ausencia de dato.

El segundo síntoma tenía una causa distinta pero relacionada: el tope de 7 s (SNMP_HARD_TIMEOUT) se aplicaba al sondeo de extras COMPLETO (varios GET + un walk, secuenciales), no a cada petición por separado. Un solo host muerto agotaba ese tope antes de que el sondeo llegara a terminar ninguna de sus peticiones.

Fix aplicado

Commit 2802de577ffd54f23ab07ab2ca5d04adac9dae39 (PR #434, Agente 2.21.5, SaaS v1.83.5):

Lecciones

Preventivos futuros

Véase también

Subir