У меня неожиданно возникла проблема: программа в main, сразу после начала выполнения, выполняет fork-exec, предварительно установив для себя размер стека 900'000 байт. Все прекрасно работало на многих системах - RH8,9, Mandrake8,9.2,10, Fedora2. Но вдруг обнаружилось, что на Fedora1 происходит SIGSEGV сразу после exec. Backtrace в отладчике отсутствовал, текущая функция - _dl_sysinfo_int80. Запускаемая программа даже не начинала исполняться (во всяком случае, до ее main-а управление не доходило). Ничего не помогало, пока я не догадался подкрутить rlimit для стека. Стоило сделать его 2'000'000 байт, и все стало замечательно работать. Повторюсь - это только на Fedora2. Вот и вопрос: в чему тут может быть дело? Я хочу поковырять сорцы glibc от FC2, но вопрос несколько более принципиальный - как управлять стеком? Какой остаток его будет достаточен для fork-exec?
Форум —
Development
