Solution runner can exceed the configured timeout and keep CI running
Los mantenedores suelen responder en 1 día
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 48/100
Línea de trabajo
Start by reading run.py and the GitHub Actions workflow; trace how the per-test timeout is applied and how compilation is launched. Run the existing test suite and inspect how the runner handles timed-out processes. Done means compilation and total execution have separate limits, spawned processes are cleaned up, and the workflow has an appropriate job timeout.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
I noticed that the solution runner doesn't properly limit how long a submitted solution can run.
The configured timeout is applied separately to each test case rather than to the solution's total execution time. Compilation also doesn't appear to have any timeout.
For example, I tested four cases that each took around 0.35 seconds. All four passed with a configured timeout of just 1 second, even though the total execution took approximately 1.55 seconds.
With the current behavior, 100 test cases and a 10-second timeout could potentially keep a solution running for around 1,000 seconds. A compilation process that hangs could also block the runner indefinitely.
I expected the runner to enforce an overall execution limit so that a submitted solution couldn't occupy CI resources for much longer than intended.
Looking through run.py, the timeout is applied inside the loop that executes individual test cases, while the compilation step has no timeout. The GitHub Actions workflow also doesn't define a job-level timeout.
This could become a bigger problem with submissions that run slowly, generate excessive output, or start additional processes.
It would be useful to enforce separate compilation and overall execution limits, along with proper cleanup of spawned processes and safeguards against excessive resource usage.
- Lenguaje dominante
- Python
- Estrellas
- 1
- Forks
- 6
- Merge medio
- 17 h 52 min
- PR fusionados (30 d)
- 14
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Tiene una plantilla de pull request
- Sin 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 techcsispit/code-corner
-
prime/solution.java doesn't compile: public class PrimeCheck in solution.java, README requires Solution.java with a Solution classPosiblemente ocupada @tanujb03 la tomó hace 1 día. Abierto
Dificultad 1/5 Menos de una hora Aptitud para principiantes 82/100
techcsispit/code-corner#35 ·
Los mantenedores suelen responder en 1 día
-
Prime solution in C++ incorrectly returns true for some composite numbersPosiblemente ocupada @paramsj la tomó hoy. Abierto
Dificultad 1/5 Menos de una hora Aptitud para principiantes 25/100
techcsispit/code-corner#38 ·
Los mantenedores suelen responder en 1 día
-
Failed compilations always report 0.000 secondsPosiblemente ocupada @Shivangi-singh18 la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 35/100
techcsispit/code-corner#37 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
run.py: Python solutions are skipped on Windows when run via python instead of python3Posiblemente ocupada @tanujb03 la tomó hace 1 día. Abiertobug good first issue
Dificultad 1/5 Menos de una hora Aptitud para principiantes 15/100
techcsispit/code-corner#29 ·
Los mantenedores suelen responder en 1 día
-
fibonacci/solution.c: prints negative numbers for n of 47 or more (F(90) prints -1581614984)Posiblemente ocupada @tanujb03 la tomó hace 1 día. Abiertobug good first issue
Dificultad 2/5 1-3 horas Aptitud para principiantes 25/100
techcsispit/code-corner#27 ·
Los mantenedores suelen responder en 1 día
Todos los issues de techcsispit/code-corner
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
vllm-project/vllm#61131 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
kubernetes-client/python#2735 ·
Los mantenedores suelen responder en 1 día
-
desktop help wanted test
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
Los mantenedores suelen responder en 1 día
-
Broken links found in docsAbiertodocs pydanty:is-working
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
pydantic/pydantic-ai#10113 ·
Los mantenedores suelen responder en 1 día
-
Tutorial unit test leaks sample data into tutorial doctestPosiblemente ocupada @Gambit-Checkmate la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100