Skip to content

Internal error for redefined FILTER_* constants #10483

@dhaeckel

Description

@dhaeckel

Bug report

PHPStan Crashes, when a directory named plugins is configured in paths, seems to stem from the symfony console. Happens even when a path is given as cli arg. Following are a minimal neon file and the stracktrace.

parameters:
	paths:
		- plugins
	level: 0

phar:///vendor/phpstan/phpstan/phpstan.phar/src/Type/Php/FilterFunctionReturnTypeHelper.php(185)

 #0 phar:///vendor/phpstan/phpstan/phpstan.phar/src/Type/Php/FilterFunctionReturnTypeHelper.php(199): PHPStan\Type\Php\FilterFunctionReturnTypeHelper->getConstant()                                    
 #1 phar:///vendor/phpstan/phpstan/phpstan.phar/src/Type/Php/FilterFunctionReturnTypeHelper.php(124): PHPStan\Type\Php\FilterFunctionReturnTypeHelper->determineExactType()                             
 #2 phar:///vendor/phpstan/phpstan/phpstan.phar/src/Type/Php/FilterVarDynamicReturnTypeExtension.php(35): PHPStan\Type\Php\FilterFunctionReturnTypeHelper->getType()                                    
 #3 phar:///vendor/phpstan/phpstan/phpstan.phar/src/Analyser/MutatingScope.php(1553): PHPStan\Type\Php\FilterVarDynamicReturnTypeExtension->getTypeFromFunctionCall()                                   
 #4 phar:///vendor/phpstan/phpstan/phpstan.phar/src/Analyser/MutatingScope.php(575): PHPStan\Analyser\MutatingScope->resolveType()                                                                      
 #5 phar:///vendor/phpstan/phpstan/phpstan.phar/src/Analyser/NodeScopeResolver.php(2518): PHPStan\Analyser\MutatingScope->getType()                                                                     
 #6 phar:///vendor/phpstan/phpstan/phpstan.phar/src/Analyser/NodeScopeResolver.php(1674): PHPStan\Analyser\NodeScopeResolver->getFunctionThrowPoint()                                                   
 #7 phar:///vendor/phpstan/phpstan/phpstan.phar/src/Analyser/MutatingScope.php(1362): PHPStan\Analyser\NodeScopeResolver->processExprNode()                                                             
 #8 phar:///vendor/phpstan/phpstan/phpstan.phar/src/Analyser/MutatingScope.php(575): PHPStan\Analyser\MutatingScope->resolveType()                                                                      
 #9 phar:///vendor/phpstan/phpstan/phpstan.phar/src/Analyser/MutatingScope.php(781): PHPStan\Analyser\MutatingScope->getType()                                                                          
 #10 phar:///vendor/phpstan/phpstan/phpstan.phar/src/Analyser/MutatingScope.php(575): PHPStan\Analyser\MutatingScope->resolveType()                                                                     
 #11 phar:///vendor/phpstan/phpstan/phpstan.phar/src/Analyser/NodeScopeResolver.php(1567): PHPStan\Analyser\MutatingScope->getType()                                                                    
 #12 phar:///vendor/phpstan/phpstan/phpstan.phar/src/Analyser/NodeScopeResolver.php(626): PHPStan\Analyser\NodeScopeResolver->findEarlyTerminatingExpr()                                                
 #13 phar:///vendor/phpstan/phpstan/phpstan.phar/src/Analyser/NodeScopeResolver.php(370): PHPStan\Analyser\NodeScopeResolver->processStmtNode()                                                         
 #14 phar:///vendor/phpstan/phpstan/phpstan.phar/src/Analyser/FileAnalyser.php(166): PHPStan\Analyser\NodeScopeResolver->processNodes()                                                                 
 #15 phar:///vendor/phpstan/phpstan/phpstan.phar/src/Command/WorkerCommand.php(132): PHPStan\Analyser\FileAnalyser->analyseFile()                                                                       
 #16 phar:///vendor/phpstan/phpstan/phpstan.phar/vendor/evenement/evenement/src/Evenement/EventEmitterTrait.php(97): PHPStan\Command\WorkerCommand->PHPStan\Command\{closure}()                         
 #17 phar:///vendor/phpstan/phpstan/phpstan.phar/vendor/clue/ndjson-react/src/Decoder.php(117): _PHPStan_11268e5ee\Evenement\EventEmitter->emit()                                                       
 #18 phar:///vendor/phpstan/phpstan/phpstan.phar/vendor/evenement/evenement/src/Evenement/EventEmitterTrait.php(97): _PHPStan_11268e5ee\Clue\React\NDJson\Decoder->handleData()                         
 #19 phar:///vendor/phpstan/phpstan/phpstan.phar/vendor/react/stream/src/Util.php(62): _PHPStan_11268e5ee\Evenement\EventEmitter->emit()                                                                
 #20 phar:///vendor/phpstan/phpstan/phpstan.phar/vendor/evenement/evenement/src/Evenement/EventEmitterTrait.php(97): _PHPStan_11268e5ee\React\Stream\Util::_PHPStan_11268e5ee\React\Stream\{closure}()  
 #21 phar:///vendor/phpstan/phpstan/phpstan.phar/vendor/react/stream/src/DuplexResourceStream.php(154): _PHPStan_11268e5ee\Evenement\EventEmitter->emit()                                               
 #22 phar:///vendor/phpstan/phpstan/phpstan.phar/vendor/react/event-loop/src/StreamSelectLoop.php(201): _PHPStan_11268e5ee\React\Stream\DuplexResourceStream->handleData()                              
 #23 phar:///vendor/phpstan/phpstan/phpstan.phar/vendor/react/event-loop/src/StreamSelectLoop.php(173): _PHPStan_11268e5ee\React\EventLoop\StreamSelectLoop->waitForStreamActivity()                    
 #24 phar:///vendor/phpstan/phpstan/phpstan.phar/src/Command/WorkerCommand.php(98): _PHPStan_11268e5ee\React\EventLoop\StreamSelectLoop->run()                                                          
 #25 phar:///vendor/phpstan/phpstan/phpstan.phar/vendor/symfony/console/Command/Command.php(259): PHPStan\Command\WorkerCommand->execute()                                                              
 #26 phar:///vendor/phpstan/phpstan/phpstan.phar/vendor/symfony/console/Application.php(870): _PHPStan_11268e5ee\Symfony\Component\Console\Command\Command->run()                                       
 #27 phar:///vendor/phpstan/phpstan/phpstan.phar/vendor/symfony/console/Application.php(261): _PHPStan_11268e5ee\Symfony\Component\Console\Application->doRunCommand()                                  
 #28 phar:///vendor/phpstan/phpstan/phpstan.phar/vendor/symfony/console/Application.php(157): _PHPStan_11268e5ee\Symfony\Component\Console\Application->doRun()                                         
 #29 phar:///vendor/phpstan/phpstan/phpstan.phar/bin/phpstan(124): _PHPStan_11268e5ee\Symfony\Component\Console\Application->run()                                                                      
 #30 phar:///vendor/phpstan/phpstan/phpstan.phar/bin/phpstan(125): _PHPStan_11268e5ee\{closure}()                                                                                                       
 #31 /vendor/phpstan/phpstan/phpstan(8): require('phar:///...')                                                                                                                                  
 #32 {main}

Code snippet that reproduces the problem

No response

Expected output

No Internal Error

Did PHPStan help you today? Did it make you happy in any way?

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions