Обсуждение вопросов, связанных с системой проведения турниров ejudge.
-
vyahhi - Posts:28
- Joined:15 September 2011, 15:03
javac memory error
Post
by vyahhi » 15 September 2011, 15:08
Решения, посланные на Java получают "Compilation error":
Code: Select all
"javac" -source 1.6 -Xlint:unchecked Main.java
Error occurred during initialization of VM
Could not reserve enough space for object heap
Could not create the Java virtual machine.
При этом на машине (Ubuntu, 2.6.32-5-xen-amd64):
Code: Select all
Mem: 7333724k total, 5158860k used, 2174864k free, 1005852k buffers
Swap: 10485752k total, 61656k used, 10424096k free, 3641192k cached
С остальными языками (С++, Python) всё ОК.
Не подскажите, в чём может быть проблема?
P.S. Если сделать с тем же кодом
Code: Select all
javac -source 1.6 -Xlint:unchecked Main.java
в консоли, то всё хорошо компилируется.
-
cher - Posts:1153
- Joined:13 March 2004, 17:00
-
Contact:
Post
by cher » 16 September 2011, 11:12
-
vk - Posts:165
- Joined:24 August 2007, 13:44
- Location:Ханты-Мансийск
-
Contact:
Post
by vk » 16 September 2011, 11:14
-
vyahhi - Posts:28
- Joined:15 September 2011, 15:03
Post
by vyahhi » 16 September 2011, 14:47
Изменение
на
в /home/judges/000003/conf/serve.cfg + ejudge-control stop + ejudge-control start + Restart management не помогло

-
cher - Posts:1153
- Joined:13 March 2004, 17:00
-
Contact:
Post
by cher » 19 September 2011, 17:15
попробуйте исправить в /home/judges/compile/conf/compile.cfg
-
vyahhi - Posts:28
- Joined:15 September 2011, 15:03
Post
by vyahhi » 19 September 2011, 17:42
Добавил туда строку (её вообще не было):
Не помогло.
Кстати, этот файл (/home/judges/compile/conf/compile.cfg) же
Code: Select all
# Generated by ejudge-configure-compilers, version 2.3.19+ (SVN r6401)
# Generation date: 2011/09/17 13:30:36
Всё равно перетёрся бы при следующем запуске ejudge-configure-compilers?
-
cher - Posts:1153
- Joined:13 March 2004, 17:00
-
Contact:
Post
by cher » 19 September 2011, 19:20
Может поставить размер 1G?
-
vyahhi - Posts:28
- Joined:15 September 2011, 15:03
Post
by vyahhi » 20 September 2011, 16:05
Всё не помогло

