Bug #76937 [Opn->Fbk]: Drupal tests fail with opcache on
| From: | cmb@php.net | Date: | Thu, 08 Jul 2021 14:01:44 +0000 |
| Subject: | Bug #76937 [Opn->Fbk]: Drupal tests fail with opcache on | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-234916@lists.php.net to get a copy of this message | ||
Edit report at https://bugs.php.net/bug.php?id=76937&edit=1
ID: 76937
Updated by: cmb@php.net
Reported by: alex dot a dot pott at gmail dot com
Summary: Drupal tests fail with opcache on
-Status: Open
+Status: Feedback
Type: Bug
Package: opcache
Operating System: OSX
PHP Version: 7.3.0RC1
-Assigned To:
+Assigned To: cmb
Block user comment: N
Private report: N
New Comment:
Is the Drupal test still failing with any of the actively
supported PHP versions[1]?
[1] <https://www.php.net/supported-versions.php>
Previous Comments:
------------------------------------------------------------------------
[2018-12-20 15:13:02] cmb@php.net
Related To: Bug #77310
------------------------------------------------------------------------
[2018-12-17 10:36:07] matias at avusto dot fi
Yes, I just confirmed that the issue gets fixed by adding this option to php.ini:
opcache.optimization_level=0x7FFFBBFF
Thank you @nikic!
------------------------------------------------------------------------
[2018-12-17 10:05:50] nikic@php.net
@matias: At least in your case, you're probably hitting bug #77275, which will be fixed in the
next release.
------------------------------------------------------------------------
[2018-12-17 10:02:06] matias at avusto dot fi
Also Grav (www.getgrav.org) unit tests fail if opcache is turned on, but run just fine if opcache is
turned off. Similar issues can be seen in the sites as well (which also work without opcache just
fine).
All the issues seem to be related to Pimple, or offsetGet($id) call which seems to have more or less
random value $id passed to it. Sometimes $id = '', sometimes the value of the $id comes
from a previous offsetGet() call and once it even had value from the following method call
$this->initializeController().. Meaning that the $id = 'initializeController', not $id
= 'task' as written in the code. For some reason in the last case making a random change
(adding a whitespace) in the affected file fixes the issue until opcache gets cleared.
I'm not sure if the issues are related, is $units an ArrayAccess object?
------------------------------------------------------------------------
[2018-09-26 14:44:48] alex dot a dot pott at gmail dot com
If I change code in EntityQueryTest:141 from
list($field_name, $langcode, $values) = $units[$key];
$entity->getTranslation($langcode)->{$field_name}[] = $values;
to
list($field_name, $langcode, $values) = $units[$key];
$entity->getTranslation($units[$key][1])->{$units[$key][0]}[] = $units[$key][2];
It works fine. I've tried to produce a snippet that just does the list() and cause the error
but I've not been successful yet.
------------------------------------------------------------------------
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=76937
--
Edit this bug report at https://bugs.php.net/bug.php?id=76937&edit=1