Инсталляция на ALT Linux:Известные проблемы

From EjudgeWiki
Revision as of 15:23, 10 June 2015 by Dk (talk | contribs) (Не работает компилятор kumir на 64-битной системе)

Навигация: Главная страница/Система ejudge/Инсталляция/Инсталляция на ALT Linux/Известные проблемы

Новая система не работает при попытке сделать reload config files

Если установлена ejudge версии 3.3.1+ и используется база данных MySQL, то при попытке сделать Reload Config Files может появляться такая ошибка:

The contest is temporarily not available. Please, retry the request a bit later.
2015-06-09T15:39:40Z:info:loading contest 1 configuration file
2015-06-09T15:39:40Z:info:configuration file parsed ok
mysql: SELECT config_val FROM config WHERE config_key = 'run_version' ;
mysql: ALTER TABLE runs ADD COLUMN token_flags TINYINT NOT NULL
DEFAULT 0 AFTER store_flags
2015-06-09T15:39:40Z:error:database error: Duplicate column name 'token_flags'


Для устранения ошибки необходимо внести изменения в базу mysql. От пользователя root запустите mysql:

# mysql

И выполните команды:

mysql> use ejudge;
mysql> update config set config_val = 7 where config_key = 'run_version';

Ошибка компиляции программ на Java

При попытке скомпилировать любую программу на Java возникает ошибка:

Error occurred during initialization of VM
Could not reserve enough space for object heap
Error: Could not create the Java Virtual Machine.

Причина в нехватке памяти компилятору. Необходимо в настройках контеста увеличить объем оперативной памяти, доступный компилятору. Соответствующий параметр файла serve.cfg:

compile_max_vm_size = 1G

Не работает компилятор kumir на 64-битной системе

Кумир падает при запуске на 64-битной системе. Проблема известная, но исправляться не будет, т.к. первая версия системы Кумир более не поддерживается. Используйте компилятор kumir2.

"Утекание" файловых дескрипторов

Проблема наблюдается при наличии следующих условий:

1. Ejudge установлен на ALT Linux, используется патченное ядро версий 3.4.3 - 3.4.7, включен безопасный запуск программ.

2. Тестируются решения на языке python3 (иные версии языка, в том числе python версии 2) не подвержены проблеме.

Проблема заключается в "утекании" системных файловых дескрипторов. Для мониторинга проблемы выведите содержимое файла /proc/sys/fs/file-nr:

# cat /proc/sys/fs/file-nr
4576	0	202451

Этот файл содержит три числа, первое - текущее значение использованных файловых дескрипторов, второе всегда равно 0, третье - максимально доступное значение файловых дескрипторов. При тестировании решений на python3 при выполнении указанных выше условий, количество использованных дескрипторов будет увеличиваться. При исчерпании всех файловых дескрипторов, система будет работать нестабильно, вплоть до полного отказа в работоспособности.

В настоящий момент способ устранения проблемы неизвестен. В качестве временного решения возможно:

1. Увеличение количества доступных файловых дескрипторов, например, для увеличения количества дескрипторов до 1000000 выполните команду (от пользователя root):

 # echo 1000000 > /proc/sys/fs/file-max

2. Перезагрузка системы.