[Other] tools/ab_engine.py reuses ab_<arm>_r<n>.log in the temp dir across runs, so a later A/B appends its engine logs to an earlier one
Los mantenedores suelen responder en 3 días
Evaluación
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Aptitud para principiantes
- 78/100
Línea de trabajo
Empieza leyendo tools/ab_engine.py, especialmente la configuración de la ruta de los registros alrededor de la línea 96 y el lugar donde se inicia cada motor. Comprueba cómo abre el servidor los registros configurados y ejecuta los dos comandos A/B de los pasos de reproducción. El objetivo se cumple cuando una ejecución posterior con los mismos nombres de brazo ya no incluye la salida anterior de los motores, o cuando la herramienta identifica claramente registros separados para cada ejecución.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Area
[Other] (a tool under tools/)
Desktop app, Terminal or source?
Source
What happened
tools/ab_engine.py gives every arm's engine a log file with a fixed name in the temp directory:
cfg["log"] = str(Path(tempfile.gettempdir()) / f"ab_{name}_r{rnd}.log") # line 96
cpath = Path(tempfile.gettempdir()) / f"ab_{name}.json"
and the server opens a config's log in append mode on purpose (open(log, "a", ...), #779, so a crash report keeps the time). So a second A/B run days later, with the same arm letters, appends its engine output to the first run's files. After two sessions (2026-10-26 and 2026-10-28) ab_B_r1.log holds six [strata] … engine started: blocks from engines with different binaries and different env settings. A grep for a feature line (for me: the int8 crossover line) then finds the earlier session's arm B and looks like the current engine ignored its environment. It cost me an hour on 2026-10-26 before I noticed the dates on the engine started lines.
Expected: a run of the tool starts from empty engine logs, or tells where this run's logs are.
Suggestion: truncate the file before each start (Path(cfg["log"]).write_text("")), or put each run's files in a tempfile.mkdtemp(prefix="ab_engine_") and print that path once.
Smallest steps or command that reproduce it
python tools/ab_engine.py cfg.json A:STRATA_X=1 B:STRATA_X=2 --rounds 1- run it again with any arms named A and B
grep -c 'engine started' $TMPDIR/ab_B_r0.log→ 2 (and more with every run)
Reproduction status
Reproduced locally
Strata version
Source checkout v0.2.7.1 (46c152a1), engine 0.1.53; tools/ab_engine.py is identical on main today
Graphics card, memory and system
Intel Arc Pro B70 32 GB · 62 GB RAM · Debian 13 (not GPU specific)
Model, size and settings
Qwen3.8-Flash-Next IQ3_S (not relevant)
Logs
grep -n 'engine started' ab_B_r1.log after the two sessions: six lines, dated 2026-10-26 03:54 to 2026-10-28 20:52.
- Lenguaje dominante
- C++
- Estrellas
- 11.6k
- Forks
- 1k
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Preparar el entorno
Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de Niko1221/Strata
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
Los mantenedores suelen responder en 3 días
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
Niko1221/Strata#4630 · 1 comentario ·
Los mantenedores suelen responder en 3 días
-
[Engine] HIP source build fails since v0.1.45: `__shared__ alignas(16) int4` in iq_kernels.cu (expdec verify window)Posiblemente ocupada Un pull request vinculado a esta issue está abierto o ya se fusionó. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
Niko1221/Strata#4589 · 1 comentario ·
Los mantenedores suelen responder en 3 días
-
[Engine] strata-sycl.sh drops every STRATA_* variable whose value is 0, so the documented STRATA_PREFILL_MMQ=0 (FP16 prompt path) never reaches the engine; "off" works by accidentPosiblemente ocupada @ctr-137 la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
Los mantenedores suelen responder en 3 días
-
[Other] setup.sh --update on an Intel (SYCL) install always ends with "the engine was NOT: it is still 0.1.12": engine_version() reads the launcher script the config names as exePosiblemente ocupada @ctr-137 la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
Los mantenedores suelen responder en 3 días
Todos los issues de Niko1221/Strata
Issues similares
-
good first issue invalid
Dificultad 1/5 Menos de una hora Aptitud para principiantes 72/100
DanielJerolm/gpcc#74 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
patrick-hudson/put.gd-desktop#808 ·
Los mantenedores suelen responder en 1 día
-
DPI change is not fully handled in the cascading window on WindowsPosiblemente ocupada @yukawa la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
Los mantenedores suelen responder en 4 días
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 77/100
dasher-project/Dasher-GTK#97 ·
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
Los mantenedores suelen responder en 1 día