Bug #76711 [Com]: OPcache enabled triggers false-positive "Illegal string offset"

From: Date: Thu, 20 Sep 2018 06:47:25 +0000
Subject: Bug #76711 [Com]: OPcache enabled triggers false-positive "Illegal string offset"
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-217147@lists.php.net to get a copy of this message
Edit report at https://bugs.php.net/bug.php?id=76711&edit=1 ID: 76711 Comment by: nicolas dot grekas+php at gmail dot com Reported by: nicolas dot grekas+php at gmail dot com Summary: OPcache enabled triggers false-positive "Illegal string offset" Status: Verified Type: Bug Package: opcache PHP Version: 7.3Git-2018-08-06 (Git) Block user comment: N Private report: N New Comment: This issue still exists in 7.3.0RC1, see failures at https://travis-ci.org/nicolas-grekas/symfony/builds/430883587 Previous Comments: ------------------------------------------------------------------------ [2018-08-07 07:28:57] laruence@php.net I can not reproduce this, what I got is: $ /home/huixinchen/local/php73/bin/php -d opcache.enable_cli=1 -d error_reporting=-1 -d display_errors=1 ./phpunit src/Symfony/Component/BrowserKit #!/usr/bin/env php PHPUnit 6.5.10 by Sebastian Bergmann and contributors. Testing src/Symfony/Component/BrowserKit .............................................F................. 63 / 136 ( 46%) ............................................................... 126 / 136 ( 92%) .......... 136 / 136 (100%) Time: 691 ms, Memory: 4.00MB There was 1 failure: 1) Symfony\Component\BrowserKit\Tests\ClientTest::testFollowMetaRefresh with data set #7 ('<html><head><noscript><meta h.../html>', 'http://www.example.com/redirected') Failed asserting that two strings are equal. --- Expected +++ Actual @@ @@ -'http://www.example.com/redirected' +'http://www.example.com/foo/foobar' /home/huixinchen/opensource/github/symfony/src/Symfony/Component/BrowserKit/Tests/ClientTest.php:669 /home/huixinchen/opensource/github/symfony/.phpunit/phpunit-6.5/phpunit:5 FAILURES! Tests: 136, Assertions: 312, Failures: 1. ------------------------------------------------------------------------ [2018-08-06 14:08:38] nicolas dot grekas+php at gmail dot com Description: ------------ when running the Symfony test suite on PHP 7.3 with opcache.enable_cli=1, some tests fail with "Illegal string offset '...'" errors, which make no sense: Example build is: https://travis-ci.org/nicolas-grekas/symfony/builds/411802579#L2508 The reported line reads as such: > if (!$uri || '#' == $uri[0] || '?' == $uri[0]) { See https://github.com/symfony/symfony/blob/master/src/Symfony/Component/BrowserKit/Client.php#L668 It looks like there is a leak from L649 to L668: https://github.com/symfony/symfony/blob/master/src/Symfony/Component/BrowserKit/Client.php#L649 Test script: --------------- No better reproducer sorry: git clone https://github.com/symfony/symfony cd symfony composer install ./phpunit install php -dopcache.enable_cli=1 ./phpunit src/Symfony/Component/BrowserKit ------------------------------------------------------------------------ -- Edit this bug report at https://bugs.php.net/bug.php?id=76711&edit=1

« previous php.bugs (#217147) next »