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)
And it’s out 😃 https://github.com/phpstan/phpstan/releases/tag/0.12.46
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.