Что означает, что glibc обнаружил …httpd: двойное освобождение или повреждение?

Что означает, что glibc обнаружил …httpd: двойное освобождение или повреждение?

У меня запущен сервер EC2, который я использую для обработки загружаемых изображений. У меня есть Flash SWF-файл, который обрабатывает загрузку на сервер с моего локального диска. При загрузке около 130 изображений (всего около 650 МБ) в файле журнала сервера примерно после 45-го изображения появилась следующая ошибка.

  • glibc обнаружил /usr/sbin/httpd: двойное освобождение или повреждение (!prev): 0x85a6b990 **

Что означает эта ошибка?

Сервер перестал отвечать, поэтому я его перезапущу. Где мне начать искать причину этой проблемы?

Спасибо

некоторая информация -

Apache/2.2.9 (Unix) DAV/2 PHP/5.2.6 mod_ssl/2.2.9 OpenSSL/0.9.8b настроен Fedora 8

решение1

httpdЭто сообщение означает, что в одном из загруженных модулей или в среде выполнения (библиотеках, ОС, оборудовании) обнаружена ошибка .

Техническое объяснение ошибки заключается в том, что часть процесса httpdсохранила указатель на блок памяти, хотя память уже была освобождена для другого использования. В этом случае ошибка была обнаружена и не нанесла никакого вреда, поскольку блок памяти случайно не был повторно использован для чего-то другого. Но если вы видите эту ошибку, весьма вероятно, что она возникает и в других случаях, когда блок памяти используется повторно, и тогда ошибку невозможно обнаружить.

В идеале вы бы нашли способ воспроизвести эту ошибку и отправили отчет об ошибке команде разработчиков Apache (если только вы не думаете, что ошибка была исправлена ​​в последующей версии, но для такой ошибки это будет трудно сказать). К сожалению, этот тип ошибки трудно воспроизвести. Вы можете поискать на веб-сайте Apache, есть ли у команды разработчиков предпочтения относительно отчета о таких ошибках, спросить в каком-нибудь списке рассылки Apache (я не знаю, какой из них будет подходящим). Конечно, если ошибка в стороннем модуле или в библиотеке, вам следует вместо этого связаться с командой разработчиков. Не существует чудесного метода выяснить это, если вы не можете воспроизвести ошибку.

Чтобы исключить аппаратную проблему, вам, возможно, стоит провести тест памяти.

Связанный контент