Ingeniería / OpenAI

Libunwind: error descubierto y corregido

Ilustración generada por IA / Diario Occidente
viernes 10 de julio, 2026

Falla visible al devolver null en tiempo de excepción

Hace semanas, OpenAI detectó que servicios basados en Rockset empezaron a fallar de forma intermitente: funciones en C++ que parecían retornar a direcciones inválidas o NULL. La palabra clave aquí es libunwind error, porque parte de las fallas se relacionó con la biblioteca usada para desenrollar excepciones en tiempo de ejecución. La empresa investigó los core dumps, agrupó los datos y anunció correcciones el 30 de junio de 2026.

libunwind error: qué ocurrió y por qué importa

Los ingenieros comprobaron que lo que parecía un único fallo eran en realidad dos problemas distintos. Uno fue corrupción silenciosa de hardware en un host de Azure, que provocaba desalineación de pila y fallas locales. El otro fue una condición de carrera de larga data en GNU libunwind: durante el desenrollado de excepciones, una instrucción finalizaba el cambio de pila antes de leer la dirección de retorno sintetizada, y la entrega casi simultánea de una señal podía sobrescribir esa memoria y dejar la dirección NULL.

Esto es relevante porque libunwind es una biblioteca muy usada para manejo de excepciones en C++ y, aunque el error existe desde hace años, ciertas combinaciones de carga —muchas excepciones y señales frecuentes— hicieron que el problema fuera visible en producción.

Qué cambia para las personas

Menos interrupciones en servicios dependientes

OpenAI mitigó el problema cambiando temporalmente a la implementación de desenrollado de libgcc y aplicando una corrección a GNU libunwind. Eso reduce la probabilidad de que procesos que usan Rockset fallen por esta causa.

Mejores diagnósticos y respuesta operativa

La compañía amplió su pipeline de análisis de core dumps y mejoró el registro del estado de registros en manejadores de señales. Eso facilita detectar recurrencias sin depender siempre de core dumps completos.

Menos falsos positivos por hardware defectuoso

Al identificar y bloquear un host físico defectuoso, OpenAI eliminó una fuente separada de fallas que confundía la investigación. También ajustaron procesos para detectar nodos problemáticos más rápido.

Aspectos pendientes por confirmar

La corrección de libunwind fue enviada upstream y OpenAI cambió al unwinder de libgcc como mitigación. Queda por verificar a largo plazo cómo se comportan otras cargas similares y si aparecen variantes de la condición de carrera en diferentes entornos o con manejadores de señales con distintos consumos de pila. No hay indicios de problemas nuevos, pero la operativa seguirá monitorizando la tasa de excepciones y entrega de señales para garantizar estabilidad.

Cierre

El hallazgo muestra que fallas raras pueden tener causas múltiples y que el análisis poblacional de fallos es clave para separar problemas independientes. La intervención combinó mitigación inmediata, corrección upstream y mejoras de instrumentación para reducir interrupciones futuras.

Por qué importa

Usuarios: Menos caídas y respuestas más fiables en servicios que dependen de búsqueda en tiempo real.

Negocio: Menor riesgo operativo y menos tiempo de intervención para equipos de infraestructura.

Industria: Un recordatorio sobre la importancia de pruebas a escala y del mantenimiento de bibliotecas críticas.

Nota de Transparencia

Esta nota fue generada 100% con IA. La fuente fue aprobada por Diario Occidente y el contenido final fue revisado por un miembro del equipo de redacción.

Comments

Otras Noticias