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

From: Date: Fri, 04 Sep 2015 10:01:16 +0000
Subject: Bug #70360 [Opn]: Segmentation fault for every request
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-195757@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
 Updated by:         nikic@php.net
 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:

@aliis: 0xf == 0b1111, so this will enable the first four passes (which is pass 1_5, pass 2 and pass
3 in practice). To further narrow this down you can try 0x1, 0x2 and 0x4.


Previous Comments:
------------------------------------------------------------------------
[2015-09-04 08:37:09] aliis dot jh at gmail dot com

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

------------------------------------------------------------------------
[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

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


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


Thread (14 messages)

« previous php.bugs (#195757) next »