Что значит "zend_mm_heap поврежден" - PullRequest
122 голосов
/ 12 февраля 2010

Внезапно у меня возникли проблемы с моим приложением, которых у меня никогда не было раньше. Я решил проверить журнал ошибок Apache и обнаружил сообщение об ошибке «zend_mm_heap поврежден». Что это значит.

ОС: Fedora Core 8 Apache: 2.2.9 PHP: 5.2.6

Ответы [ 37 ]

0 голосов
/ 30 августа 2014

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

0 голосов
/ 08 сентября 2016

Многие ответы здесь старые. Для меня (php 7.0.10 через PPA Ондрея Сури на Ubuntu 14.04 и 16.04) проблема заключается в APC. Я кэшировал сотни маленьких битов данных с помощью apc_fetch () и т. Д., И при аннулировании части кеша я получал ошибку. Обходным решением было переключиться на кэширование на файловой системе.

Подробнее о github https://github.com/oerdnj/deb.sury.org/issues/452#issuecomment-245475283.

0 голосов
/ 18 октября 2012

Я также заметил эту ошибку и ошибки SIGSEGV при запуске старого кода, который использует '&' для явного принудительного обращения к ссылкам при запуске его в PHP 5.2 +.

0 голосов
/ 19 апреля 2017

Действительно поищите ваш код для тихой ошибки. В моем приложении Symfony я получил поврежденную ошибку zend_mm_heap после удаления блока из базового шаблона ветки, не помня, что на него ссылались в суб-шаблонах. Ошибка не выдана.

0 голосов
/ 10 мая 2013

Для меня была проблема с демоном memcached, так как PHP был настроен на хранение информации о сеансе в memcached. Он ел 100% процессора и вел себя странно. После перезапуска memcached проблема исчезла.

0 голосов
/ 09 апреля 2019

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

У меня возникла та же проблема, и я заметил, что если я перестал прослушивать подключения XDebug в моей IDE (PhpStorm 2019.1 EAP), ошибка перестала происходить.

Фактическим исправлением для меня было удаление любых существующих точек останова.

Вероятность того, что это допустимое исправление, заключается в том, что PhpStorm иногда не так хорош в удалении точек останова, которые больше не ссылаются на действительные строки кода после внешнего изменения файлов (например, git)

Edit: Нашел соответствующий отчет об ошибке в трекере проблем xdebug: https://bugs.xdebug.org/view.php?id=1647

0 голосов
/ 09 августа 2010

Для меня именно ZendDebugger вызвал утечку памяти и вызвал сбой MemoryManager.

Я отключил его и сейчас ищу новую версию. Если я не смогу его найти, я перейду на xdebug ...

...