Files
takana/scripts
Sergio e74d449655 perfilar.sh: la corrida de entrenamiento PGO, con las tres defensas puestas
Estaba en un scratchpad y se perdía; ahora vive en el repo con el porqué de cada
guarda, porque las tres se pagaron durante la primera corrida:

1. --unshare-pid en el bwrap. Sin él los hijos SOBREVIVEN al sandbox: un
   http.server quedó vivo 19 HORAS, retuvo el puerto y envenenó las corridas
   siguientes con «Address in use».

2. Puerto aleatorio por corrida. Elimina la colisión de raíz en vez de
   detectarla: si otro proceso tiene un puerto, este arranque usa otro.

3. Marcador único por corrida, servido desde una copia ESCRIBIBLE del corpus.
   La versión anterior horneaba el marcador como constante del script, y eso
   rompía justo lo que el chequeo existe para probar: el servidor huérfano
   servía el MISMO fichero de marca y el chequeo lo daba por bueno. Verificaba
   «alguien sirve este contenido», no «este servidor es el mío». Con el marcador
   por corrida, un servidor ajeno devuelve otra cosa y se aborta.

Y queda escrito por qué los sandboxes de Firefox van apagados en el
entrenamiento: con ellos los hijos mueren con signal 11, el proceso que renderiza
no nace, el servidor registra 0 GET y el único .profraw es el del padre
arrancando — un perfil de nada, con todo en verde. Es lo que hace el
profileserver.py de Mozilla. Sólo aplica al entrenamiento.

La espera al servidor va con reintento y no con un sleep fijo: 2 s concluían
«no responde» sobre uno que sí iba a responder.
2026-09-07 20:45:56 +00:00
..