phpstan: Crash in StubPhpDocProvider

Bug report

After upgrading my app, I’m getting this mysterious crash:

In StubPhpDocProvider.php line 150:
                                      
  [PHPStan\ShouldNotHappenException]  
  Internal error.                     
                                      

Exception trace:
  at phar:///tmp/phpstan-crash/vendor/phpstan/phpstan/phpstan/src/PhpDoc/StubPhpDocProvider.php:150
 PHPStan\PhpDoc\StubPhpDocProvider->initializeKnownElements() at phar:///tmp/phpstan-crash/vendor/phpstan/phpstan/phpstan/src/PhpDoc/StubPhpDocProvider.php:133
 PHPStan\PhpDoc\StubPhpDocProvider->isKnownClass() at phar:///tmp/phpstan-crash/vendor/phpstan/phpstan/phpstan/src/PhpDoc/StubPhpDocProvider.php:56
 PHPStan\PhpDoc\StubPhpDocProvider->findClassPhpDoc() at phar:///tmp/phpstan-crash/vendor/phpstan/phpstan/phpstan/src/Reflection/BetterReflection/BetterReflectionProvider.php:113
 PHPStan\Reflection\BetterReflection\BetterReflectionProvider->getClass() at phar:///tmp/phpstan-crash/vendor/phpstan/phpstan/phpstan/src/Rules/ClassCaseSensitivityCheck.php:31
 PHPStan\Rules\ClassCaseSensitivityCheck->checkClassNames() at phar:///tmp/phpstan-crash/vendor/phpstan/phpstan/phpstan/src/Rules/Classes/ExistingClassesInInterfaceExtendsRule.php:34
 PHPStan\Rules\Classes\ExistingClassesInInterfaceExtendsRule->processNode() at phar:///tmp/phpstan-crash/vendor/phpstan/phpstan/phpstan/src/Analyser/FileAnalyser.php:68
 PHPStan\Analyser\FileAnalyser->PHPStan\Analyser\{closure}() at phar:///tmp/phpstan-crash/vendor/phpstan/phpstan/phpstan/src/Analyser/NodeScopeResolver.php:278
 PHPStan\Analyser\NodeScopeResolver->processStmtNode() at phar:///tmp/phpstan-crash/vendor/phpstan/phpstan/phpstan/src/Analyser/NodeScopeResolver.php:193
 PHPStan\Analyser\NodeScopeResolver->processNodes() at phar:///tmp/phpstan-crash/vendor/phpstan/phpstan/phpstan/src/Analyser/FileAnalyser.php:148
 PHPStan\Analyser\FileAnalyser->analyseFile() at phar:///tmp/phpstan-crash/vendor/phpstan/phpstan/phpstan/src/PhpDoc/StubValidator.php:78
 PHPStan\PhpDoc\StubValidator->validate() at phar:///tmp/phpstan-crash/vendor/phpstan/phpstan/phpstan/src/Command/AnalyseApplication.php:47
 PHPStan\Command\AnalyseApplication->analyse() at phar:///tmp/phpstan-crash/vendor/phpstan/phpstan/phpstan/src/Command/AnalyseCommand.php:148
 PHPStan\Command\AnalyseCommand->execute() at phar:///tmp/phpstan-crash/vendor/phpstan/phpstan/phpstan/vendor/symfony/console/Command/Command.php:228
 _HumbugBoxeae286054244\Symfony\Component\Console\Command\Command->run() at phar:///tmp/phpstan-crash/vendor/phpstan/phpstan/phpstan/vendor/symfony/console/Application.php:852
 _HumbugBoxeae286054244\Symfony\Component\Console\Application->doRunCommand() at phar:///tmp/phpstan-crash/vendor/phpstan/phpstan/phpstan/vendor/symfony/console/Application.php:235
 _HumbugBoxeae286054244\Symfony\Component\Console\Application->doRun() at phar:///tmp/phpstan-crash/vendor/phpstan/phpstan/phpstan/vendor/symfony/console/Application.php:136
 _HumbugBoxeae286054244\Symfony\Component\Console\Application->run() at phar:///tmp/phpstan-crash/vendor/phpstan/phpstan/phpstan/bin/phpstan:76
 _HumbugBoxeae286054244\{closure}() at phar:///tmp/phpstan-crash/vendor/phpstan/phpstan/phpstan/bin/phpstan:77
 require() at /tmp/phpstan-crash/vendor/phpstan/phpstan/phpstan:6

Code snippet that reproduces the problem

git clone  git@github.com:greg0ire/phpstan-crash.git
cd phpstan-crash
composer install --no-scripts
vendor/bin/phpstan --ansi analyse --no-progress -c phpstan.neon -vvv

Expected output

Some errors, but no crash.

About this issue

  • Original URL
  • State: closed
  • Created 4 years ago
  • Reactions: 4
  • Comments: 19 (10 by maintainers)

Most upvoted comments

Looks like this bug is going to be solved by upgrading nikic/php-parser to 4.10.2. I’m gonna push a release soon.