-
vyahhi - Posts:28
- Joined:15 September 2011, 15:03
Post
by vyahhi » 20 September 2011, 16:21
А возможно ли куда-то ручками прописать опции для javac (например compile/conf/lang.d/javac.cfg?). Откуда он вызывается и берёт "-source 1.6 -Xlint:unchecked"?
-
cher - Posts:1153
- Joined:13 March 2004, 17:00
-
Contact:
Post
by cher » 21 September 2011, 11:31
Смотрите в /home/judges/compile/scripts/javac и в исходниках файл extra/ej-javac.c
Но мне кажется, что где-то у вас с конфигурацией напутано.
-
vyahhi - Posts:28
- Joined:15 September 2011, 15:03
Post
by vyahhi » 21 September 2011, 11:56
Мне тоже кажется, что проблема в конфигах, но никак не пойму, что не так... Кстати, если прописать ручками в /home/judges/compile/scripts/javac флаг -J-Xmx512M, то уже падает не javac от недостатка памяти, а jar
Code: Select all
"javac" -source 1.6 -J-Xmx512M -Xlint:unchecked Main.java
"/usr/bin/jar" cvfm "000024.jar" Main.mf *.class
Error occurred during initialization of VM
Could not reserve enough space for object heap
Could not create the Java virtual machine.
-
cher - Posts:1153
- Joined:13 March 2004, 17:00
-
Contact:
Post
by cher » 23 September 2011, 07:54
А можете выложить или прислать конфигурационные файлы serve.cfg турнира и compile.cfg?
-
vyahhi - Posts:28
- Joined:15 September 2011, 15:03
Post
by vyahhi » 24 September 2011, 16:57
/home/judges/000003/conf/serve.cfg:
Code: Select all
# -*- coding: utf-8 -*-
# $Id$
contest_id = 3
contest_time = 0
score_system = acm
board_fog_time = 0
board_unfog_time = 0
standings_locale = "en"
compile_dir = "../../compile/var/compile"
team_enable_src_view
team_enable_ce_view
problem_navigation
compile_max_vm_size = 512M
compile_max_stack_size = 256M
compile_max_file_size = 32M
ignore_success_time
stand_fancy_style
stand_show_ok_time
stand_enable_penalty
cr_serialization_key = 22723
show_astr_time
secure_run
detect_violations
enable_memory_limit_error
advanced_layout
enable_l10n
team_download_time = 0
cpu_bogomips = 4789
[language]
id = 2
short_name = "gcc"
long_name = "GNU C 4.4.5"
src_sfx = ".c"
[language]
id = 3
short_name = "g++"
long_name = "GNU C++ 4.4.5"
src_sfx = ".cpp"
[language]
id = 13
short_name = "python"
long_name = "Python 2.6.6"
arch = "linux-shared"
src_sfx = ".py"
[language]
id = 14
short_name = "perl"
long_name = "Perl 5.10.1"
arch = "linux-shared"
src_sfx = ".pl"
[language]
id = 18
short_name = "javac"
long_name = "Java JDK 1.6.0_26"
arch = "java"
src_sfx = ".java"
exe_sfx = ".jar"
disabled
max_vm_size = 1G
[language]
id = 21
short_name = "ruby"
long_name = "Ruby 1.8.7"
arch = "linux-shared"
src_sfx = ".rb"
[problem]
abstract
short_name = "Generic"
use_stdin
use_stdout
xml_file = "statement.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
max_file_size = 64M
check_cmd = "check"
[problem]
id = 1
super = "Generic"
short_name = "AA"
long_name = "No Problem"
standard_checker = "cmp_int"
[problem]
id = 2
super = "Generic"
short_name = "A"
long_name = "ACGT"
standard_checker = "cmp_int_seq"
[problem]
id = 3
super = "Generic"
short_name = "B"
long_name = "Motif Finding"
time_limit = 2
[problem]
id = 4
super = "Generic"
short_name = "C"
long_name = "Motif Finding (Hard)"
time_limit = 2
[problem]
id = 5
super = "Generic"
short_name = "D"
long_name = "Protein Sequence"
max_vm_size = 32M
[problem]
id = 6
super = "Generic"
short_name = "E"
long_name = "Consensus & Profile"
[problem]
id = 7
super = "Generic"
short_name = "F"
long_name = "Pairwise Alignment"
[problem]
id = 8
super = "Generic"
short_name = "G"
long_name = "Linear Space Pairwise Alignment (Hard)"
max_vm_size = 16M
[problem]
id = 9
super = "Generic"
short_name = "H"
long_name = "Longest Palindromic Subsequence"
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 = "/home/ejudge/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 = "/home/ejudge/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 = "/home/ejudge/work"
[tester]
any
super = Generic
[tester]
any
super = Linux-shared
arch = linux-shared
[tester]
any
super = Linux-java
arch = java
# audit: created 2011/09/09 20:42:38 1 (vyahhi) 192.168.0.2
# audit: edited 2011/09/09 20:44:30 1 (vyahhi) 192.168.0.2
# audit: edited 2011/09/12 20:56:59 1 (vyahhi) 192.168.0.20
# audit: edited 2011/09/12 21:16:38 1 (vyahhi) 192.168.0.20
# audit: edited 2011/09/13 00:57:07 1 (vyahhi) 192.168.0.20
# audit: edited 2011/09/13 11:49:31 1 (vyahhi) 192.168.211.173
# audit: edited 2011/09/13 11:50:21 1 (vyahhi) 192.168.211.173
# audit: edited 2011/09/13 12:10:57 1 (vyahhi) 192.168.211.173
# audit: edited 2011/09/13 12:39:58 1 (vyahhi) 192.168.211.173
# audit: edited 2011/09/13 12:41:55 1 (vyahhi) 192.168.211.173
# audit: edited 2011/09/13 16:48:37 1 (vyahhi) 192.168.211.173
# audit: edited 2011/09/15 16:00:57 1 (vyahhi) 192.168.211.55
# audit: edited 2011/09/15 16:40:42 1 (vyahhi) 192.168.211.55
# audit: edited 2011/09/15 16:42:02 1 (vyahhi) 192.168.211.55
# audit: edited 2011/09/15 16:50:23 1 (vyahhi) 192.168.211.55
# audit: edited 2011/09/15 16:50:45 1 (vyahhi) 192.168.211.55
# audit: edited 2011/09/15 16:53:53 1 (vyahhi) 192.168.211.55
# audit: edited 2011/09/15 16:55:37 1 (vyahhi) 192.168.211.55
# audit: edited 2011/09/15 16:57:08 1 (vyahhi) 192.168.211.55
# audit: edited 2011/09/17 12:32:39 1 (vyahhi) 192.168.211.132
# audit: edited 2011/09/17 12:43:29 1 (vyahhi) 192.168.211.132
# audit: edited 2011/09/17 12:53:52 1 (vyahhi) 192.168.211.132
# audit: edited 2011/09/17 13:07:52 1 (vyahhi) 192.168.211.132
# audit: edited 2011/09/17 14:11:25 1 (vyahhi) 192.168.211.132
# audit: edited 2011/09/17 14:15:10 1 (vyahhi) 192.168.211.132
# audit: edited 2011/09/17 14:42:24 1 (vyahhi) 192.168.211.132
# audit: edited 2011/09/17 14:43:30 1 (vyahhi) 192.168.211.132
# audit: edited 2011/09/17 14:44:51 1 (vyahhi) 192.168.211.132
# audit: edited 2011/09/17 14:46:28 1 (vyahhi) 192.168.211.132
# audit: edited 2011/09/17 15:43:58 1 (vyahhi) 192.168.211.132
# audit: edited 2011/09/17 15:45:28 1 (vyahhi) 192.168.211.132
# audit: edited 2011/09/17 16:23:35 1 (vyahhi) 192.168.211.132
# audit: edited 2011/09/17 16:24:57 1 (vyahhi) 192.168.211.132
# audit: edited 2011/09/17 16:25:59 1 (vyahhi) 192.168.211.132
# audit: edited 2011/09/17 17:31:06 1 (vyahhi) 192.168.211.132
# audit: edited 2011/09/17 17:34:19 1 (vyahhi) 192.168.211.132
# audit: edited 2011/09/17 17:35:01 1 (vyahhi) 192.168.211.132
# audit: edited 2011/09/17 17:52:44 1 (vyahhi) 192.168.211.132
# audit: edited 2011/09/18 09:26:17 1 (vyahhi) 92.100.89.141
# audit: edited 2011/09/19 16:27:22 1 (vyahhi) 192.168.0.2
# audit: edited 2011/09/19 17:06:07 1 (vyahhi) 192.168.0.2
# audit: edited 2011/09/19 18:09:30 1 (vyahhi) 192.168.0.2
# audit: edited 2011/09/19 18:09:53 1 (vyahhi) 192.168.0.2
# audit: edited 2011/09/19 18:11:23 1 (vyahhi) 192.168.0.2
# audit: edited 2011/09/19 18:52:05 1 (vyahhi) 192.168.0.2
# audit: edited 2011/09/20 09:08:29 1 (vyahhi) 192.168.0.2
# audit: edited 2011/09/20 09:10:35 1 (vyahhi) 192.168.0.2
# audit: edited 2011/09/20 09:19:01 1 (vyahhi) 192.168.0.2
# audit: edited 2011/09/20 09:45:34 1 (vyahhi) 192.168.0.2
# audit: edited 2011/09/20 09:51:56 1 (vyahhi) 192.168.0.2
# audit: edited 2011/09/20 16:30:16 1 (vyahhi) 192.168.0.2
# audit: edited 2011/09/20 17:08:06 1 (vyahhi) 192.168.0.2
# audit: edited 2011/09/21 15:04:00 1 (vyahhi) 192.168.211.151
# audit: edited 2011/09/21 15:04:23 1 (vyahhi) 192.168.211.151
# audit: edited 2011/09/21 15:05:33 1 (vyahhi) 192.168.211.151
# audit: edited 2011/09/21 16:00:49 1 (vyahhi) 192.168.211.151
# audit: edited 2011/09/21 16:01:10 1 (vyahhi) 192.168.211.151
# audit: edited 2011/09/24 11:13:12 1 (vyahhi) 192.168.0.2
# audit: edited 2011/09/24 11:13:43 1 (vyahhi) 192.168.0.2
/home/judges/compile/conf/compile.cfg:
Code: Select all
# Generated by ejudge-configure-compilers, version 2.3.19+ (SVN r6401)
# Generation date: 2011/09/17 13:30:36
root_dir = /home/judges/compile
cr_serialization_key = 22723
sleep_time = 1000
lang_config_dir = "/home/judges/compile/conf/lang.d"
[language]
id = 1
short_name = "fpc"
long_name = "Free Pascal"
src_sfx = ".pas"
cmd = "fpc"
[language]
id = 2
short_name = "gcc"
long_name = "GNU C"
src_sfx = ".c"
cmd = "gcc"
[language]
id = 3
short_name = "g++"
long_name = "GNU C++"
src_sfx = ".cpp"
cmd = "g++"
[language]
id = 4
short_name = "gpc"
long_name = "GNU Pascal"
src_sfx = ".pas"
cmd = "gpc"
[language]
id = 5
short_name = "gcj"
long_name = "GNU Java"
src_sfx = ".java"
insecure
cmd = "gcj"
arch = "linux-shared"
[language]
id = 6
short_name = "g77"
long_name = "GNU Fortran 77"
src_sfx = ".for"
cmd = "g77"
[language]
id = 7
short_name = "tpc"
long_name = "Borland Pascal"
src_sfx = ".pas"
exe_sfx = ".exe"
cmd = "tpc"
arch = "dos"
[language]
id = 8
short_name = "dcc"
long_name = "Borland Delphi 6 (Kylix)"
src_sfx = ".pas"
cmd = "dcc"
arch = "linux-shared"
[language]
id = 9
short_name = "bcc"
long_name = "Borland C"
src_sfx = ".c"
exe_sfx = ".exe"
cmd = "bcc"
arch = "dos"
[language]
id = 10
short_name = "bpp"
long_name = "Borland C++"
src_sfx = ".cpp"
exe_sfx = ".exe"
cmd = "bpp"
arch = "dos"
[language]
id = 11
short_name = "yabasic"
long_name = "YaBasic"
src_sfx = ".bas"
cmd = "yabasic"
arch = "linux-shared"
[language]
id = 12
short_name = "mzscheme"
long_name = "MzScheme"
src_sfx = ".scm"
cmd = "mzscheme"
arch = "linux-shared"
[language]
id = 13
short_name = "python"
long_name = "Python"
src_sfx = ".py"
cmd = "python"
arch = "linux-shared"
[language]
id = 14
short_name = "perl"
long_name = "Perl"
src_sfx = ".pl"
cmd = "perl"
arch = "linux-shared"
[language]
id = 15
short_name = "gprolog"
long_name = "GNU Prolog"
src_sfx = ".pro"
cmd = "gprolog"
arch = "linux-shared"
[language]
id = 16
short_name = "qb"
long_name = "Microsoft Quick Basic"
src_sfx = ".bas"
exe_sfx = ".exe"
cmd = "qb"
arch = "dos"
[language]
id = 18
short_name = "javac"
long_name = "Java JDK"
src_sfx = ".java"
exe_sfx = ".jar"
cmd = "javac"
arch = "java"
[language]
id = 19
short_name = "mcs"
long_name = "Mono C#"
src_sfx = ".cs"
exe_sfx = ".exe"
insecure
cmd = "mcs"
arch = "msil"
[language]
id = 20
short_name = "vbnc"
long_name = "Mono Visual Basic .NET"
src_sfx = ".vb"
exe_sfx = ".exe"
insecure
cmd = "vbnc"
arch = "msil"
[language]
id = 21
short_name = "ruby"
long_name = "Ruby"
src_sfx = ".rb"
cmd = "ruby"
arch = "linux-shared"
[language]
id = 22
short_name = "php"
long_name = "PHP"
src_sfx = ".php"
cmd = "php"
arch = "linux-shared"
[language]
id = 23
short_name = "python3"
long_name = "Python3"
src_sfx = ".py"
cmd = "python3"
arch = "linux-shared"
[language]
id = 24
short_name = "kumir"
long_name = "Kumir"
src_sfx = ".kum"
cmd = "kumir"
arch = "linux-shared"
[language]
id = 25
short_name = "make"
long_name = "Generic build"
src_sfx = ".tar"
binary
cmd = "make"
arch = "linux-shared"
[language]
id = 26
short_name = "ghc"
long_name = "The Glasgow Haskell Compiler"
src_sfx = ".hs"
insecure
cmd = "ghc"
arch = "linux-shared"
-
cher - Posts:1153
- Joined:13 March 2004, 17:00
-
Contact:
Post
by cher » 27 September 2011, 11:28
Все выглядит нормально.
Можно попробовать в скрипт javac вставить печать лимитов:
bash -c 'ulimit -a'
посмотреть, что выводится
-
vyahhi - Posts:28
- Joined:15 September 2011, 15:03
Post
by vyahhi » 27 September 2011, 17:52
Code: Select all
core file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited
scheduling priority (-e) 0
file size (blocks, -f) 32768
pending signals (-i) 16382
max locked memory (kbytes, -l) 64
max memory size (kbytes, -m) unlimited
open files (-n) 1024
pipe size (512 bytes, -p) 8
POSIX message queues (bytes, -q) 819200
real-time priority (-r) 0
stack size (kbytes, -s) 262144
cpu time (seconds, -t) unlimited
max user processes (-u) unlimited
virtual memory (kbytes, -v) 1048576
file locks (-x) unlimited
"javac" -source 1.6 -Xlint:unchecked Main.java
Error occurred during initialization of VM
Could not reserve enough space for object heap
Could not create the Java virtual machine.