Bug #76937 [Opn->Fbk]: Drupal tests fail with opcache on

From: 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

« previous php.bugs (#234916) next »