[contestms] Re: RPC callback for Worker.execute_job_group raised exception.

  • From: Kiên Nguyễn Tiến Trung <kc97ble@xxxxxxxxx>
  • To: contestms@xxxxxxxxxxxxx
  • Date: Tue, 16 Feb 2016 16:20:38 +0700

there are 2 workers

2016-02-14 22:24 GMT+07:00 William Di Luigi <williamdiluigi@xxxxxxxxx>:

How many workers do you have on the same machine? I believe CMS currently
has issues with more that 9 workers on the same machine (they will try to
write on each other's sandboxes).

If that's the issue, you can try changing this line:


https://github.com/cms-dev/isolate/blob/6ea7b322ad9736b6abf5b9c56666584229eaf9b8/config.h#L10

You should increase the number (100) to something like 1000, or 10000.
Then you should compile & install isolate on every worker:

$ ./prerequisites.py build_isolate
$ sudo ./prerequisites.py install_isolate

If you have less that 9 workers per machine, then this is probably not the
issue.


On Sun, Feb 14, 2016 at 3:48 PM, Kiên Nguyễn Tiến Trung <kc97ble@xxxxxxxxx
wrote:

Thank you.

2016-02-14 21:00 GMT+07:00 Stefano Maggiolo <s.maggiolo@xxxxxxxxx>:

Hi, still those logs don't help much. There other thing you can try to
understand is set keep_sandbox to true and look what's inside the sandbox
that fails. You should see also there a commands.log file that you can try
manually.
On Feb 14, 2016 15:27, "Kiên Nguyễn Tiến Trung" <kc97ble@xxxxxxxxx>
wrote:

Maybe, the error caused because there is not enough memory.

ERROR [Worker,0] Worker failed.

Traceback (most recent call last):
  File
"/usr/local/lib/python2.7/dist-packages/cms-1.2.0-py2.7.egg/cms/service/Worker.py",
line 137, in execute_job_group
    task_type.execute_job(job, self.file_cacher)
  File
"/usr/local/lib/python2.7/dist-packages/cms-1.2.0-py2.7.egg/cms/grading/TaskType.py",
line 245, in execute_job
    self.evaluate(job, file_cacher)
  File
"/usr/local/lib/python2.7/dist-packages/cms-1.2.0-py2.7.egg/cms/grading/tasktypes/Batch.py",
line 261, in evaluate
    stdout_redirect=stdout_redirect)
  File
"/usr/local/lib/python2.7/dist-packages/cms-1.2.0-py2.7.egg/cms/grading/__init__.py",
line 478, in evaluation_step
    stdin_redirect, stdout_redirect, wait=True)
  File
"/usr/local/lib/python2.7/dist-packages/cms-1.2.0-py2.7.egg/cms/grading/__init__.py",
line 535, in evaluation_step_before_run
    return sandbox.execute_without_std(command, wait=wait)
  File
"/usr/local/lib/python2.7/dist-packages/cms-1.2.0-py2.7.egg/cms/grading/Sandbox.py",
line 1262, in execute_without_std
    return self.translate_box_exitcode(wait_without_std([popen])[0])
  File
"/usr/local/lib/python2.7/dist-packages/cms-1.2.0-py2.7.egg/cms/grading/Sandbox.py",
line 1283, in translate_box_exitcode
    raise SandboxInterfaceException("Sandbox exit status unknown")
SandboxInterfaceException: Sandbox exit status unknown



2016-02-14 16:47 GMT+07:00 Stefano Maggiolo <s.maggiolo@xxxxxxxxx>:

Hi Kiên, if I understand correctly, no evaluation is taking place, as
there is a problem with setting up the sandbox.

Sadly the log don't say much more, the usual problems with that are if
isolate has not the right permissions or the suid bit, or if the directory
where the sandboxes should be don't exist. You can see the place in
cms.conf under "temp_dir". Also make sure that CMS is executing the right
isolate (sometimes you have a local executable with the wrong permissions
that mask the correct one).

If this don't help, try enabling debug logging changing
"file_log_debug": false, to true in cms.conf, and then look at the logs of
the workers, which should now contain the isolate command line. Try 
execute
it on your own and see if you get some useful output.

On 14 February 2016 at 09:21, Kiên Nguyễn Tiến Trung <
kc97ble@xxxxxxxxx> wrote:

There is a contest running now and I'm worry about the warnings
below. Are they dangerous?









--
William

Other related posts: