Bug #65590 [Com]: Apache segfaults and reports zend_mm_heap corrupted

From: Date: Fri, 20 Nov 2015 15:40:25 +0000
Subject: Bug #65590 [Com]: Apache segfaults and reports zend_mm_heap corrupted
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-197356@lists.php.net to get a copy of this message
Edit report at https://bugs.php.net/bug.php?id=65590&edit=1

 ID:                 65590
 Comment by:         colin at mollenhour dot com
 Reported by:        ole dot skudsvik at gmail dot com
 Summary:            Apache segfaults and reports zend_mm_heap corrupted
 Status:             Open
 Type:               Bug
 Package:            opcache
 Operating System:   Linux, CentOS 6
 PHP Version:        5.4.19
 Block user comment: N
 Private report:     N

 New Comment:

Sorry, I spoke too soon, setting opcache.enabled = 0 did not resolve the problem. It seems that
since there is a large delay after restart before it happens that it might be related to Apache 2.4
MaxConnectionsPerChild which I have set to 2000.


Previous Comments:
------------------------------------------------------------------------
[2015-11-19 22:40:50] colin at mollenhour dot com

I am currently experiencing this same behavior on PHP 5.5.30 (ondrej/php5 PPA on Ubuntu 14.04) and
the latest official Ubuntu 14.04 package (5.5.9+....). I do not have APC installed obviously but am
using ZendOPcache (v7.0.6-dev and 7.0.4 respectively). It occurs with or without
opcache.fast_shutdown.

Another server running the exact same code (load balanced) with PHP 5.4.45 (dotdeb.org package) does
not exhibit this issue.

I disabled Zend OPcache in favor of XCache and the error disappeared.

------------------------------------------------------------------------
[2015-05-22 13:04:22] phofstetter at sensational dot ch

Reproducing this is actually quite easy: Just run any script with FPM and enabled opcache while
constantly touching it in order to fill up opcache.

Once oom_restarts increments (so opcache tries to restart itself due to having used up all memory),
FPM will start crashing and it will continue to do so until you restart it completely.

For us, opcache.fast_shutdown solves the problem completely.

------------------------------------------------------------------------
[2015-05-15 09:23:24] nax_hh at hotmail dot com

I was able to reproduce this in php 5.6 with a bit of difficulty

# cat /etc/centos-release
CentOS release 6.6 (Final)

# php -v
PHP 5.6.8 (cli) (built: Apr 16 2015 20:00:59)
Copyright (c) 1997-2015 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2015 Zend Technologies
    with Zend OPcache v7.0.4-dev, Copyright (c) 1999-2015, by Zend Technologies


script:
opcache_reset();

require_once __DIR__.'/../vendor/autoload.php'; # composer
$app = require_once __DIR__.'/../src/App.php'; # silex app
$app->run();

error.log:
zend_mm_heap corrupted
zend_mm_heap corrupted
zend_mm_heap corrupted
zend_mm_heap corrupted
zend_mm_heap corrupted
...

I normally get only that error.
If I launch an ab like:

ab command:
ab -r -n 1000 -c 2 http://localhost:8080/

I get a segfault pretty fast.
But with Apache recompiled to generate the dump I'm not able to reproduce it

------------------------------------------------------------------------
[2013-12-13 16:25:36] raja dot govindharaj at bjss dot com

We used mistakenly two caches (opcache and apc) that cacused the apache crash when do graceful or
restart. I have now disabled apc which solved the problem.

------------------------------------------------------------------------
[2013-12-13 09:28:50] raja dot govindharaj at bjss dot com

We are also experiencing the same seg fault and nasty error. The segfaults occurs when do graceful
restart Apache. We use the same version of PHP (5.4.19), CentOS 6.4 and OpCache 7.0.2. It occurs
always though disable fast shutdown option (opcache.fast_shutdown=0).

/httpd graceful - crashed Apache.

------------------------------------------------------------------------


The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at

    https://bugs.php.net/bug.php?id=65590


--
Edit this bug report at https://bugs.php.net/bug.php?id=65590&edit=1


Thread (11 messages)

« previous php.bugs (#197356) next »