Ошибка сегментации с помощью mod_include

Я использую довольно сложную структуру с несколькими ssi-include, set- и echo-командами.

Первый документ содержит множество команд set, включает другой документ, который затем включает третий документ. В последнем включенном документе значения переменных выводятся с помощью команды echo.

Я заметил, что с увеличением числа переменных вероятность возникновения ошибки сегментации возрастает.

Кто-нибудь испытывал нечто подобное? Как мне отладить такую ​​проблему?

Я использую IBM_HTTP_Server/2.0.47.1-PK65782 Apache/2.0.47

2 ответа

Вообще говоря, Apache никогда не должен ошибаться в сегментации. Я бы использовал тестовый сервер и включил бы все логи, а также заглянул в процесс с помощью strace, чтобы увидеть, где он находится.

Если вы уверены, что это mod_include, убедитесь, что он скомпилирован с той же версией apache, которую вы используете - если он был скомпилирован для другой версии, которая может объяснить ошибки segfaults.

Если это происходит с ошибками, вы сможете получить дамп ядра, который поможет понять, что произошло на уровне кода. Обратитесь к документации вашей операционной системы, чтобы выяснить, как собрать дамп. Получив его, вы можете проверить полное внутреннее состояние процесса во время сбоя, используя ваш любимый отладчик.

Strace не сильно помогает с segfaults, поскольку он только скажет вам, что происходит между пользовательским пространством и ядром, в то время как segfault обычно указывает на чисто пользовательскую проблему. Если вы работаете в Linux, в этом случае больше подходят valgrind и ltrace. Но сначала вытащите след из ядра.

Другие вопросы по тегам