Linked analyzers cannot be stopped: a stuck stack or concurrency analyzer stalls ctrace and its server
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 58/100
Línea de trabajo
Start with the external-tool timeout path referenced in the issue and the linked analyzer integration, then read docs/configuration.md and the timeout test coverage. Implement timeout handling for both linked analyzers so they are reported as failed with exit code 3, update the configuration documentation, and add a test that exercises the timeout path.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
External tools stop after tools.<name>.timeout_s (#137, #156). The stack analyzer and the concurrency analyzer are linked into ctrace and run on its thread pool, so nothing can stop them: docs/configuration.md says so under tools.<name>.timeout_s.
Observed
On CoreTrace's own code, the pinned stack analyzer (v0.22.0) ran for 42 minutes without finishing (#169). The CLI only ends when something outside kills it, such as the CI job's time limit, and then gives no report. In server mode, the run_analysis request never returns and keeps a worker of the shared pool (#140).
Options
- Run each linked analyzer in a child process.
ctracere-executes itself with an internal subcommand and stops the child on timeout, as it does for external tools. The analyzers' API stays as it is; the cost is a process start and serializing the report, which is already structured (#66). - A cancellation point in the analyzers, for example a stop token checked between functions or modules. There is no extra process, but both analyzers' APIs change, and a function stuck inside one fixed point still cannot be stopped.
Option 1 reuses the timeout path that external tools already have.
Acceptance
tools.ctrace_stack_analyzer.timeout_sandtools.coretrace-concurrency-analyzer.timeout_sstop the analyzer, which is reported as failed (exit code 3), as for external tools.docs/configuration.mdno longer says these two analyzers cannot be stopped.- A test covers the timeout path.
From the technical debt register (docs/quality/technical-debt.md, D2).
- Lenguaje dominante
- C++
- Estrellas
- 5
- Forks
- 4
- Merge medio
- 1 h 2 min
- PR fusionados (30 d)
- 74
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Sin plantilla de pull request
- Leer la guía de contribución
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 CoreTrace/coretrace
-
documentation severity/minor
Dificultad 1/5 1-3 horas Aptitud para principiantes 88/100
Los mantenedores suelen responder en 1 día
-
chore good first issue severity/minor
Dificultad 1/5 Menos de una hora Aptitud para principiantes 90/100
Los mantenedores suelen responder en 1 día
-
build severity/minor
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
Los mantenedores suelen responder en 1 día
-
build good first issue severity/minor
Dificultad 2/5 1-3 horas Aptitud para principiantes 85/100
Los mantenedores suelen responder en 1 día
-
test: add unit tests for ctrace::RunDirectoryPosiblemente ocupada @tecnolgd la tomó hoy. Abiertogood first issue test
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
CoreTrace/coretrace#164 · 2 comentarios · 1 asignado ·
Los mantenedores suelen responder en 1 día
Todos los issues de CoreTrace/coretrace
Issues similares
-
`IO.FS.realPath` reports every failure as `noFileOrDirectory` instead of classifying by `errno`Abiertobug
Dificultad 2/5 1-3 horas Aptitud para principiantes 66/100
leanprover/lean4#15683 ·
Los mantenedores suelen responder en 1 día
-
llvm.memcpy with destination align but no source align asserts "Missed Source alignment!"Posiblemente ocupada @pvelesko la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
KhronosGroup/SPIRV-LLVM-Translator#4093 ·
Los mantenedores suelen responder en 2 días
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 66/100
Los mantenedores suelen responder en 1 día
-
SIMQ silently truncates multi-query batch search to the first queryPosiblemente ocupada @LHT129 la tomó hoy. Abiertokind/bug module/index needs-triage
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
antgroup/vsag#3080 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 Medio día Aptitud para principiantes 68/100
Los mantenedores suelen responder en 1 día