Giter Club home page Giter Club logo

oioioi's Issues

Round reordering

It would be nice if one could change the order of rounds. For example, when teaching, one could always put the current round at the top and put the remaining ones ascending chronologically.

I suggest that the round configuration blocks in the contest admin page become drag-and-droppable, so the contest owner may reorder them freely.

Two technical questions about OIOIOI

I've got two questions about problems in the OIOIOI system:

  1. What should be the format of package I'm trying to upload with the "New problem" form inside the contest editing mode? What should it (this package) contain and how should be the files inside it organised/named?

  2. I'm not sure about that: I have configured the OIOIOI using the simple way. Are solutions for problems checked automatically or I have to install sioworkers and run them separately in order to do this?

Button to copy submission's code to clipboard is not translated after being clicked.

Button to copy submission's source code is not translated after being clicked.

How to reproduce:

  1. Set system language to polish.
  2. Go to any submission.
  3. Click 'Pokaż kod'.
  4. On new page click 'Skopiuj do schowka'.
  5. The button's text is now in English ('Copied').

The problem is present on fresh oioioi instance and on szkopul too.

The text should be translated to give a more polished user experience.

image
image

Per-contest (or per-problem) compiler container

It would be nice if we could upload a compiler container for a contest, for example, if the contest wants to use a new language or new language version. This could additionally allow making contests with weirder judging principles (this is not theoretical, I have actually hosted a contest with unusual judging, and it required a lot of tweaking). Potentially, this would lead to more transparency in the actual compiler containers used by contests like OI.

Django issue

New django-formtools version came out few days ago which requires 1.11 Django, but installing Django 1.11 causes "oioioi 0.1.1.dev0 has requirement Django <1.11,>=1.10 but you'll have Django 1.11 which is incompatible" error

Per-contest compiler flags

One can override the compiler contest-wide. However, to override compiler flags contest-wide, one must change them in all problem packages, which is annoying and makes it harder to share tasks between contests. It would be nice if it were possible to change compiler flags in the contest panel (possibly adding another field to compiler overrides).

Bonus if these could also be changed on a per-problem basis.

Docker deployment failing with "oioioi-create-config: command not found"

Tried following the docker deployment installation, unfortunately it doesn't wanna bring the containers up and fails.

Tried running the command on a clean instance of Ubuntu 14.04.

~# docker --version
Docker version 18.06.0-ce, build 0ffa825
~# docker-compose --version
docker-compose version 1.22.0, build f46880fe

See attached outputs of both docker build and docker-compose commands:
docker build output
docker-compose output

Upgrade sandboxes

Would it be possible to bring the versions of sandboxes up to the newest versions? Especially vcpu_exec, as the currently used version of Pin refuses to launch on newer versions of Linux.

pending

I see this error at one submission and after that all of submission will be pending:

Traceback (most recent call last):
File "/home/siouser/sio2/venv/src/oioioi/oioioi/evalmgr/init.py", line 128, in evalmgr_job
env = _run_phase(env, phase)
File "/home/siouser/sio2/venv/src/oioioi/oioioi/evalmgr/init.py", line 58, in _run_phase
env = handler_func(env, *_kwargs)
File "/home/siouser/sio2/venv/src/oioioi/oioioi/programs/handlers.py", line 59, in decorated
return fn(env, *_kwargs)
File "/home/siouser/sio2/venv/src/oioioi/oioioi/programs/handlers.py", line 190, in run_tests
jobs = run_sioworkers_jobs(jobs)
File "/home/siouser/sio2/venv/src/oioioi/oioioi/sioworkers/jobs.py", line 11, in run_sioworkers_jobs
return _get_backend().run_jobs(dict_of_jobs)
File "/home/siouser/sio2/venv/src/oioioi/oioioi/sioworkers/backends.py", line 43, in run_jobs
results[key] = async_job.get()
File "/home/siouser/sio2/venv/local/lib/python2.7/site-packages/celery/result.py", line 120, in get
interval=interval)
File "/home/siouser/sio2/venv/local/lib/python2.7/site-packages/celery/backends/amqp.py", line 138, in wait_for
raise self.exception_to_python(meta['result'])
OSError: [Errno 24] Too many open files

incorrect format

hello

I use this system
but when someone submit a code with incorrect format (like helloworld.cbp) the judging system has stop. And need to be restart.

Failed to execute command: less

I have met this problem

FilterError at /

