Skip to content

Internal error crash report #14305

@hocker1

Description

@hocker1

Bug report

Version 2.1.40 did not crash, 2.1.41 crashes (analyzing the same file):

 ## phar:///home/roman/Projects/Orcave/CbsDev/vendor/phpstan/phpstan/phpstan.phar/src/Type/Constant/ConstantArrayTypeBuilder.php(157)                                                      
 #0 phar:///home/roman/Projects/Orcave/CbsDev/vendor/phpstan/phpstan/phpstan.phar/src/Type/Constant/ConstantArrayType.php(578):                                                            
 PHPStan\Type\Constant\ConstantArrayTypeBuilder->setOffsetValueType()                                                                                                                      
 #1 phar:///home/roman/Projects/Orcave/CbsDev/vendor/phpstan/phpstan/phpstan.phar/src/Rules/Arrays/OffsetAccessAssignmentRule.php(55):                                                     
 PHPStan\Type\Constant\ConstantArrayType->setOffsetValueType()                                                                                                                             
 #2 phar:///home/roman/Projects/Orcave/CbsDev/vendor/phpstan/phpstan/phpstan.phar/src/Rules/RuleLevelHelper.php(185):                                                                      
 PHPStan\Rules\Arrays\OffsetAccessAssignmentRule::{closure:PHPStan\Rules\Arrays\OffsetAccessAssignmentRule::processNode():54}()                                                            
 #3 phar:///home/roman/Projects/Orcave/CbsDev/vendor/phpstan/phpstan/phpstan.phar/src/Rules/RuleLevelHelper.php(138): PHPStan\Rules\RuleLevelHelper->findTypeToCheckImplementation()       
 #4 phar:///home/roman/Projects/Orcave/CbsDev/vendor/phpstan/phpstan/phpstan.phar/src/Rules/Arrays/OffsetAccessAssignmentRule.php(54): PHPStan\Rules\RuleLevelHelper->findTypeToCheck()    
 #5 phar:///home/roman/Projects/Orcave/CbsDev/vendor/phpstan/phpstan/phpstan.phar/src/Analyser/FileAnalyserCallback.php(129):                                                              
 PHPStan\Rules\Arrays\OffsetAccessAssignmentRule->processNode()                                                                                                                            
 #6 phar:///home/roman/Projects/Orcave/CbsDev/vendor/phpstan/phpstan/phpstan.phar/src/Analyser/NodeScopeResolver.php(580): PHPStan\Analyser\FileAnalyserCallback->__invoke()               
 #7 phar:///home/roman/Projects/Orcave/CbsDev/vendor/phpstan/phpstan/phpstan.phar/src/Analyser/NodeScopeResolver.php(769):                                                                 
 PHPStan\Analyser\NodeScopeResolver::{closure:PHPStan\Analyser\NodeScopeResolver::processStmtNode():579}()                                                                                 
 #8 phar:///home/roman/Projects/Orcave/CbsDev/vendor/phpstan/phpstan/phpstan.phar/src/Analyser/Fiber/FiberNodeScopeResolver.php(37):                                                       
 PHPStan\Analyser\NodeScopeResolver::{closure:PHPStan\Analyser\NodeScopeResolver::processStmtNode():765}()                                                                                 
 #9 [internal function]: PHPStan\Analyser\Fiber\FiberNodeScopeResolver::{closure:PHPStan\Analyser\Fiber\FiberNodeScopeResolver::callNodeCallback():34}()                                   
 #10 phar:///home/roman/Projects/Orcave/CbsDev/vendor/phpstan/phpstan/phpstan.phar/src/Analyser/Fiber/FiberNodeScopeResolver.php(60): Fiber->resume()                                      
 #11 phar:///home/roman/Projects/Orcave/CbsDev/vendor/phpstan/phpstan/phpstan.phar/src/Analyser/Fiber/FiberNodeScopeResolver.php(104):                                                     
 PHPStan\Analyser\Fiber\FiberNodeScopeResolver->runFiberForNodeCallback()                                                                                                                  
 #12 phar:///home/roman/Projects/Orcave/CbsDev/vendor/phpstan/phpstan/phpstan.phar/src/Analyser/Fiber/FiberNodeScopeResolver.php(48):                                                      
 PHPStan\Analyser\Fiber\FiberNodeScopeResolver->processPendingFibersForRequestedExpr()                                                                                                     
 #13 phar:///home/roman/Projects/Orcave/CbsDev/vendor/phpstan/phpstan/phpstan.phar/src/Analyser/NodeScopeResolver.php(1962):                                                               
 PHPStan\Analyser\Fiber\FiberNodeScopeResolver->storeBeforeScope()                                                                                                                         
 #14 phar:///home/roman/Projects/Orcave/CbsDev/vendor/phpstan/phpstan/phpstan.phar/src/Analyser/ExprHandler/AssignHandler.php(284): PHPStan\Analyser\NodeScopeResolver->processExprNode()  
 #15 phar:///home/roman/Projects/Orcave/CbsDev/vendor/phpstan/phpstan/phpstan.phar/src/Analyser/ExprHandler/AssignHandler.php(96):                                                         
 PHPStan\Analyser\ExprHandler\AssignHandler->processAssignVar()                                                                                                                            
 #16 phar:///home/roman/Projects/Orcave/CbsDev/vendor/phpstan/phpstan/phpstan.phar/src/Analyser/NodeScopeResolver.php(1983): PHPStan\Analyser\ExprHandler\AssignHandler->processExpr()     
 #17 phar:///home/roman/Projects/Orcave/CbsDev/vendor/phpstan/phpstan/phpstan.phar/src/Analyser/NodeScopeResolver.php(765): PHPStan\Analyser\NodeScopeResolver->processExprNode()          
 #18 phar:///home/roman/Projects/Orcave/CbsDev/vendor/phpstan/phpstan/phpstan.phar/src/Analyser/NodeScopeResolver.php(459): PHPStan\Analyser\NodeScopeResolver->processStmtNode()          
 #19 phar:///home/roman/Projects/Orcave/CbsDev/vendor/phpstan/phpstan/phpstan.phar/src/Analyser/NodeScopeResolver.php(437):                                                                
 PHPStan\Analyser\NodeScopeResolver->processStmtNodesInternalWithoutFlushingPendingFibers()                                                                                                
 #20 phar:///home/roman/Projects/Orcave/CbsDev/vendor/phpstan/phpstan/phpstan.phar/src/Analyser/NodeScopeResolver.php(1030):                                                               
 PHPStan\Analyser\NodeScopeResolver->processStmtNodesInternal()                                                                                                                            
 #21 phar:///home/roman/Projects/Orcave/CbsDev/vendor/phpstan/phpstan/phpstan.phar/src/Analyser/NodeScopeResolver.php(459): PHPStan\Analyser\NodeScopeResolver->processStmtNode()          
 #22 phar:///home/roman/Projects/Orcave/CbsDev/vendor/phpstan/phpstan/phpstan.phar/src/Analyser/NodeScopeResolver.php(437):                                                                
 PHPStan\Analyser\NodeScopeResolver->processStmtNodesInternalWithoutFlushingPendingFibers()                                                                                                
 #23 phar:///home/roman/Projects/Orcave/CbsDev/vendor/phpstan/phpstan/phpstan.phar/src/Analyser/NodeScopeResolver.php(1030):                                                               
 PHPStan\Analyser\NodeScopeResolver->processStmtNodesInternal()                                                                                                                            
 #24 phar:///home/roman/Projects/Orcave/CbsDev/vendor/phpstan/phpstan/phpstan.phar/src/Analyser/NodeScopeResolver.php(459): PHPStan\Analyser\NodeScopeResolver->processStmtNode()          
 #25 phar:///home/roman/Projects/Orcave/CbsDev/vendor/phpstan/phpstan/phpstan.phar/src/Analyser/NodeScopeResolver.php(437):                                                                
 PHPStan\Analyser\NodeScopeResolver->processStmtNodesInternalWithoutFlushingPendingFibers()                                                                                                
 #26 phar:///home/roman/Projects/Orcave/CbsDev/vendor/phpstan/phpstan/phpstan.phar/src/Analyser/NodeScopeResolver.php(579):                                                                
 PHPStan\Analyser\NodeScopeResolver->processStmtNodesInternal()                                                                                                                            
 #27 phar:///home/roman/Projects/Orcave/CbsDev/vendor/phpstan/phpstan/phpstan.phar/src/Analyser/NodeScopeResolver.php(381): PHPStan\Analyser\NodeScopeResolver->processStmtNode()          
 #28 phar:///home/roman/Projects/Orcave/CbsDev/vendor/phpstan/phpstan/phpstan.phar/src/Analyser/FileAnalyser.php(108): PHPStan\Analyser\NodeScopeResolver->processNodes()                  
 #29 phar:///home/roman/Projects/Orcave/CbsDev/vendor/phpstan/phpstan/phpstan.phar/src/Command/WorkerCommand.php(149): PHPStan\Analyser\FileAnalyser->analyseFile()                        
 #30 phar:///home/roman/Projects/Orcave/CbsDev/vendor/phpstan/phpstan/phpstan.phar/vendor/evenement/evenement/src/EventEmitterTrait.php(111):                                              
 PHPStan\Command\WorkerCommand::{closure:PHPStan\Command\WorkerCommand::runWorker():126}()                                                                                                 
 #31 phar:///home/roman/Projects/Orcave/CbsDev/vendor/phpstan/phpstan/phpstan.phar/vendor/clue/ndjson-react/src/Decoder.php(117): _PHPStan_69d015189\Evenement\EventEmitter->emit()        
 #32 phar:///home/roman/Projects/Orcave/CbsDev/vendor/phpstan/phpstan/phpstan.phar/vendor/evenement/evenement/src/EventEmitterTrait.php(111):                                              
 _PHPStan_69d015189\Clue\React\NDJson\Decoder->handleData()                                                                                                                                
 #33 phar:///home/roman/Projects/Orcave/CbsDev/vendor/phpstan/phpstan/phpstan.phar/vendor/react/stream/src/Util.php(62): _PHPStan_69d015189\Evenement\EventEmitter->emit()                 
 #34 phar:///home/roman/Projects/Orcave/CbsDev/vendor/phpstan/phpstan/phpstan.phar/vendor/evenement/evenement/src/EventEmitterTrait.php(111):                                              
 _PHPStan_69d015189\React\Stream\Util::{closure:_PHPStan_69d015189\React\Stream\Util::forwardEvents():61}()                                                                                
 #35 phar:///home/roman/Projects/Orcave/CbsDev/vendor/phpstan/phpstan/phpstan.phar/vendor/react/stream/src/DuplexResourceStream.php(168):                                                  
 _PHPStan_69d015189\Evenement\EventEmitter->emit()                                                                                                                                         
 #36 phar:///home/roman/Projects/Orcave/CbsDev/vendor/phpstan/phpstan/phpstan.phar/vendor/react/event-loop/src/StreamSelectLoop.php(201):                                                  
 _PHPStan_69d015189\React\Stream\DuplexResourceStream->handleData()                                                                                                                        
 #37 phar:///home/roman/Projects/Orcave/CbsDev/vendor/phpstan/phpstan/phpstan.phar/vendor/react/event-loop/src/StreamSelectLoop.php(173):                                                  
 _PHPStan_69d015189\React\EventLoop\StreamSelectLoop->waitForStreamActivity()                                                                                                              
 #38 phar:///home/roman/Projects/Orcave/CbsDev/vendor/phpstan/phpstan/phpstan.phar/src/Command/WorkerCommand.php(105): _PHPStan_69d015189\React\EventLoop\StreamSelectLoop->run()          
 #39 phar:///home/roman/Projects/Orcave/CbsDev/vendor/phpstan/phpstan/phpstan.phar/vendor/symfony/console/Command/Command.php(259): PHPStan\Command\WorkerCommand->execute()               
 #40 phar:///home/roman/Projects/Orcave/CbsDev/vendor/phpstan/phpstan/phpstan.phar/vendor/symfony/console/Application.php(868):                                                            
 _PHPStan_69d015189\Symfony\Component\Console\Command\Command->run()                                                                                                                       
 #41 phar:///home/roman/Projects/Orcave/CbsDev/vendor/phpstan/phpstan/phpstan.phar/vendor/symfony/console/Application.php(261):                                                            
 _PHPStan_69d015189\Symfony\Component\Console\Application->doRunCommand()                                                                                                                  
 #42 phar:///home/roman/Projects/Orcave/CbsDev/vendor/phpstan/phpstan/phpstan.phar/vendor/symfony/console/Application.php(157):                                                            
 _PHPStan_69d015189\Symfony\Component\Console\Application->doRun()                                                                                                                         
 #43 phar:///home/roman/Projects/Orcave/CbsDev/vendor/phpstan/phpstan/phpstan.phar/bin/phpstan(103): _PHPStan_69d015189\Symfony\Component\Console\Application->run()                       
 #44 phar:///home/roman/Projects/Orcave/CbsDev/vendor/phpstan/phpstan/phpstan.phar/bin/phpstan(104):                                                                                       
 {closure:phar:///home/roman/Projects/Orcave/CbsDev/vendor/phpstan/phpstan/phpstan.phar/bin/phpstan:15}()                                                                                  
 #45 /home/roman/Projects/Orcave/CbsDev/vendor/phpstan/phpstan/phpstan(8): require('...')                                                                                                  
 #46 /home/roman/Projects/Orcave/CbsDev/vendor/bin/phpstan(119): include('...')                                                                                                            
 #47 {main}                                                                                                                                                                                

Code snippet that reproduces the problem

https://phpstan.org/r/b48f9228-76e9-47e7-b410-02972d409a3a

It crashes with internal error on Level 5, interestingly not on Level 10.

Expected output

No PHPStan internal error, just my own codebase errors :-)

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