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

From: Date: Thu, 15 Oct 2020 12:45:11 +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-229641@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:         nikic@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:            Scripting Engine problem
 Operating System:   Windows
 PHP Version:        8.0Git-2020-07-06 (Git)
 Block user comment: N
 Private report:     N

 New Comment:

Is this still an issue? At least looking at your GH actions, the jit config seems to be passing.


Previous Comments:
------------------------------------------------------------------------
[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


Thread (6 messages)

« previous php.bugs (#229641) next »