Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Submissions with exit code != 0 are marked as completed instead of failed #1641

Open
ndido98 opened this issue Oct 28, 2024 · 5 comments
Open
Labels
Bug Competition-specific Problem specific to a given competition or benchmark

Comments

@ndido98
Copy link

ndido98 commented Oct 28, 2024

I am hosting a private competition on Codabench (https://www.codabench.org/competitions/4188/) and we are running into an issue when the participants’ submissions fail the scoring step.

In particular, when the scoring program fails (mostly because due to an error from the participant in formatting the submission package), the submission should be marked as failed and not count towards the submission limit per day/person. However, it looks like the exit code of the scoring program is not checked and all submissions are marked as finished instead.

@ndido98 ndido98 changed the title Submissions that throw exceptions are marked as completed instead of failed Submissions with exit code != 0 are marked as completed instead of failed Oct 28, 2024
@Didayolo
Copy link
Member

Hi @ndido98, how does your scoring program handle the formatting error?

To trigger the submission failure, the scoring program should raise an error.

@Didayolo Didayolo added the Competition-specific Problem specific to a given competition or benchmark label Oct 28, 2024
@ndido98
Copy link
Author

ndido98 commented Oct 28, 2024

Hi @Didayolo, currently the scoring program just raises an exception, and as a consequence it returns an exit code of 1. The scores.txt file is created but it's empty.

@Didayolo
Copy link
Member

Indeed, I am able to see the scoring error logs. I'm surprised the submissions are marked as finished.

I'm actually not sure what triggers the "Failed" status. Maybe it is because the scores.txt file exist? This requires a little investigation.

@ndido98
Copy link
Author

ndido98 commented Oct 28, 2024

From what I gathered by taking a look at the source code I found that the exit code of the scoring program is never checked:

if self.is_scoring:
self._update_status(STATUS_FINISHED)
else:
self._update_status(STATUS_SCORING)

Probably a submission should be marked as failed if either ingestion (if present) or scoring programs have a non-zero exit code.
The reason it fails when no scores.txt file is present is because this exception is triggered:

raise SubmissionException("Could not find scores file, did the scoring program output it?")

Not outputting a scores.txt file (thus triggering the exception) could be a workaround for the time being, but still I believe that checking the exit code of the process should be preferred.

@Didayolo Didayolo added the Bug label Oct 29, 2024
@Didayolo
Copy link
Member

Interesting, that may explain the "Submission stuck in Scoring status" when compute worker crashes problem, reported in #1205.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Bug Competition-specific Problem specific to a given competition or benchmark
Projects
None yet
Development

No branches or pull requests

2 participants