HomePhabricator

Fix namespace manager jumps back to initial settings when opcache is enabled
e8c6e7f7970aUnpublished

Authored by Pwirth on Mar 8 2019, 1:42 PM.

Unpublished Commit · Learn More

Not On Permanent Ref: This commit is not an ancestor of any permanent ref.

Description

Fix namespace manager jumps back to initial settings when opcache is enabled

When opcache is enabled it somehow corrupts the value $aDefinition in the foreach loop. This array is not existen in the if statement even though it is fine whenever you acces it somehow before the statement.
This happens only on less then half the machines tested in various php
versions

Additional Information

There seems to be a bug with opcache ZEND_OPTIMIZER_PASS_14
which is the optimizatio level for dead code elimination.
When this is disabled by setting
opcache.optimization_level=0x7FFF9FFF
instead of
opcache.optimization_level=0x7FFFBFFF
in php.ini then the wrong behaviour does not occur.
the further cause for the wronly optimization was not further
investigated.

ERM:14431

> Needs cherry-pick to REl1_31

Change-Id: Icf92f481f5c294dcc6ec401440230675ce0d488e

Details