Поставил, скомпилировал и настроил ejudge-2.3.13 под Ubuntu 8.10. Патч к ядру применил (2.6.27.10-cher1).
Контест, созданный конфигурационным скриптом работает нормально.
Затем создал свой контест со следующим файлом serve.cfg
Code: Select all
contest_id = 2
contest_time = 0
score_system = acm
virtual
board_fog_time = 0
board_unfog_time = 0
standings_locale = "ru"
compile_dir = "../../compile/var/compile"
team_enable_src_view
team_enable_rep_view
team_enable_ce_view
ignore_compile_errors
problem_navigation
stand_fancy_style
cr_serialization_key = 22723
secure_run
detect_violations
enable_memory_limit_error
enable_l10n
team_download_time = 0
[language]
id = 2
short_name = "gcc"
long_name = "GNU C 4.3.2"
src_sfx = ".c"
[language]
id = 3
short_name = "g++"
long_name = "GNU C++ 4.3.2"
src_sfx = ".cpp"
[language]
id = 8
short_name = "dcc"
long_name = "Borland Delphi 6 (Kylix) 14.5"
arch = "linux-shared"
src_sfx = ".pas"
[language]
id = 13
short_name = "python"
long_name = "Python 2.5.2"
arch = "linux-shared"
src_sfx = ".py"
[language]
id = 14
short_name = "perl"
long_name = "Perl 5.10.0"
arch = "linux-shared"
src_sfx = ".pl"
[language]
id = 18
short_name = "javac"
long_name = "Java JDK 1.6.0_10"
arch = "java"
src_sfx = ".java"
exe_sfx = ".jar"
[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 = "A+B"
use_stdin = 0
input_file = "apb.in"
use_stdout = 0
output_file = "apb.out"
standard_checker = "cmp_long_long"
[problem]
id = 2
super = "Generic"
short_name = "B"
long_name = "Слоны"
use_stdin = 0
input_file = "elephants.in"
use_stdout = 0
output_file = "elephants.out"
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]
name = Linux-java
arch = "java"
abstract
no_core_dump
kill_signal = TERM
memory_limit_type = "java"
secure_exec_type = "java"
start_cmd = "runjava"
start_env = "LANG=C"
start_env = "EJUDGE_PREFIX_DIR"
check_dir = "work-disk/work"
[tester]
any
super = Generic
[tester]
any
super = Linux-shared
arch = linux-shared
[tester]
any
super = Linux-java
arch = java
Code: Select all
<?xml version="1.0" encoding="utf-8" ?>
<contest id="2"
autoregister="yes"
disable_team_password="yes"
simple_registration="yes"
personal="yes"
allow_reg_data_edit="yes"
managed="yes"
run_managed="yes">
<name>Тренировочный контест</name>
<name_en>Training contest</name_en>
<default_locale>ru</default_locale>
<register_access default="allow"/>
<users_access default="allow"/>
<master_access default="allow"/>
<judge_access default="allow"/>
<team_access default="allow"/>
<serve_control_access default="allow"/>
<caps>
<cap login = "admin">
MASTER_SET,
</cap>
</caps>
<field id="homepage" mandatory="no"/>
<field id="inst" mandatory="no"/>
<field id="city" mandatory="no"/>
<contestants min="1" max="1" initial="1">
</contestants>
</contest>
Мне удалось выяснить, что падает ej-contests. Запустив его вручную можно увидеть следующее сообщение:
Code: Select all
Thu Jan 15 13:50:40 2009:2:emerg:Internal: html.c: 3498: assertion failed: tdur <= contest_dur
Aborted