Serve.cfg:tester:max stack size

From EjudgeWiki

Навигация: Главная страница/Система ejudge/Использование/Конфигурационные файлы/serve.cfg/Конфигурационные параметры тестирования/max_stack_size

Имя переменной: max_stack_size
Содержится в: tester
Используется: run
Тип содержимого: integer
Может отсутствовать: да
Наследуется: да
Значение по умолчанию: не установлено
Может повторяться: нет

Описание. Данная конфигурационная переменная устанавливает максимальный размер сегмента стека для тестируемой программы. Размер задаётся в байтах (так, 8388608 байт — это 8 Мегабайт). Если размер стека превышен, программа, как правило, получает фатальный сигнал SIGSEGV (Segmentation fault) и снимается с выполнения. В этом случае тестирование программы завершается с ошибкой “Runtime error”.

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

Если данная конфигурационная переменная не установлена ни в самом неабстрактном тестировщике, ни в абстрактном тестировщике, свойства которого он наследует, ограничение размера стека при запуске программы явно не устанавливается. В этом случае работает ограничение на размер стека, действительное для программы run в момент её запуска. Ограничение на размер стека можно просмотреть с помощью команды ulimit -s командного интерпретатора bash.

Пример.

max_stack_size = 8388608