�[31mNameError: #grid > .core > .span is undefined�[39m�[31m in �[39m/home/zimpha/sio2/deployment/static/bootstrap/less/navbar.less�[90m on line 199, column 3:�[39m
�[90m198 .navbar-fixed-bottom .container {�[39m
199 �[7m�[31m�[1m#�[22mgrid > .core > .span(@gridColumns);�[39m�[27m
�[90m200 }�[39m�[0m�[0m

Traceback (most recent call last):
File "/home/zimpha/sio2/venv/bin/django-staticfiles-lessc", line 9, in
load_entry_point('oioioi==0.1.1.dev', 'console_scripts', 'django-staticfiles-lessc')()
File "/home/zimpha/sio2/oioioi/oioioi/base/lessc.py", line 54, in main
execute(['lessc'] + sys.argv[1:], capture_output=False)
File "/home/zimpha/sio2/oioioi/oioioi/base/utils/execute.py", line 83, in execute
(command, stdout))
oioioi.base.utils.execute.ExecuteError: Failed to execute command: lessc /home/zimpha/sio2/deployment/static/less/style.less /tmp/tmpXOXPP4.css

How to solve it?

Support python code submission

I will be great to add python to the list of programming language along with c, c++ and python. As must i'd like to add a few other programming languages python is the first one.

oioioi is a great tool with lots of potential but unfortunately lack of documentation. I have hacked around a minimal setup which accepts python code for pretty much everything c, c++ or pascal was used, but its crude. I'd like to know if there is any work going on to support python and if not then would like to help with the same.

-Neeraj

Docker for production fails to build

When Docker tries to download https://downloads.sio2project.mimuw.edu.pl/sandboxes/sio2jail_exec-sandbox-1.3.0.tar.gz server responds with 403 FORBIDDEN

Step 21/22 : RUN ./manage.py supervisor > /dev/null --daemonize &&     ./manage.py download_sandboxes -q -y -c /sio2/sandboxes &&     ./manage.py supervisor stop all
 ---> Running in f4b87cfe431c
--- Downloading Manifest ...

--- Looking for license ...

--- Preparing ...

--- Downloading sandboxes ...

2020-03-18 11:52:04 URL:https://downloads.sio2project.mimuw.edu.pl/sandboxes/compiler-fpc.2_4_2.tar.gz [9888106/9888106] -> "compiler-fpc.2_4_2.tar.gz" [1]
2020-03-18 11:52:06 URL:https://downloads.sio2project.mimuw.edu.pl/sandboxes/compiler-fpc.2_4_4.tar.gz [8765962/8765962] -> "compiler-fpc.2_4_4.tar.gz" [1]
2020-03-18 11:52:09 URL:https://downloads.sio2project.mimuw.edu.pl/sandboxes/compiler-fpc.2_6_2.tar.gz [14271786/14271786] -> "compiler-fpc.2_6_2.tar.gz" [1]
2020-03-18 11:52:13 URL:https://downloads.sio2project.mimuw.edu.pl/sandboxes/compiler-gcc.4_6_3.tar.gz [28823240/28823240] -> "compiler-gcc.4_6_3.tar.gz" [1]
2020-03-18 11:52:19 URL:https://downloads.sio2project.mimuw.edu.pl/sandboxes/compiler-gcc.4_8_2.tar.gz [35360033/35360033] -> "compiler-gcc.4_8_2.tar.gz" [1]
2020-03-18 11:52:29 URL:https://downloads.sio2project.mimuw.edu.pl/sandboxes/compiler-gcc.6_3_0.tar.gz [58392873/58392873] -> "compiler-gcc.6_3_0.tar.gz" [1]
2020-03-18 11:52:41 URL:https://downloads.sio2project.mimuw.edu.pl/sandboxes/compiler-gcc.8_3_0-amd64.tar.gz [71363422/71363422] -> "compiler-gcc.8_3_0-amd64.tar.gz" [1]
2020-03-18 11:52:53 URL:https://downloads.sio2project.mimuw.edu.pl/sandboxes/compiler-gcc.8_3_0-i386.tar.gz [70202073/70202073] -> "compiler-gcc.8_3_0-i386.tar.gz" [1]
2020-03-18 11:53:25 URL:https://downloads.sio2project.mimuw.edu.pl/sandboxes/compiler-java.1_8.tar.gz [174984266/174984266] -> "compiler-java.1_8.tar.gz" [1]
2020-03-18 11:53:25 URL:https://downloads.sio2project.mimuw.edu.pl/sandboxes/exec-sandbox.tar.gz [552573/552573] -> "exec-sandbox.tar.gz" [1]
2020-03-18 11:53:32 URL:https://downloads.sio2project.mimuw.edu.pl/sandboxes/vcpu_exec-sandbox.tar.gz [35880132/35880132] -> "vcpu_exec-sandbox.tar.gz" [1]
2020-03-18 11:53:32 URL:https://downloads.sio2project.mimuw.edu.pl/sandboxes/proot-sandbox.tar.gz [2004185/2004185] -> "proot-sandbox.tar.gz" [1]
2020-03-18 11:53:32 URL:https://downloads.sio2project.mimuw.edu.pl/sandboxes/null-sandbox.tar.gz [10240/10240] -> "null-sandbox.tar.gz" [1]
2020-03-18 11:53:33 URL:https://downloads.sio2project.mimuw.edu.pl/sandboxes/sio2jail_exec-sandbox.tar.gz [1293214/1293214] -> "sio2jail_exec-sandbox.tar.gz" [1]
2020-03-18 11:53:34 URL:https://downloads.sio2project.mimuw.edu.pl/sandboxes/sio2jail_exec-sandbox-1.1.0.tar.gz [6803001/6803001] -> "sio2jail_exec-sandbox-1.1.0.tar.gz" [1]
https://downloads.sio2project.mimuw.edu.pl/sandboxes/sio2jail_exec-sandbox-1.3.0.tar.gz:
2020-03-18 11:53:34 ERROR 403: Forbidden.
FINISHED --2020-03-18 11:53:34--
Total wall clock time: 1m 34s
Downloaded: 15 files, 495M in 1m 30s (5.48 MB/s)
Traceback (most recent call last):
  File "./manage.py", line 14, in <module>
    execute_from_command_line(sys.argv)
  File "/home/oioioi/.local/lib/python2.7/site-packages/django/core/management/__init__.py", line 367, in execute_from_command_line
    utility.execute()
  File "/home/oioioi/.local/lib/python2.7/site-packages/django/core/management/__init__.py", line 359, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/home/oioioi/.local/lib/python2.7/site-packages/django/core/management/base.py", line 294, in run_from_argv
    self.execute(*args, **cmd_options)
  File "/home/oioioi/.local/lib/python2.7/site-packages/django/core/management/base.py", line 345, in execute
    output = self.handle(*args, **options)
  File "/sio2/oioioi/oioioi/sioworkers/management/commands/download_sandboxes.py", line 125, in handle
    cwd=download_dir)
  File "/sio2/oioioi/oioioi/base/utils/execute.py", line 83, in execute
    (command, stdout))
oioioi.base.utils.execute.ExecuteError: Failed to execute command: wget -N -i - -nv
None

Is there any problem with this package or just server issue?

Raports from checkers may show too much information

When checker writes "read" and "expected" lines (for example, utility compare from OI ocen) user program can leak tests to user (simply be echoing them to standard output). Character limit of compare is around 200, which renders this leakage practical, especially for tasks with small inputs.

Modification of compare to output only "expected" lines or filter "read" to (short) numbers might be best solution (it looks like compare is OI's proprietary utility, as I couldn't find its source code anywhere).
(Of course, I assume that showing input to user is undesirable).

Docker install fails with TeacherAuthBackend error

On the latest master (de2d573), standard Docker install ends up with:

Step 32/32 : RUN ./manage.py download_sandboxes -q -y -c /sio2/sandboxes
 ---> Running in dc7664e2c385
/home/oioioi/.local/lib/python2.7/site-packages/psycopg2/__init__.py:144: UserWarning: The psycopg2 wheel package will be renamed from release 2.8; in order to keep installing from binary please use "pip install psycopg2-binary" instead. For details see: <http://initd.org/psycopg/docs/install.html#binary-install-from-pypi>.
  """)

Traceback (most recent call last):
  File "./manage.py", line 14, in <module>
    execute_from_command_line(sys.argv)
  File "/home/oioioi/.local/lib/python2.7/site-packages/django/core/management/__init__.py", line 353, in execute_from_command_line
    utility.execute()
  File "/home/oioioi/.local/lib/python2.7/site-packages/django/core/management/__init__.py", line 327, in execute
    django.setup()
  File "/home/oioioi/.local/lib/python2.7/site-packages/django/__init__.py", line 18, in setup
    apps.populate(settings.INSTALLED_APPS)
  File "/home/oioioi/.local/lib/python2.7/site-packages/django/apps/registry.py", line 108, in populate
    app_config.import_models(all_models)
  File "/home/oioioi/.local/lib/python2.7/site-packages/django/apps/config.py", line 202, in import_models
    self.models_module = import_module(models_module_name)
  File "/usr/local/lib/python2.7/importlib/__init__.py", line 37, in import_module
    __import__(name)
  File "/sio2/oioioi/oioioi/teachers/models.py", line 14, in <module>
    raise ImproperlyConfigured("When using teacher module "
django.core.exceptions.ImproperlyConfigured: When using teacher module you have to activate TeacherAuthBackend
ERROR: Service 'web' failed to build: The command '/bin/sh -c ./manage.py download_sandboxes -q -y -c /sio2/sandboxes' returned a non-zero code: 1

By "standard Docker install" I mean:

$ docker build -t oioioi-base -f Dockerfile.base .
$ docker-compose up

When trying to use commit before 5b35be9, the same thing happens as in #26.

No left sidebar menu after login as Teacher

After login as Teacher, there is no left sidebar menu on the page. Instead you have to click on any of the available page links (Students | Teachers | Ranking | Settings etc.) and from there the sidebar menu is available. It would be nice to have it accessible straight away after login.

Problems with sio2jail executor

When using sio2jail as safe execution mode all program outputs for any submissions are empty (and result shown in system is WA). This issue is not occurring when using cpu as safe execution mode
Running system in Docker

Stop using CDNs

Hello,
Could you please stop using external CDNs (exactly CloudFlare CDN to deliver mathjax) on SIO2?

Problem with adding problems and accesing problemset

When I try to add new problem to problemset or any contest I encounter an error:

NoReverseMatch at /c/test/problems/add
Reverse for 'global_portal' with arguments '()' and keyword arguments '{'link_name': 'default', 'portal_path': 'problemset'}' not found. 0 pattern(s) tried: []

Same for trying to access problemset. I use manual installation since I cannot use docker or vagrant image.

Missing Python compiler - fresh install with 'easy_install'

After setting up the docker, creating users, problems etc, the submissions fail. For python, the logs complain the module providing the compiler is missing. For C, depending on selected execution mode, different errors are reported, but neither seems to work.
I'm assuming there is some configuration step that is necessary to make those containers actually work, but it's not mentioned in the documentation, but just in case this helps, here's the log from a (failed) python submission:

Traceback (most recent call last):
  File "/sio2/oioioi/oioioi/evalmgr/tasks.py", line 321, in evalmgr_job
    (env['error']['message'], env['error']['traceback']))
RuntimeError: Error from workers:
Some tasks in a group failed.

Exception: received from [email protected]:43534: exception: <twisted.python.failure.Failure exceptions.RuntimeError: Module providing 'sio.compilers:python' not found>
Remote traceback:
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/threading.py", line 801, in __bootstrap_inner
    self.run()
  File "/usr/local/lib/python2.7/threading.py", line 754, in run
    self.__target(*self.__args, **self.__kwargs)
  File "/home/oioioi/.local/lib/python2.7/site-packages/twisted/_threads/_threadworker.py", line 46, in work
    task()
  File "/home/oioioi/.local/lib/python2.7/site-packages/twisted/_threads/_team.py", line 190, in doWork
    task()
--- <exception caught here> ---
  File "/home/oioioi/.local/lib/python2.7/site-packages/twisted/python/threadpool.py", line 250, in inContext
    result = inContext.theWork()
  File "/home/oioioi/.local/lib/python2.7/site-packages/twisted/python/threadpool.py", line 266, in <lambda>
    inContext.theWork = lambda: context.call(ctx, func, *args, **kw)
  File "/home/oioioi/.local/lib/python2.7/site-packages/twisted/python/context.py", line 122, in callWithContext
    return self.currentContext().callWithContext(ctx, func, *args, **kw)
  File "/home/oioioi/.local/lib/python2.7/site-packages/twisted/python/context.py", line 85, in callWithContext
    return func(*args,**kw)
  File "/home/oioioi/.local/lib/python2.7/site-packages/sio/protocol/worker.py", line 14, in _runner_wrap
    renv = runner.run(env)
  File "/home/oioioi/.local/lib/python2.7/site-packages/sio/workers/runner.py", line 76, in run
    environ['job_type'])(environ)
  File "/home/oioioi/.local/lib/python2.7/site-packages/sio/compilers/job.py", line 21, in run
    environ['compiler'].split('.')[0])
  File "/home/oioioi/.local/lib/python2.7/site-packages/sio/workers/util.py", line 24, in first_entry_point
    (group, name or ''))
exceptions.RuntimeError: Module providing 'sio.compilers:python' not found

TB:
Traceback (most recent call last):
  File "/home/oioioi/.local/lib/python2.7/site-packages/twisted/internet/defer.py", line 654, in _runCallbacks
    current.result = callback(current.result, *args, **kw)
  File "/home/oioioi/.local/lib/python2.7/site-packages/twisted/internet/defer.py", line 1116, in _cbDeferred
    self.callback(self.resultList)
  File "/home/oioioi/.local/lib/python2.7/site-packages/twisted/internet/defer.py", line 460, in callback
    self._startRunCallbacks(result)
  File "/home/oioioi/.local/lib/python2.7/site-packages/twisted/internet/defer.py", line 568, in _startRunCallbacks
    self._runCallbacks()
--- <exception caught here> ---
  File "/home/oioioi/.local/lib/python2.7/site-packages/twisted/internet/defer.py", line 654, in _runCallbacks
    current.result = callback(current.result, *args, **kw)
  File "/home/oioioi/.local/lib/python2.7/site-packages/sio/sioworkersd/taskmanager.py", line 244, in _collect
    raise MultiException("Some tasks in a group failed.", failed)
sio.sioworkersd.taskmanager.MultiException: Some tasks in a group failed.

Exception: received from [email protected]:43534: exception: <twisted.python.failure.Failure exceptions.RuntimeError: Module providing 'sio.compilers:python' not found>
Remote traceback:
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/threading.py", line 801, in __bootstrap_inner
    self.run()
  File "/usr/local/lib/python2.7/threading.py", line 754, in run
    self.__target(*self.__args, **self.__kwargs)
  File "/home/oioioi/.local/lib/python2.7/site-packages/twisted/_threads/_threadworker.py", line 46, in work
    task()
  File "/home/oioioi/.local/lib/python2.7/site-packages/twisted/_threads/_team.py", line 190, in doWork
    task()
--- <exception caught here> ---
  File "/home/oioioi/.local/lib/python2.7/site-packages/twisted/python/threadpool.py", line 250, in inContext
    result = inContext.theWork()
  File "/home/oioioi/.local/lib/python2.7/site-packages/twisted/python/threadpool.py", line 266, in <lambda>
    inContext.theWork = lambda: context.call(ctx, func, *args, **kw)
  File "/home/oioioi/.local/lib/python2.7/site-packages/twisted/python/context.py", line 122, in callWithContext
    return self.currentContext().callWithContext(ctx, func, *args, **kw)
  File "/home/oioioi/.local/lib/python2.7/site-packages/twisted/python/context.py", line 85, in callWithContext
    return func(*args,**kw)
  File "/home/oioioi/.local/lib/python2.7/site-packages/sio/protocol/worker.py", line 14, in _runner_wrap
    renv = runner.run(env)
  File "/home/oioioi/.local/lib/python2.7/site-packages/sio/workers/runner.py", line 76, in run
    environ['job_type'])(environ)
  File "/home/oioioi/.local/lib/python2.7/site-packages/sio/compilers/job.py", line 21, in run
    environ['compiler'].split('.')[0])
  File "/home/oioioi/.local/lib/python2.7/site-packages/sio/workers/util.py", line 24, in first_entry_point
    (group, name or ''))
exceptions.RuntimeError: Module providing 'sio.compilers:python' not found

Add more graphs in problems statistics

Karol Pokorski suggested adding more graphs in statistics dashboard. In particular graph comparing execution times of jury's program and min/max/avg of accepted solutions.

Oioioi-create-config results in error

Using 8d776de I can't create config for deployment using oioioi-create-config:

(venv)beton@ubuntu:~/sio2$ oioioi-create-config deployment
Traceback (most recent call last):
  File "/home/beton/sio2/venv/bin/oioioi-create-config", line 5, in <module>
    from pkg_resources import load_entry_point
  File "/home/beton/sio2/venv/local/lib/python2.7/site-packages/distribute-0.6.24-py2.7.egg/pkg_resources.py", line 2711, in <module>
    parse_requirements(__requires__), Environment()
  File "/home/beton/sio2/venv/local/lib/python2.7/site-packages/distribute-0.6.24-py2.7.egg/pkg_resources.py", line 588, in resolve
    raise VersionConflict(dist,req) # XXX put more info here
pkg_resources.VersionConflict: (Django 1.6 (/home/beton/sio2/venv/lib/python2.7/site-packages), Requirement.parse('django>=1.4.2,<1.6'))

Looks as if pip downloaded 1.6 version of Django while <1.6 was needed.

Distro is Ubuntu 12.04.3 with python 2.7 installed.

Not a simple installation, vagrant up

Hello,
I wanted to install SIO2 through simple installation. I installed vagrant and fired: vagrant up. Effect:
LINK
As you can see it does not work. What to do?
Regards.
Sorry for my English.

Add spam detection API

There has been spam activity on various contests' forums (with open registration). Even though it is unavoidable in such circumstances, it would be nice to allow to employ algorithms that classify posts, and automatically delete/hide messages that are very likely spam.

Cannot build OIOIOI container

Hi,

After executing docker build . it proceeds up to sandboxes saving phase. Then, I've got the following error:

--- Saving sandboxes to the Filetracker ...



compiler-fpc.2_4_2.tar.gz

Traceback (most recent call last):
  File "./manage.py", line 14, in <module>
    execute_from_command_line(sys.argv)
  File "/home/oioioi/.local/lib/python2.7/site-packages/django/core/management/__init__.py", line 364, in execute_from_command_line
    utility.execute()
  File "/home/oioioi/.local/lib/python2.7/site-packages/django/core/management/__init__.py", line 356, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/home/oioioi/.local/lib/python2.7/site-packages/django/core/management/base.py", line 283, in run_from_argv
    self.execute(*args, **cmd_options)
  File "/home/oioioi/.local/lib/python2.7/site-packages/django/core/management/base.py", line 330, in execute
    output = self.handle(*args, **options)
  File "/sio2/oioioi/oioioi/sioworkers/management/commands/download_sandboxes.py", line 171, in handle
    filetracker.put_file('/sandboxes/' + basename, local_file)
  File "/home/oioioi/.local/lib/python2.7/site-packages/filetracker/client/client.py", line 287, in put_file
    name, filename, compress_hint=compress_hint)
  File "/home/oioioi/.local/lib/python2.7/site-packages/filetracker/client/remote_data_store.py", line 79, in wrapped
    ret = fn(*args, **kwargs)
  File "/home/oioioi/.local/lib/python2.7/site-packages/filetracker/client/remote_data_store.py", line 63, in wrapped
    raise FiletrackerError('Error making HTTP request: %s' % e)
filetracker.client.FiletrackerError: Error making HTTP request: HTTPConnectionPool(host='web', port=9999): Max retries exceeded with url: /version/ (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7fd6ee59fa90>: Failed to establish a new connection: [Errno -3] Temporary failure in name resolution',))
Exception AttributeError: "'NoneType' object has no attribute 'close'" in <bound method FcntlLockManager.__del__ of <filetracker.client.lock_manager.FcntlLockManager object at 0x7fd6ee646b50>> ignored
The command '/bin/sh -c ./manage.py supervisor > /dev/null --daemonize --nolaunch=uwsgi &&     ./manage.py download_sandboxes -q -y -c /sio2/sandboxes &&     ./manage.py supervisor stop all' returned a non-zero code: 1

Any help would be appreciated.

Require a password for 2FA, missing translation

A password isn't needed for setting up two-factor authorization, which can be used to easily lock an account. That occured several times on the sio2 instance I manage.
Additionaly, it would be nice if the user was asked for the password before viewing or regenerating the API token.

I also noticed a missing translation at /account/two_factor/setup/complete/:
image

Remove FPC from developer installation

Currently Docker image for developers contains FPC compiler, unfortunately there is no valid debian package (for arm64):

The main reason for FPC in dev. installation is due to some task packages with Pascal only solutions.

Actions:

  • get rid of fp-compiler fp-units-base fp-units-math from Dockerfile
  • migrate task packages form Pascal to C/C++

Can't view testrun result

The issue occurs when you view the submission related to a testrun.
Seems to be caused by checking whether the input file is a zip.
However, an internal server error is thrown regardless of the file format.

Traceback etc.
Environment:

Request Method: GET
Request URL: http://localhost:8000/c/example_contest/s/3/

Django Version: 3.2.16
Python Version: 3.7.16
Installed Applications:
('oioioi.contestlogo',
'oioioi.participants',
'oioioi.oi',
'oioioi.contestexcl',
'oioioi.testrun',
'oioioi.printing',
'oioioi.scoresreveal',
'oioioi.confirmations',
'oioioi.acm',
'oioioi.forum',
'oioioi.ctimes',
'oioioi.suspendjudge',
'oioioi.timeline',
'oioioi.balloons',
'oioioi.statistics',
'oioioi.publicsolutions',
'oioioi.testspackages',
'oioioi.globalmessage',
'debug_toolbar',
'oioioi.filetracker',
'oioioi.contests',
'oioioi.problems',
'oioioi.programs',
'oioioi.sinolpack',
'oioioi.questions',
'oioioi.rankings',
'oioioi.sioworkers',
'oioioi.analytics',
'oioioi.celery',
'oioioi.status',
'oioioi.su',
'oioioi.clock',
'oioioi.dashboard',
'oioioi.base',
'oioioi.maintenancemode',
'oioioi.evalmgr',
'oioioi.workers',
'oioioi.quizzes',
'oioioi._locale',
'djsupervisor',
'registration',
'django_extensions',
'compressor',
'dj_pagination',
'mptt',
'django.contrib.admin',
'django.contrib.admindocs',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.humanize',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'django.contrib.sites',
'django.forms',
'django_otp',
'django_otp.plugins.otp_static',
'django_otp.plugins.otp_totp',
'two_factor',
'nested_admin',
'coreapi',
'rest_framework',
'rest_framework.authtoken',
'captcha',
'fontawesomefree')
Installed Middleware:
('debug_toolbar.middleware.DebugToolbarMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'oioioi.base.middleware.TimestampingMiddleware',
'django.middleware.locale.LocaleMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django_otp.middleware.OTPMiddleware',
'oioioi.base.middleware.AnnotateUserBackendMiddleware',
'oioioi.su.middleware.SuAuthenticationMiddleware',
'oioioi.su.middleware.SuFirstTimeRedirectionMiddleware',
'oioioi.base.middleware.UserInfoInErrorMessage',
'django.contrib.messages.middleware.MessageMiddleware',
'dj_pagination.middleware.PaginationMiddleware',
'oioioi.contests.middleware.CurrentContestMiddleware',
'oioioi.base.middleware.HttpResponseNotAllowedMiddleware',
'oioioi.base.middleware.CheckLoginMiddleware',
'oioioi.base.middleware.UserPreferencesMiddleware',
'oioioi.maintenancemode.middleware.MaintenanceModeMiddleware',
'oioioi.contestexcl.middleware.ExclusiveContestsMiddleware')

Traceback (most recent call last):
File "/home/oioioi/.local/lib/python3.7/site-packages/django/core/handlers/exception.py", line 47, in inner
response = get_response(request)
File "/home/oioioi/.local/lib/python3.7/site-packages/django/core/handlers/base.py", line 181, in _get_response
response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "/usr/local/lib/python3.7/contextlib.py", line 74, in inner
return func(*args, **kwds)
File "/sio2/oioioi/oioioi/base/permissions.py", line 134, in _wrapped_view
return view_func(request, *args, **kwargs)
File "/sio2/oioioi/oioioi/contests/views.py", line 343, in submission_view
header = controller.render_submission(request, submission)
File "/sio2/oioioi/oioioi/testrun/controllers.py", line 282, in render_submission
'input_is_zip': is_zipfile(sbm_testrun.input_file),
File "/usr/local/lib/python3.7/zipfile.py", line 201, in is_zipfile
result = _check_zipfile(fp=filename)
File "/usr/local/lib/python3.7/zipfile.py", line 187, in _check_zipfile
if _EndRecData(fp):
File "/usr/local/lib/python3.7/zipfile.py", line 259, in _EndRecData
fpin.seek(0, 2)
File "/home/oioioi/.local/lib/python3.7/site-packages/django/core/files/utils.py", line 46, in
seek = property(lambda self: self.file.seek)
File "/home/oioioi/.local/lib/python3.7/site-packages/django/core/files/utils.py", line 46, in
seek = property(lambda self: self.file.seek)

Exception Type: AttributeError at /c/example_contest/s/3/
Exception Value: '_FileLikeFromResponse' object has no attribute 'seek'

Error in the docker installation

Hello,
during the OIOIOI installation using the docker, in the command:

docker build -t oioioi .

during step 32 I received an error:

Step 32/32 : RUN ./manage.py download_sandboxes -q -y -c /sio2/sandboxes
---> Running in 229620a57ae6
Traceback (most recent call last):
File "./manage.py", line 14, in
execute_from_command_line(sys.argv)
File "/home/oioioi/.local/lib/python2.7/site-packages/django/core/management/init.py", line 353, in execute_from_command_line
utility.execute()
File "/home/oioioi/.local/lib/python2.7/site-packages/django/core/management/init.py", line 327, in execute
django.setup()
File "/home/oioioi/.local/lib/python2.7/site-packages/django/init.py", line 18, in setup
apps.populate(settings.INSTALLED_APPS)
File "/home/oioioi/.local/lib/python2.7/site-packages/django/apps/registry.py", line 89, in populate
"duplicates: %s" % app_config.label)
django.core.exceptions.ImproperlyConfigured: Application labels aren't unique, duplicates: workers
The command '/bin/sh -c ./manage.py download_sandboxes -q -y -c /sio2/sandboxes' returned a non-zero code: 1

What to do?
Regards.
Sorry for my English.

Space not allowed in last name field

Hello,
My first name is Michel and my last name is Le Bihan. When I submit the name form, I get the error This value may contain only letters, numbers and punctuation marks..
I saw:

""" All characters constituting users name and surname must
belong to one of the categories specified in
`UNICODE_CATEGORY_LIST`. For a guide of unicode categories
see: https://unicodebook.readthedocs.io/unicode.html
"""
UNICODE_CATEGORY_LIST = ['Ll', 'Lm', 'Lo', 'Lt', 'Lu', 'Nd',
'Pf', 'Pd', 'Pi', 'Pe', 'Pc', 'Sc']

It seems really strange to me that some punctuation marks are allowed, but spaces aren't.

Admin page for Teachers - usability issues

Admin view for managing teachers have several usability issues:

  • missing search option (search by school or search by usename or first/last name)
  • there is no timestamp of request date (so it is not possible to filter recent requests)
  • adding new teacher form is not usable due to too large select field (static HTML element with all users)
  • missing translations "Dodaj teacher" & "900 teachers"

Affected urls:

supervisor error

While setting up a new install, i get this error

(venv) administrator@testserver2:~/oioioi/sio2/deployment$ ./manage.py supervisor
/home/administrator/oioioi/sio2/oioioi/oioioi/base/captcha_check.py:42: CaptchaAudioWarning: Audio playback of captcha is turned off, because no flite executable was found in PATH, and CAPTCHA_FLITE_PATH was not set to any path
warnings.warn(
System check identified some issues:

WARNINGS:
?: (urls.W005) URL namespace 'contest:oioioiadmin' isn't unique. You may not be able to reverse all URLs in this namespace
Traceback (most recent call last):
File "./manage.py", line 14, in
execute_from_command_line(sys.argv)
File "/home/administrator/oioioi/sio2/venv/lib/python3.8/site-packages/django/core/management/init.py", line 381, > in execute_from_command_line
utility.execute()
File "/home/administrator/oioioi/sio2/venv/lib/python3.8/site-packages/django/core/management/init.py", line 375, > in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "/home/administrator/oioioi/sio2/venv/lib/python3.8/site-packages/djsupervisor/management/commands/supervisor.py", line 179, in run_from_argv
return super(Command,self).run_from_argv(argv)
File "/home/administrator/oioioi/sio2/venv/lib/python3.8/site-packages/django/core/management/base.py", line 323, in > run_from_argv
self.execute(*args, **cmd_options)
File "/home/administrator/oioioi/sio2/venv/lib/python3.8/site-packages/django/core/management/base.py", line 364, in > execute
output = self.handle(*args, **options)
File "/home/administrator/oioioi/sio2/venv/lib/python3.8/site-packages/djsupervisor/management/commands/supervisor.py", line 192, in handle
return supervisord.main(("-c",cfg_file))
File "/home/administrator/oioioi/sio2/venv/lib/python3.8/site-packages/supervisor/supervisord.py", line 352, in main
options.realize(args, doc=doc)
File "/home/administrator/oioioi/sio2/venv/lib/python3.8/site-packages/supervisor/options.py", line 485, in realize
Options.realize(self, *arg, **kw)
File "/home/administrator/oioioi/sio2/venv/lib/python3.8/site-packages/supervisor/options.py", line 310, in realize
self.process_config()
File "/home/administrator/oioioi/sio2/venv/lib/python3.8/site-packages/supervisor/options.py", line 549, in process_config
Options.process_config(self, do_usage=do_usage)
File "/home/administrator/oioioi/sio2/venv/lib/python3.8/site-packages/supervisor/options.py", line 318, in process_config
self.process_config_file(do_usage)
File "/home/administrator/oioioi/sio2/venv/lib/python3.8/site-packages/supervisor/options.py", line 348, in process_config_file
self.read_config(self.configfile)
File "/home/administrator/oioioi/sio2/venv/lib/python3.8/site-packages/supervisor/options.py", line 576, in read_config
parser.read_file(fp)
File "/usr/lib/python3.8/configparser.py", line 718, in read_file
self._read(f, source)
File "/usr/lib/python3.8/configparser.py", line 1017, in _read
for lineno, line in enumerate(fp, start=1):
TypeError: 'OnDemandStringIO' object is not iterable
(venv) administrator@testserver2:~/oioioi/sio2/deployment$

Any idea why this doesnt work?

Problem with run server in nginx - UWSGI Socket

Hi,
I try to install OIOIOI. I came to Production configuration point 10. I installed nginx-full and uwsgi. I set everything as it should. I've broken my domain and cloudflare. Like I did with virtualhosts. When entering, I see erro 502. In fact, in the nginx logs I found:
2018/03/28 21:13:19 [crit] 25039#25039: *2 connect() to unix:///home/oioioi/sio2/deployment/uwsgi.sock failed (2: No such file or directory) while connecting to upstream, client: ****, server: ****, request: "GET / HTTP/1.1", upstream: "uwsgi://unix:///home/oioioi/sio2/deployment/uwsgi.sock:", host: "****"
Actually the uwsgi.sock file is not in the deployment folder. The entire previous installation went without errors. What to do?
Regards.
Sorry for my english.

Weird display of certain instances of admin.TabularInline

As can be seen below, in some instances of admin.TabularInline the rows with objects appear as one row.
The screenshot is from the form for changing a user (for me at /c/c1/admin/auth/user/1/change/), but I encountered the same problem with a custom instance of admin.TabularInline too.
Unsetting display: content and display: flex in some css seems to fix the issue.

I was using default settings and the normal docker-compose.yml. The site was viewed with Firefox.

Screenshot:
image

sioworkersd fails to evaluate anything

Upon receiving a job siowokersd spits out the following:

web_1     | [2021-04-26 21:07:13,513: INFO/MainProcess] Received task: oioioi.evalmgr.tasks.evalmgr_job[22b58e2f-aa88-4313-a795-a8cf1c78386a]
web_1     | 
web_1     | 2021-04-26 21:07:13,595 DEBG 'evalmgr' stderr output:
web_1     | [2021-04-26 21:07:13,592: WARNING/Worker-1] ('127.0.0.1', 9002)
web_1     | 
web_1     | 2021-04-26 21:07:13,598 DEBG 'receive_from_workers' stdout output:
web_1     | ----------------------------------------
web_1     | Exception happened during processing of request from ('127.0.0.1', 
web_1     | 2021-04-26 21:07:13,600 DEBG 'receive_from_workers' stderr output:
web_1     | Traceback (most recent call last):
web_1     |   File "/usr/local/lib/python2.7/SocketServer.py", line 293, in _handle_request_noblock
web_1     |     self.process_request(request, client_address)
web_1     |   File "/usr/local/lib/python2.7/SocketServer.py", line 321, in process_request
web_1     |     self.finish_request(request, client_address)
web_1     |   File "/usr/local/lib/python2.7/SocketServer.py", line 334, in finish_request
web_1     |     self.RequestHandlerClass(request, client_address, self)
web_1     |   File "/usr/local/lib/python2.7/SocketServer.py", line 655, in __init__
web_1     |     self.handle()
web_1     |   File "/usr/local/lib/python2.7/BaseHTTPServer.py", line 340, in handle
web_1     |     self.handle_one_request()
web_1     |   File "/usr/local/lib/python2.7/BaseHTTPServer.py", line 328, in handle_one_request
web_1     |     method()
web_1     |   File "/sio2/oioioi/oioioi/workers/management/commands/start_receive_from_workers.py", line 28, in do_POST
web_1     |     if "data" not in form:
web_1     |   File "/usr/local/lib/python2.7/cgi.py", line 600, in __contains__
web_1     |     raise TypeError, "not indexable"
web_1     | TypeError: not indexable
web_1     | 
web_1     | 2021-04-26 21:07:13,611 DEBG 'receive_from_workers' stdout output:
web_1     | 46328)
web_1     | ----------------------------------------
web_1     | 
web_1     | 2021-04-26 21:07:13,613 DEBG 'receive_from_workers' stderr output:
web_1     | Traceback (most recent call last):
web_1     |   File "/usr/local/lib/python2.7/SocketServer.py", line 293, in _handle_request_noblock
web_1     |     self.process_request(request, client_address)
web_1     |   File "/usr/local/lib/python2.7/SocketServer.py", line 321, in process_request
web_1     |     self.finish_request(request, client_address)
web_1     |   File "/usr/local/lib/python2.7/SocketServer.py", line 334, in finish_request
web_1     |     self.RequestHandlerClass(request, client_address, self)
web_1     |   File "/usr/local/lib/python2.7/SocketServer.py", line 655, in __init__
web_1     |     self.handle()
web_1     |   File "/usr/local/lib/python2.7/BaseHTTPServer.py", line 340, in handle
web_1     |     self.handle_one_request()
web_1     |   File "/usr/local/lib/python2.7/BaseHTTPServer.py", line 328, in handle_one_request
web_1     |     method()
web_1     |   File "/sio2/oioioi/oioioi/workers/management/commands/start_receive_from_workers.py", line 28, in do_POST
web_1     |     if "data" not in form:
web_1     |   File "/usr/local/lib/python2.7/cgi.py", line 600, in __contains__
web_1     |     raise TypeError, "not indexable"
web_1     | TypeError: not indexable
web_1     | 
web_1     | 2021-04-26 21:07:13,617 DEBG 'evalmgr' stderr output:
web_1     | [2021-04-26 21:07:13,600: WARNING/Worker-1] ('127.0.0.1', 9002)
web_1     | 
web_1     | 2021-04-26 21:07:13,619 DEBG 'receive_from_workers' stdout output:
web_1     | ----------------------------------------
web_1     | Exception happened during processing of request from ('127.0.0.1', 46330)
web_1     | ----------------------------------------
web_1     | 
web_1     | 2021-04-26 21:07:13,637 DEBG 'evalmgr' stderr output:
web_1     | [2021-04-26 21:07:13,637: DEBUG/Worker-1] Handling exception '' in job:
web_1     | {   'compilation_result_size_limit': 10485760,
web_1     |     'compiler': u'g++4_8_2_cpp11',
web_1     |     'contest_id': u'theta-i',
web_1     |     'contest_priority': 10,
web_1     |     'contest_weight': 1000,
web_1     |     'eval_dir': u'/eval/theta-i/237',
web_1     |     'exec_mode': u'sio2jail',
web_1     |     'extra_args': {   },
web_1     |     'extra_files': {   },
web_1     |     'group_scorer': 'oioioi.acm.utils.acm_group_scorer',
web_1     |     'is_rejudge': True,
web_1     |     'job_id': 'urn:uuid:41744437-7a54-4e99-bd47-12e9bd425833',
web_1     |     'language': u'cpp',
web_1     |     'oioioi_instance': 'Athena',
web_1     |     'problem_id': 4,
web_1     |     'problem_instance_id': 5,
web_1     |     'problem_short_name': u'squ',
web_1     |     'report_kinds': ['FULL'],
web_1     |     'restore_environ_func': 'oioioi.sioworkers.handlers.restore_job',
web_1     |     'return_url': 'http://127.0.0.1:9002',
web_1     |     'round_id': 1,
web_1     |     'score_aggregator': 'oioioi.acm.utils.acm_score_aggregator',
web_1     |     'source_file': u'/submissions/theta-i/237.cpp@1619470482',
web_1     |     'submission_id': 237,
web_1     |     'submission_kind': u'NORMAL',
web_1     |     'submission_owner': u'mily',
web_1     |     'test_scorer': 'oioioi.acm.utils.acm_test_scorer',
web_1     |     'untrusted_checker': True,
web_1     |     'workers_jobs': {   'compile': {   'compilation_result_size_limit': 10485760,
web_1     |                                        'compiler': u'g++4_8_2_cpp11',
web_1     |                                        'contest_id': u'theta-i',
web_1     |                                        'contest_priority': 10,
web_1     |                                        'contest_weight': 1000,
web_1     |                                        'error_handlers': [   (   'remove_queuedjob_on_error',
web_1     |                                                                  'oioioi.evalmgr.handlers.remove_queuedjob_on_error'),
web_1     |                                                              (   'delete_executable',
web_1     |                                                                  'oioioi.programs.handlers.delete_executable'),
web_1     |                                                              (   'create_error_report',
web_1     |                                                                  'oioioi.contests.handlers.create_error_report'),
web_1     |                                                              (   'mail_admins_on_error',
web_1     |                                                                  'oioioi.contests.handlers.mail_admins_on_error'),
web_1     |                                                              (   'update_report_statuses',
web_1     |                                                                  'oioioi.contests.handlers.update_report_statuses'),
web_1     |                                                              (   'update_submission_score',
web_1     |                                                                  'oioioi.contests.handlers.update_submission_score'),
web_1     |                                                              (   'update_user_results',
web_1     |                                                                  'oioioi.contests.handlers.update_user_results'),
web_1     |                                                              (   'call_submission_judged',
web_1     |                                                                  'oioioi.contests.handlers.call_submission_judged'),
web_1     |                                                              (   'dump_final_env',
web_1     |                                                                  'oioioi.evalmgr.handlers.dump_env',
web_1     |                                                                  {   'message': 'Finished evaluation'}),
web_1     |                                                              (   'error_handled',
web_1     |                                                                  'oioioi.evalmgr.handlers.error_handled')],
web_1     |                                        'exec_mode': u'sio2jail',
web_1     |                                        'extra_args': {   },
web_1     |                                        'extra_files': {   },
web_1     |                                        'filetracker_url': 'http://web:9999',
web_1     |                                        'group_scorer': 'oioioi.acm.utils.acm_group_scorer',
web_1     |                                        'is_rejudge': True,
web_1     |                                        'job_id': 'urn:uuid:41744437-7a54-4e99-bd47-12e9bd425833',
web_1     |                                        'job_type': 'compile',
web_1     |                                        'language': u'cpp',
web_1     |                                        'oioioi_instance': 'Athena',
web_1     |                                        'out_file': u'/eval/theta-i/237/urn:uuid:41744437-7a54-4e99-bd47-12e9bd425833-exe',
web_1     |                                        'problem_id': 4,
web_1     |                                        'problem_instance_id': 5,
web_1     |                                        'problem_short_name': u'squ',
web_1     |                                        'recipe': [   (   'compile_end',
web_1     |                                                          'oioioi.programs.handlers.compile_end'),
web_1     |                                                      (   'after_compile',
web_1     |                                                          'oioioi.evalmgr.tasks._placeholder'),
web_1     |                                                      (   'collect_tests',
web_1     |                                                          'oioioi.programs.handlers.collect_tests'),
web_1     |                                                      (   'check_problem_instance_state',
web_1     |                                                          'oioioi.suspendjudge.handlers.check_problem_instance_state'),
web_1     |                                                      (   'before_final_tests',
web_1     |                                                          'oioioi.evalmgr.tasks._placeholder'),
web_1     |                                                      (   'full_run_tests',
web_1     |                                                          'oioioi.programs.handlers.run_tests'),
web_1     |                                                      (   'full_run_tests',
web_1     |                                                          'oioioi.programs.handlers.run_tests_end'),
web_1     |                                                      (   'full_grade_tests',
web_1     |                                                          'oioioi.programs.handlers.grade_tests'),
web_1     |                                                      (   'full_grade_groups',
web_1     |                                                          'oioioi.programs.handlers.grade_groups'),
web_1     |                                                      (   'full_grade_submission',
web_1     |                                                          'oioioi.programs.handlers.grade_submission',
web_1     |                                                          {   'kind': None}),
web_1     |                                                      (   'full_make_report',
web_1     |                                                          'oioioi.programs.handlers.make_report',
web_1     |                                                          {   'kind': 'FULL'}),
web_1     |                                                      (   'after_full_tests',
web_1     |                                                          'oioioi.evalmgr.tasks._placeholder'),
web_1     |                                                      (   'delete_executable',
web_1     |                                                          'oioioi.programs.handlers.delete_executable'),
web_1     |                                                      (   'update_report_statuses',
web_1     |                                                          'oioioi.contests.handlers.update_report_statuses'),
web_1     |                                                      (   'update_submission_score',
web_1     |                                                          'oioioi.contests.handlers.update_submission_score'),
web_1     |                                                      (   'update_user_results',
web_1     |                                                          'oioioi.contests.handlers.update_user_results'),
web_1     |                                                      (   'call_submission_judged',
web_1     |                                                          'oioioi.contests.handlers.call_submission_judged'),
web_1     |                                                      (   'dump_final_env',
web_1     |                                                          'oioioi.evalmgr.handlers.dump_env',
web_1     |                                                          {   'message': 'Finished evaluation'})],
web_1     |                                        'report_kinds': ['FULL'],
web_1     |                                        'round_id': 1,
web_1     |                                        'score_aggregator': 'oioioi.acm.utils.acm_score_aggregator',
web_1     |                                        'source_file': u'/submissions/theta-i/237.cpp@1619470482',
web_1     |                                        'submission_id': 237,
web_1     |                                        'submission_kind': u'NORMAL',
web_1     |                                        'submission_owner': u'mily',
web_1     |                                        'task_priority': 200,
web_1     |                                        'test_scorer': 'oioioi.acm.utils.acm_test_scorer',
web_1     |                                        'untrusted_checker': True}}}
web_1     | 
web_1     | 2021-04-26 21:07:13,675 DEBG 'evalmgr' stderr output:
web_1     | [2021-04-26 21:07:13,672 ERROR 73:140086464529920] Exception occured in job:
web_1     | {   'compilation_result_size_limit': 10485760,
web_1     |     'compiler': u'g++4_8_2_cpp11',
web_1     |     'contest_id': u'theta-i',
web_1     |     'contest_priority': 10,
web_1     |     'contest_weight': 1000,
web_1     |     'eval_dir': u'/eval/theta-i/237',
web_1     |     'exec_mode': u'sio2jail',
web_1     |     'extra_args': {   },
web_1     |     'extra_files': {   },
web_1     |     'group_scorer': 'oioioi.acm.utils.acm_group_scorer',
web_1     |     'is_rejudge': True,
web_1     |     'job_id': 'urn:uuid:41744437-7a54-4e99-bd47-12e9bd425833',
web_1     |     'language': u'cpp',
web_1     |     'oioioi_instance': 'Athena',
web_1     |     'problem_id': 4,
web_1     |     'problem_instance_id': 5,
web_1     |     'problem_short_name': u'squ',
web_1     |     'report_kinds': ['FULL'],
web_1     |     'restore_environ_func': 'oioioi.sioworkers.handlers.restore_job',
web_1     |     'return_url': 'http://127.0.0.1:9002',
web_1     |     'round_id': 1,
web_1     |     'score_aggregator': 'oioioi.acm.utils.acm_score_aggregator',
web_1     |     'source_file': u'/submissions/theta-i/237.cpp@1619470482',
web_1     |     'submission_id': 237,
web_1     |     'submission_kind': u'NORMAL',
web_1     |     'submission_owner': u'mily',
web_1     |     'test_scorer': 'oioioi.acm.utils.acm_test_scorer',
web_1     |     'untrusted_checker': True,
web_1     |     'workers_jobs': {   'compile': {   'compilation_result_size_limit': 10485760,
web_1     |                                        'compiler': u'g++4_8_2_cpp11',
web_1     |                                        'contest_id': u'theta-i',
web_1     |                                        'contest_priority': 10,
web_1     |                                        'contest_weight': 1000,
web_1     |                                        'error_handlers': [   (   'remove_queuedjob_on_error',
web_1     |                                                                  'oioioi.evalmgr.handlers.remove_queuedjob_on_error'),
web_1     |                                                              (   'delete_executable',
web_1     |                                                                  'oioioi.programs.handlers.delete_executable'),
web_1     |                                                              (   'create_error_report',
web_1     |                                                                  'oioioi.contests.handlers.create_error_report'),
web_1     |                                                              (   'mail_admins_on_error',
web_1     |                                                                  'oioioi.contests.handlers.mail_admins_on_error'),
web_1     |                                                              (   'update_report_statuses',
web_1     |                                                                  'oioioi.contests.handlers.update_report_statuses'),
web_1     |                                                              (   'update_submission_score',
web_1     |                                                                  'oioioi.contests.handlers.update_submission_score'),
web_1     |                                                              (   'update_user_results',
web_1     |                                                                  'oioioi.contests.handlers.update_user_results'),
web_1     |                                                              (   'call_submission_judged',
web_1     |                                                                  'oioioi.contests.handlers.call_submission_judged'),
web_1     |                                                              (   'dump_final_env',
web_1     |                                                                  'oioioi.evalmgr.handlers.dump_env',
web_1     |                                                                  {   'message': 'Finished evaluation'}),
web_1     |                                                              (   'error_handled',
web_1     |                                                                  'oioioi.evalmgr.handlers.error_handled')],
web_1     |                                        'exec_mode': u'sio2jail',
web_1     |                                        'extra_args': {   },
web_1     |                                        'extra_files': {   },
web_1     |                                        'filetracker_url': 'http://web:9999',
web_1     |                                        'group_scorer': 'oioioi.acm.utils.acm_group_scorer',
web_1     |                                        'is_rejudge': True,
web_1     |                                        'job_id': 'urn:uuid:41744437-7a54-4e99-bd47-12e9bd425833',
web_1     |                                        'job_type': 'compile',
web_1     |                                        'language': u'cpp',
web_1     |                                        'oioioi_instance': 'Athena',
web_1     |                                        'out_file': u'/eval/theta-i/237/urn:uuid:41744437-7a54-4e99-bd47-12e9bd425833-exe',
web_1     |                                        'problem_id': 4,
web_1     |                                        'problem_instance_id': 5,
web_1     |                                        'problem_short_name': u'squ',
web_1     |                                        'recipe': [   (   'compile_end',
web_1     |                                                          'oioioi.programs.handlers.compile_end'),
web_1     |                                                      (   'after_compile',
web_1     |                                                          'oioioi.evalmgr.tasks._placeholder'),
web_1     |                                                      (   'collect_tests',
web_1     |                                                          'oioioi.programs.handlers.collect_tests'),
web_1     |                                                      (   'check_problem_instance_state',
web_1     |                                                          'oioioi.suspendjudge.handlers.check_problem_instance_state'),
web_1     |                                                      (   'before_final_tests',
web_1     |                                                          'oioioi.evalmgr.tasks._placeholder'),
web_1     |                                                      (   'full_run_tests',
web_1     |                                                          'oioioi.programs.handlers.run_tests'),
web_1     |                                                      (   'full_run_tests',
web_1     |                                                          'oioioi.programs.handlers.run_tests_end'),
web_1     |                                                      (   'full_grade_tests',
web_1     |                                                          'oioioi.programs.handlers.grade_tests'),
web_1     |                                                      (   'full_grade_groups',
web_1     |                                                          'oioioi.programs.handlers.grade_groups'),
web_1     |                                                      (   'full_grade_submission',
web_1     |                                                          'oioioi.programs.handlers.grade_submission',
web_1     |                                                          {   'kind': None}),
web_1     |                                                      (   'full_make_report',
web_1     |                                                          'oioioi.programs.handlers.make_report',
web_1     |                                                          {   'kind': 'FULL'}),
web_1     |                                                      (   'after_full_tests',
web_1     |                                                          'oioioi.evalmgr.tasks._placeholder'),
web_1     |                                                      (   'delete_executable',
web_1     |                                                          'oioioi.programs.handlers.delete_executable'),
web_1     |                                                      (   'update_report_statuses',
web_1     |                                                          'oioioi.contests.handlers.update_report_statuses'),
web_1     |                                                      (   'update_submission_score',
web_1     |                                                          'oioioi.contests.handlers.update_submission_score'),
web_1     |                                                      (   'update_user_results',
web_1     |                                                          'oioioi.contests.handlers.update_user_results'),
web_1     |                                                      (   'call_submission_judged',
web_1     |                                                          'oioioi.contests.handlers.call_submission_judged'),
web_1     |                                                      (   'dump_final_env',
web_1     |                                                          'oioioi.evalmgr.handlers.dump_env',
web_1     |                                                          {   'message': 'Finished evaluation'})],
web_1     |                                        'report_kinds': ['FULL'],
web_1     |                                        'round_id': 1,
web_1     |                                        'score_aggregator': 'oioioi.acm.utils.acm_score_aggregator',
web_1     |                                        'source_file': u'/submissions/theta-i/237.cpp@1619470482',
web_1     |                                        'submission_id': 237,
web_1     |                                        'submission_kind': u'NORMAL',
web_1     |                                        'submission_owner': u'mily',
web_1     |                                        'task_priority': 200,
web_1     |                                        'test_scorer': 'oioioi.acm.utils.acm_test_scorer',
web_1     |                                        'untrusted_checker': True}}}
web_1     | Traceback (most recent call last):
web_1     |   File "/sio2/oioioi/oioioi/evalmgr/tasks.py", line 332, in evalmgr_job
web_1     |     env = _transfer_job(env, **env.pop('transfer'))
web_1     |   File "/sio2/oioioi/oioioi/evalmgr/tasks.py", line 198, in _transfer_job
web_1     |     import_string(transfer_func)(environ, **transfer_kwargs)
web_1     |   File "/sio2/oioioi/oioioi/sioworkers/handlers.py", line 24, in transfer_job
web_1     |     send_async_jobs(environ)
web_1     |   File "/sio2/oioioi/oioioi/sioworkers/jobs.py", line 29, in send_async_jobs
web_1     |     return _get_backend().send_async_jobs(dict_of_jobs, **kwargs)
web_1     |   File "/sio2/oioioi/oioioi/sioworkers/backends.py", line 87, in send_async_jobs
web_1     |     SioworkersdBackend.server.run_group(json.dumps(env))
web_1     |   File "/usr/local/lib/python2.7/xmlrpclib.py", line 1243, in __call__
web_1     |     return self.__send(self.__name, args)
web_1     |   File "/usr/local/lib/python2.7/xmlrpclib.py", line 1602, in __request
web_1     |     verbose=self.__verbose
web_1     |   File "/usr/local/lib/python2.7/xmlrpclib.py", line 1283, in request
web_1     |     return self.single_request(host, handler, request_body, verbose)
web_1     |   File "/usr/local/lib/python2.7/xmlrpclib.py", line 1313, in single_request
web_1     |     response = h.getresponse(buffering=True)
web_1     |   File "/home/oioioi/.local/lib/python2.7/site-packages/raven/breadcrumbs.py", line 390, in getresponse
web_1     |     rv = real_getresponse(self, *args, **kwargs)
web_1     |   File "/usr/local/lib/python2.7/httplib.py", line 1161, in getresponse
web_1     |     response.begin()
web_1     |   File "/usr/local/lib/python2.7/httplib.py", line 448, in begin
web_1     |     version, status, reason = self._read_status()
web_1     |   File "/usr/local/lib/python2.7/httplib.py", line 412, in _read_status
web_1     |     raise BadStatusLine("No status line received - the server has closed the connection")
web_1     | BadStatusLine: No status line received - the server has closed the connection

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.