Bug #70360 [Com]: Segmentation fault for every request

From: Date: Fri, 04 Sep 2015 08:37:11 +0000
Subject: Bug #70360 [Com]: Segmentation fault for every request
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-195749@lists.php.net to get a copy of this message
Edit report at https://bugs.php.net/bug.php?id=70360&edit=1 ID: 70360 Comment by: aliis dot jh at gmail dot com Reported by: atippett at gmail dot com Summary: Segmentation fault for every request Status: Open Type: Bug Package: opcache Operating System: Linux fenrir 3.16.0-4-amd64 #1 PHP Version: 5.6.12 Block user comment: N Private report: N New Comment: After further testing on fenrir, we have that all bitmask settings for: opcache.optimization_level do NOT produce segfaults EXCEPT the first bit. Working: 0xXXXXXXXX0 // where 'X'=f|0 Segfault: 0xXXXXXXXXf // where 'X'=f|0 So only combinations of bit flags with the first bit enabled result in segfaults, all other combinations work fine. From reference, I believe this is the flag for pass 1, operations: * - substitute persistent constants (true, false, null, etc) * - perform compile-time evaluation of constant binary and unary operations * - optimize series of ADD_STRING and/or ADD_CHAR * - convert CAST(IS_BOOL,x) into BOOL(x) * - convert INTI_FCALL_BY_NAME + DO_FCALL_BY_NAME into DO_FCALL Reference: http://stackoverflow.com/questions/21181045/php-opcache-optimization-levels-what-are-they https://github.com/zendtech/ZendOptimizerPlus/blob/master/Optimizer/zend_optimizer.c Previous Comments: ------------------------------------------------------------------------ [2015-09-04 07:14:42] aliis dot jh at gmail dot com After updating fenrir to opcache: Zend OPcache v7.0.6-dev We're still getting segfaults with the php.ini setting: opcache.optimization_level=0xffffffff As soon as we set opcache.optimization_level=0 the segfaults stop. ------------------------------------------------------------------------ [2015-08-28 18:17:56] atippett at gmail dot com I believe this might be related to https://bugs.php.net/bug.php?id=69549 I'll run some tests tonight with the updated version of php on fenrir. ------------------------------------------------------------------------ [2015-08-28 10:11:26] steve at stephenorr dot co dot uk Same issue for me on PHP 5.6.12-1+deb.sury.org~vivid+1 (as provided in ondrej PPA on Ubuntu). Disabling opcache initially appeared to resolve the problem, but it looks like my actual issue was that I also had the xcache extension enabled, and the two were conflicting. Uninstalling xcache and re-enabling opcache seems to work. ------------------------------------------------------------------------ [2015-08-26 06:37:41] atippett at gmail dot com changing to package opcache ------------------------------------------------------------------------ [2015-08-26 06:35:39] atippett at gmail dot com Please advice: After much poking, turning off opcache (7.0.4) fixes the issues. It's terrible hard to diagnosis what's going on and any recommendations are welcome. The code runs fine after an apache2ctl restart for sometimes a 1/2 day or so but if we stress test the system with a lots of connections we can reproduce a segmentation fault when opcache is on. Other sites under the same webserver continue to work but any access to the url we stress test produces a core dump on every request until we restart apache. We've tried to narrow down what code is causing it but have been unsuccessful at finding a code example that we can pass on. Any recommendations? ------------------------------------------------------------------------ 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=70360 -- Edit this bug report at https://bugs.php.net/bug.php?id=70360&edit=1

« previous php.bugs (#195749) next »