Инсталляция на ALT Linux:Известные проблемы
Навигация: Главная страница/Система ejudge/Инсталляция/Инсталляция на ALT Linux/Известные проблемы
Contents
Новая система не работает при попытке сделать 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.
Причина в нехватке памяти компилятору. Необходимо в настройках контеста увеличить объем оперативной памяти, доступный компилятору (достаточно выделить компилятору 1G). Соответствующий параметр файла 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. Перезагрузка системы.