Repository navigation
fix issue #1732 - #1733
fix issue #1732#1733jlohse-mpi-sws wants to merge 2 commits into
Conversation
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #1733 +/- ##
==========================================
+ Coverage 56.72% 56.83% +0.11%
==========================================
Files 344 344
Lines 28314 28363 +49
==========================================
+ Hits 16060 16121 +61
+ Misses 12254 12242 -12
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
veluca93
left a comment
There was a problem hiding this comment.
Looks like some test was relying on the previous behaviour, could you check?
|
Yes sorry. The issue was that my change prioritized controller failures over contestant failures, but it has to be the other way around in case the controller fails because of waiting for the contestant. |
|
If the controller fails because of waiting for the contestant, doesn't that indicate a bug in the controller or a too-low controller wall time limit? So I would expect "controller failed" in this case. |
|
Somewhat off-topic: Are the sandboxes intentionally not cleaned up in the "invalid command from controller" branch? |
In the current implementation there is only one wall time limit (controller_wall_limit) and the contestant gets the same wall limit. Therefore, if the contestant sleeps, the controller (who is started first) will likely time out first. People have been saying it is too hard to reliably find out in general whether the controller died because the contestant took too long, it guess this is why it is implemented like this @veluca93 ? |
|
Thanks for your explanation. I hadn't realized that the solution and the controller have the same wall time limit. So with the current implementation, I suppose a solution can force (success=False,"Controller Failed") by sleeping for a little less than the wall time limit and then quitting. (Not sure how problematic this is if done intentionally, but couldn't something to this effect also happen accidentally and then the participant would never learn the result of their submission?) This implementation also means that the stub has to check every input from the controller for completeness before handing it to the contestant's code as the controller could have been killed while writing, right? |
No description provided.