-
Notifications
You must be signed in to change notification settings - Fork 3
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
Disk quota is not enforced #32
Comments
@rqu Could you specify, where did you find that quota needs to be set during |
The parameter to The error message comes from rules.c:539,
The fact you are getting the error means isolate at least attempted to set the quota, as opposed to the case where The "only" way to enable quotas seems to be the Searching the Web I also found you can add |
OK, thanks, I think I got it. |
Fixed in release 1.7.2. |
Looking at isolate source it seems that
--quota
parameters are only used by command--init
, while other commands (including--run
) silently ignore it. ReCodEx passes--quota
only toisolate --run
, not toisolate --init
.Steps to reproduce:
I have tested this using the following program (submit to any C or C++ exercise). It writes to file
big
as much as it can, then terminates. Please do not run this in production*.Expected behavior: When the quota is eventually reached,
write
syscall fails withEDQUOT
,fwrite
returns <1000, and the program terminates.Observed behavior: The quota is exceeded and the file fills the disk.
You may need to add a
sleep
at the end of the program and checkdf -h /var/recodex-worker-wd
concurrently in a shell.* - In my setup, the isolate box and the ReCodEx Worker working directory are on the same filesystem, so the file cannot be copied out of the isolate box (
ENOSPC
). While the box does get properly cleaned up, the solution is left in the"work-in-progress"
status forever (“The evaluation is not available yet. Click the refresh button for an update.”). YMMV.The text was updated successfully, but these errors were encountered: