Как запустить тестовый турнир?

Обсуждение вопросов, связанных с системой проведения турниров ejudge.
Jet
Posts:4
Joined:06 January 2008, 12:13
Как запустить тестовый турнир?

Post by Jet » 06 January 2008, 12:38

При попытке залогиниться все программы (judge, master, team, new-judge, new-master, new-client) выдают contest not available, работает только serve-control, как через него запустить турнир?

Версия ejudge 2.3.4, система gentoo, ядро 2.6.23
Константин Абакумов

cher
Posts:1153
Joined:13 March 2004, 17:00
Contact:

Re: Как запустить тестовый турнир?

Post by cher » 06 January 2008, 20:21

Jet wrote:При попытке залогиниться все программы (judge, master, team, new-judge, new-master, new-client) выдают contest not available, работает только serve-control, как через него запустить турнир?

Версия ejudge 2.3.4, система gentoo, ядро 2.6.23
Причин может быть несколько, точнее можно сказать, посмотрев лог серверов.

Среди возможных причин:
1) По умолчанию доступ открыт только с localhost (127.0.0.1).
2) не запущена программа new-server (отсутствует в списке процессов)

Jet
Posts:4
Joined:06 January 2008, 12:13

Re: Как запустить тестовый турнир?

Post by Jet » 06 January 2008, 21:19

С самого сервера то же самое получается, программа new-server тоже запущена, вот что выдает ps aux:

ejudge 6291 0.0 0.2 3752 1368 ? Ss 21:06 0:00 /home/ejudge/inst-ejudge/bin/new-server -D -C /home/judges /home/judges/data/ejudge.xml


А где посмотреть логи ejudge? Заранее спасибо.
Константин Абакумов

cher
Posts:1153
Joined:13 March 2004, 17:00
Contact:

Re: Как запустить тестовый турнир?

Post by cher » 07 January 2008, 10:44

/home/judges/var

Jet
Posts:4
Joined:06 January 2008, 12:13

Re: Как запустить тестовый турнир?

Post by Jet » 07 January 2008, 15:55

из new-server.log:

Mon Jan 7 15:48:31 2008:info:1: received 2 file descriptors: 6, 7
Mon Jan 7 15:48:31 2008:info:HTTP_REQUEST -> OK, 2090
Mon Jan 7 15:48:37 2008:info:3: received 2 file descriptors: 6, 7
Mon Jan 7 15:48:37 2008:info:running as Jet (1)
Mon Jan 7 15:48:37 2008:info:HTTP_REQUEST -> OK, 159
Mon Jan 7 15:48:37 2008:info:5: received 2 file descriptors: 6, 7
Mon Jan 7 15:48:37 2008:info:loading contest 1 configuration file
Mon Jan 7 15:48:37 2008:info:configuration file parsed ok
Mon Jan 7 15:48:37 2008:error:cannot open input file `/home/judges/000001/conf/../statements/A.html'
Mon Jan 7 15:48:37 2008:error:5: contest not available
Mon Jan 7 15:48:37 2008:info:HTTP_REQUEST -> OK, 1778


Насторожила строчка про cannot open input file, в этой папке есть только файлы A.xml и B.xml
Константин Абакумов

cher
Posts:1153
Joined:13 March 2004, 17:00
Contact:

Re: Как запустить тестовый турнир?

Post by cher » 07 January 2008, 17:34

Исправьте в файле /home/judges/000001/conf/serve.cfg строку
xml_file = "%Ps.html"
на строку
xml_file = "%Ps.xml"

Jet
Posts:4
Joined:06 January 2008, 12:13

Re: Как запустить тестовый турнир?

Post by Jet » 07 January 2008, 20:10

Спасибо, все заработало
Константин Абакумов

derugu
Posts:15
Joined:18 April 2009, 09:22

Re: Как запустить тестовый турнир?

Post by derugu » 18 January 2011, 18:57

Jet wrote:При попытке залогиниться все программы (judge, master, team, new-judge, new-master, new-client) выдают contest not available, работает только serve-control, как через него запустить турнир?

Версия ejudge 2.3.4, система gentoo, ядро 2.6.23
Эта же проблема с 2.3.17 + Школьный Сервер 5.0.2 (AltLinux)
в файле /var/lib/ejudge/new-server.log пишет
error:runlog plugin `mysql' is not registered
error:7: contest not available

Других ошибок не обнаружил.
Локально так же не работает.

cher
Posts:1153
Joined:13 March 2004, 17:00
Contact:

Re: Как запустить тестовый турнир?

Post by cher » 28 January 2011, 23:08

