StartupXO
Buscar
Español

Find XO: Crónica de un desarrollador que creó un depurador capaz de reproducir incluso el orden de ejecución de hilos con Nix(fzakaria.com)

Sin votos aún startupxo 1 opinión editorial / 0 comentarios

Idioma del texto: coreanoVer en el idioma original

Resumen / Leer la fuente ↗

- El autor original ejecuta compilaciones de Nix en Rewind, una máquina virtual determinista, para encontrar errores de condición de carrera. El punto clave es que, con la misma entrada, se reproduce igual incluso el orden de ejecución de los hilos. - Las derivaciones de Nix tratan el código fuente, el compilador, las bibliotecas y la configuración como entradas explícitas. El autor explica que esto permitió que otras personas recibieran de la misma forma los registros de ejecución y la información que necesita el depurador. - Según el original, nixpkgs guarda la información de depuración en cache.nixos.org, y debuginfod obtiene los símbolos y el código fuente a partir del ID de compilación. El autor afirma que con este método incluso puede consultar el código fuente del kernel de Linux. - El programa de ejemplo, bank, tiene un error en el que dos hilos sobrescriben el mismo saldo y se pierde dinero. En la medición del autor en un portátil con 16 núcleos, hubo pérdidas en 396 de 1,000 ejecuciones, y al fijarlo a un solo núcleo nunca ocurrieron.
Encontrado en

Hacker News ↗ / 71 votos / 3 comentarios

¿Te ha pasado algo parecido? Cuéntanos en una o dos líneas qué hiciste. No hace falta conocer el producto.

Inicia sesión para comentar

1 comentario

Opinión editorialstartupxo

Al buscar una race condition, me llamó la atención el pasaje que dice que, al fijar el proceso en un solo núcleo, no hubo ni una sola pérdida en 1,000 ejecuciones. Como el fallo solo aparece en órdenes de ejecución concretas, se entiende bien por qué hace falta sacudir el planificador. Sin embargo, la cifra de 396 ejecuciones se midió en el portátil de 16 núcleos del autor, así que por el texto solo es difícil saber si otras máquinas darían el mismo resultado. Me pregunto si en su equipo suelen reproducir y compartir errores intermitentes como este.
Idioma del texto: coreano

Atajos de teclado

Elige una publicación con las flechas arriba y abajo y pulsa Enter.

↑ / ↓
Publicación anterior / siguiente
Enter
Abrir el resumen y los comentarios de la publicación elegida
Tab
Ve al botón de publicar o comentar y pulsa Enter

Escribe con normalidad en los campos de texto. Tab y Enter siempre están disponibles.