Grading follow-ups from PR #394
@DarioDeSilva y travaille déjà.
Depuis le 27/10/2026.
Évaluation
Cette issue n'a pas encore été évaluée.
Description
A few small leftovers from the #394 review. None of them blocked the merge.
Timeout handling
upload_assignment_autograderstill stores NULL whenautograder_timeoutis left out.upload_submissionfalls back to 300, butcode_editor.py::submit_codeuses the raw value, so editor submissions get no time limit at all. The fix is to store the default when the field is missing, or to resolve the timeout in one place that every grading path uses.- The timeout has no upper bound. A huge value fails the INTEGER column only after the image is built, and large valid values hold the assignment lock for that long. nginx cuts requests off at 300s anyway, so a cap of around 600 seems reasonable.
Grade script
- If
setprivis missing from the image, or the autograder file is missing, the script exits 93. That gets recorded as a score-0 "Autograder Error" even though student code never ran. Exit codes 125/126/127 inside the script could map to a setup exit code instead. - A hang during reset or copy-in, or an exec-level 137 during setup, is still recorded against the student. This is rare and needs an infrastructure failure.
results.jsonand the autograder log have no size limit before they're read into backend memory.
Cleanup
- Use
KILLED_EXIT_CODEin the script and tests instead of a bare137. Drop the unreachableGRADE_EXIT_TIMED_OUTentry fromstudent_code_ran. - Add the submission id and partial stderr to the hung-exec warning.
- The "Failed to prepare/cleanup container" messages now also cover Docker CLI errors. Reword them.
Stress test
test_submission_burst.py --cleanupdeletes the assignment but leaves the generated students enrolled in the course.
- Langage dominant
- Python
- Étoiles
- 13
- Forks
- 0
- Merge moyen
- 9 j 7 h
- PR mergées (30 j)
- 5
Préparer son environnement
- Fournit un Dockerfile ou un fichier Docker Compose
- Aucun modèle de pull request
- Aucun guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de kiat/codeAssist
-
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
kiat/codeAssist#391 ·
-
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
kiat/codeAssist#364 · 1 commentaire ·
-
Difficulté 3/5 1-2 jours Accessibilité débutants 42/100
kiat/codeAssist#393 ·
-
Difficulté 3/5 1-2 jours Accessibilité débutants 63/100
kiat/codeAssist#392 ·
-
Difficulté 4/5 3-5 jours Accessibilité débutants 52/100
kiat/codeAssist#390 ·
Toutes les issues de kiat/codeAssist
Issues similaires
-
Difficulté 2/5 1-3 heures Accessibilité débutants 65/100
adafruit/Fruit-Jam-OS#98 ·
-
python triage
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
microsoft/semantic-kernel#14753 ·
Les mainteneurs répondent en général sous 5 jours
-
area:cli area:configuration documentation priority:low size:small
Difficulté 1/5 1-3 heures Accessibilité débutants 80/100
RonaldHensbergen/composable-data-stack#1222 ·
Les mainteneurs répondent en général sous 1 jour
-
bug python
Difficulté 2/5 1-3 heures Accessibilité débutants 86/100
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
pvlib/pvlib-python#2939 ·
Les mainteneurs répondent en général sous 1 jour