Bug #79798 [Opn->Fbk]: "Uncaught TypeError: Illegal offset type" with PHP 8.0-dev JIT on Windows

From: Date: Tue, 23 Nov 2021 10:18:21 +0000
Subject: Bug #79798 [Opn->Fbk]: "Uncaught TypeError: Illegal offset type" with PHP 8.0-dev JIT on Windows
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-237936@lists.php.net to get a copy of this message
Edit report at https://bugs.php.net/bug.php?id=79798&edit=1 ID: 79798 Updated by: cmb@php.net Reported by: sebastian@php.net Summary: "Uncaught TypeError: Illegal offset type" with PHP 8.0-dev JIT on Windows -Status: Open +Status: Feedback Type: Bug Package: JIT Operating System: Windows PHP Version: 8.0Git-2020-07-06 (Git) -Assigned To: +Assigned To: cmb Block user comment: N Private report: N New Comment: Does anybody still experience this issue with PHP 8.0.13? Previous Comments: ------------------------------------------------------------------------ [2020-10-19 13:49:47] nikic@php.net Ah, I missed the fact that this is a Windows only issue, so of course it doesn't reproduce for me... Can't help then. ------------------------------------------------------------------------ [2020-10-16 05:08:09] sebastian@php.net The php-token-stream library has been abandoned and is no longer used by PHPUnit / php-code-coverage. That explains why the issue (if it were still around, which I do not know) does not show up in CI. ------------------------------------------------------------------------ [2020-10-15 12:45:11] nikic@php.net Is this still an issue? At least looking at your GH actions, the jit config seems to be passing. ------------------------------------------------------------------------ [2020-07-06 07:50:17] sebastian@php.net Description: ------------ The error shown below is triggered while running the tests for PHPUnit 9.3 (master) with PHP 8.0-dev and JIT (opcache.enable=1, opcache.enable_cli=1, opcache.optimization_level=-1, opcache.jit=1205, opcache.jit_buffer_size=4096M) on Windows: PHP Fatal error: Uncaught TypeError: Illegal offset type in D:\a\phpunit\phpunit\vendor\phpunit\php-token-stream\src\Token\Stream.php:658 Stack trace: #0 D:\a\phpunit\phpunit\vendor\phpunit\php-token-stream\src\Token\Stream.php(622): PHP_Token_Stream->addFunctionToMap() #1 D:\a\phpunit\phpunit\vendor\phpunit\php-token-stream\src\Token\Stream.php(175): PHP_Token_Stream->parse() #2 D:\a\phpunit\phpunit\vendor\phpunit\php-code-coverage\src\Node\File.php(478): PHP_Token_Stream->getClasses() #3 D:\a\phpunit\phpunit\vendor\phpunit\php-code-coverage\src\Node\File.php(354): SebastianBergmann\CodeCoverage\Node\File->processClasses() #4 D:\a\phpunit\phpunit\vendor\phpunit\php-code-coverage\src\Node\File.php(145): SebastianBergmann\CodeCoverage\Node\File->calculateStatistics() #5 D:\a\phpunit\phpunit\vendor\phpunit\php-code-coverage\src\Node\Directory.php(165): SebastianBergmann\CodeCoverage\Node\File->__construct() #6 D:\a\phpunit\phpunit\vendor\phpunit\php-code-coverage\src\Node\Builder.php(59): SebastianBergmann\CodeCoverage\Node\Directory->addFile() #7 D:\a\phpunit\phpunit\vendor\phpunit\php-code-coverage\src\Node\Builder.php(63): SebastianBergmann\CodeCoverage\Node\Builder->addItems() #8 D:\a\phpunit\phpunit\vendor\phpunit\php-code-coverage\src\Node\Builder.php(63): SebastianBergmann\CodeCoverage\Node\Builder->addItems() #9 D:\a\phpunit\phpunit\vendor\phpunit\php-code-coverage\src\Node\Builder.php(63): SebastianBergmann\CodeCoverage\Node\Builder->addItems() #10 D:\a\phpunit\phpunit\vendor\phpunit\php-code-coverage\src\Node\Builder.php(44): SebastianBergmann\CodeCoverage\Node\Builder->addItems() #11 D:\a\phpunit\phpunit\vendor\phpunit\php-code-coverage\src\CodeCoverage.php(147): SebastianBergmann\CodeCoverage\Node\Builder->build() #12 D:\a\phpunit\phpunit\vendor\phpunit\php-code-coverage\src\Report\Clover.php(55): SebastianBergmann\CodeCoverage\CodeCoverage->getReport() #13 D:\a\phpunit\phpunit\src\TextUI\TestRunner.php(706): SebastianBergmann\CodeCoverage\Report\Clover->process() #14 D:\a\phpunit\phpunit\src\TextUI\Command.php(134): PHPUnit\TextUI\TestRunner->run() #15 D:\a\phpunit\phpunit\src\TextUI\Command.php(94): PHPUnit\TextUI\Command->run() #16 D:\a\phpunit\phpunit\phpunit(61): PHPUnit\TextUI\Command::main() #17 {main} thrown in D:\a\phpunit\phpunit\vendor\phpunit\php-token-stream\src\Token\Stream.php on line 658 This is the GitHub Action in question: https://github.com/sebastianbergmann/phpunit/runs/840483759?check_suite_focus=true The code in question looks like this: 656 private function addFunctionToMap($name, $startLine, $endLine): void 656 { 657 for ($line = $startLine; $line <= $endLine; $line++) { 658 $this->lineToFunctionMap[$line] = $name; 659 } 660 } https://github.com/sebastianbergmann/php-token-stream/blob/4.0.3/src/Token/Stream.php#L658 The error is not triggered with PHP 8.0-dev and JIT on Linux (or with any other PHP configuration that is tested against in PHPUnit's CI pipeline). ------------------------------------------------------------------------ -- Edit this bug report at https://bugs.php.net/bug.php?id=79798&edit=1

« previous php.bugs (#237936) next »