По всей видимости при компиляции не была включена поддержка mysql. Посмотрите конфигурационный файл турнира и удалите из него директивы, задающие использование mysql.

derugu
Posts:15
Joined:18 April 2009, 09:22

Re: Как запустить тестовый турнир?

Post by derugu » 03 February 2011, 13:17

Директивы нашёл и удалил. Сделал ejudge restart. Не работает. Где ещё можно подкрутить?

cher
Posts:1153
Joined:13 March 2004, 17:00
Contact:

Re: Как запустить тестовый турнир?

Post by cher » 07 February 2011, 23:55

Ошибки какие выводятся в логи?

derugu
Posts:15
Joined:18 April 2009, 09:22

Re: Как запустить тестовый турнир?

Post by derugu » 10 February 2011, 12:36

в файле /var/lib/ejudge/new-server.log пишет
error:runlog plugin `mysql' is not registered
error:7: contest not available

Других ошибок не обнаружил.

cher
Posts:1153
Joined:13 March 2004, 17:00
Contact:

Re: Как запустить тестовый турнир?

Post by cher » 11 February 2011, 23:05

Значит либо в файле /home/judges/data/ejudge.xml, либо в serve.cfg осталось упоминание плагина mysql.

derugu
Posts:15
Joined:18 April 2009, 09:22

Re: Как запустить тестовый турнир?

Post by derugu » 14 February 2011, 14:50

cher wrote:Значит либо в файле /home/judges/data/ejudge.xml, либо в serve.cfg осталось упоминание плагина mysql.
Вот эти файлы, я ничего не нашёл про mysql

1. Файл /var/lib/ejudge/data/ejudge.xml

<?xml version="1.0" encoding="utf-8" ?>
<!-- Generated by ejudge-setup, version 2.3.17+ (SVN r6067) -->
<!-- Generation date: 2011/01/18 15:19:02 -->
<config l10n="yes">

<userdb_file>/var/lib/ejudge/data/db/userlist.xml</userdb_file>
<full_cgi_data_dir>/var/www/cgi-bin/../cgi-data</full_cgi_data_dir>
<compile_home_dir>/var/lib/ejudge/compile</compile_home_dir>
<testing_work_dir>/var/lib/ejudge/work-disk/work</testing_work_dir>
<serialization_key>22723</serialization_key>
<var_dir>/var/lib/ejudge/var</var_dir>
<userlist_log>userlist.log</userlist_log>
<super_serve_log>super_serve.log</super_serve_log>

<email_program>/usr/sbin/sendmail</email_program>
<register_url>http://alt502.gimn/cgi-bin/register</register_url>
<register_email>ejudge@alt502.gimn</register_email>
<server_name>Ejudge contest server at alt502.gimn</server_name>
<server_name_en>Ejudge contest server at alt502.gimn</server_name_en>
<server_main_url>http://192.168.0.9</server_main_url>
<user_map>
<map system_user="ejudge" ejudge_user="ejudge"/>
</user_map>
<caps>
<cap login="ejudge">
MASTER_LOGIN,
JUDGE_LOGIN,
LIST_USERS,
CREATE_USER,
GET_USER,
EDIT_USER,
DELETE_USER,
PRIV_EDIT_USER,
PRIV_DELETE_USER,
DUMP_USERS,
EDIT_CONTEST,
CONTROL_CONTEST,
EDIT_PASSWD,
PRIV_EDIT_PASSWD,
RESTART,
</cap>
</caps>

<plugins>
<plugin type="nsdb" name="files">
<config>
<data_dir>/var/lib/ejudge/data/new-serve-db</data_dir>
</config>
</plugin>
</plugins>

<!-- The default value is built-in -->
<!--<socket_path>/var/run/ejudge/userlist-socket</socket_path>-->
<!-- The default value is built-in -->
<!--<super_serve_socket>/var/run/ejudge/super-serve-socket</super_serve_socket>-->
<!-- The default value is built-in -->
<!--<contests_dir>/var/lib/ejudge/data/contests</contests_dir>-->
<!-- The default value is built-in -->
<!--<l10n_dir>/usr/share/locale</l10n_dir>-->
<!-- The default value is built-in -->
<!--<script_dir>/usr/lib/ejudge</script_dir>-->
<!-- The default value is built-in -->
<!--<serve_path>/usr/lib/ejudge/bin/ej-serve</serve_path>-->
<!-- The default value is built-in -->
<!--<run_path>/usr/lib/ejudge/bin/ej-run</run_path>-->
<!-- The default value is built-in -->
<!--<charset>utf-8</charset>-->
<!-- The default value is built-in -->
<!--<config_dir>/var/lib/ejudge/data</config_dir>-->
<!-- The default value is built-in -->
<!--<contests_home_dir>/var/lib/ejudge</contests_home_dir>-->
</config>


2. /var/lib/ejudge/000001/conf/serve.cfg

# -*- coding: utf-8 -*-
# $Id$
# Generated by ejudge-setup, version 2.3.13+ (SVN r5543)
# Generation date: 2009/10/21 19:38:07
contest_id = 1

contest_time = 300
score_system = acm
standings_locale = "ru"

compile_dir = "../../compile/var/compile"

team_enable_src_view
team_enable_ce_view
enable_printing
problem_navigation




stand_fancy_style

cr_serialization_key = 22723
enable_l10n
team_download_time = 0

htdocs_dir = "/var/lib/ejudge"

[language]
id = 1
short_name = "fpc"
long_name = "Free Pascal 2.2.0"
src_sfx = ".pas"

[language]
id = 13
short_name = "python"
long_name = "Python 2.5.4"
arch = "linux-shared"
src_sfx = ".py"

[language]
id = 14
short_name = "perl"
long_name = "Perl 5.8.8"
arch = "linux-shared"
src_sfx = ".pl"

[language]
id = 21
short_name = "ruby"
long_name = "Ruby 1.9.1p376"
arch = "linux-shared"
src_sfx = ".rb"

[language]
id = 22
short_name = "php"
long_name = "PHP 5.2.5"
arch = "linux-shared"
src_sfx = ".php"

[language]
id = 23
compile_id = 2
short_name = "gcc"
long_name = "GNU C 4.1.2"
src_sfx = ".c"

[language]
id = 24
short_name = "kumir"
long_name = "Kumir (unknown version)"
arch = "linux-shared"
src_sfx = ".kum"

[problem]
abstract
short_name = "Generic"
use_stdin
use_stdout
xml_file = "%Ps.xml"
test_sfx = ".dat"
use_corr
corr_dir = "%Ps"
corr_sfx = ".ans"
time_limit = 1
real_time_limit = 5
max_vm_size = 64M
max_stack_size = 64M
check_cmd = "check_%lPs"

[problem]
id = 1
super = "Generic"
short_name = "A"
long_name = "Sum 1"
xml_file = "/var/lib/ejudge/000001/statements/A.xml"
standard_checker = "cmp_int"

[problem]
id = 2
super = "Generic"
short_name = "B"
long_name = "Sum 2"
xml_file = "/var/lib/ejudge/000001/statements/B.xml"
standard_checker = "cmp_int"

[tester]
name = Generic
arch = ""
abstract
no_core_dump
enable_memory_limit_error
kill_signal = KILL
memory_limit_type = "default"
secure_exec_type = "static"
clear_env
start_env = "PATH=/usr/local/bin:/usr/bin:/bin"
start_env = "HOME"
check_dir = "work-disk/work"

[tester]
name = Linux-shared
arch = "linux-shared"
abstract
no_core_dump
enable_memory_limit_error
kill_signal = KILL
memory_limit_type = "default"
secure_exec_type = "dll"
clear_env
start_env = "PATH=/usr/local/bin:/usr/bin:/bin"
start_env = "HOME"
check_dir = "work-disk/work"

[tester]
any
super = Generic

[tester]
any
super = Linux-shared
arch = linux-shared

# audit: edited 2009/10/30 21:50:02 1 (ejudge) 83.149.3.41
# audit: edited 2010/09/21 09:15:55 1 (ejudge) 89.28.161.233
# audit: edited 2011/01/18 15:47:07 115 (ejudge) 192.168.0.1
# audit: edited 2011/01/18 15:49:16 115 (ejudge) 192.168.0.1
# audit: edited 2011/01/18 15:50:39 115 (ejudge) 192.168.0.1
# audit: edited 2011/02/14 14:31:14 115 (ejudge) 192.168.0.1

derugu
Posts:15
Joined:18 April 2009, 09:22

Re: Как запустить тестовый турнир?

Post by derugu » 14 February 2011, 15:00

Теперь всё работает!!!

Удалил из ejudge.xml
<plugins>
<plugin type="nsdb" name="files">
<config>
<data_dir>/var/lib/ejudge/data/new-serve-db</data_dir>
</config>
</plugin>
</plugins>
затем #service ejudge restart - заругался на отсутствие конфига, вернул эти плагины и после ещё одного рестарта сервиса все заработало.

Что это было? Может прошлый раз сервис не перезагрузил?

Post Reply