There was no change other than upgrading PHPStan. This was working a few days ago when I tested it last time.
Internal error: Internal error. while analysing file /Users/user/Code/prado.html-5-semantic/framework/Util/Helpers/TProcessHelper.php
Post the following stack trace to https://github.com/phpstan/phpstan/issues/new?template=Bug_report.yaml:
## phar:///Users/user/Code/prado.html-5-semantic/vendor/phpstan/phpstan/phpstan.phar/src/Type/Constant/ConstantArrayTypeBuilder.php(157)
#0 phar:///Users/user/Code/prado.html-5-semantic/vendor/phpstan/phpstan/phpstan.phar/src/Type/Constant/ConstantArrayType.php(608):
PHPStan\Type\Constant\ConstantArrayTypeBuilder->setOffsetValueType(Object(PHPStan\Type\Constant\ConstantIntegerType),
Object(PHPStan\Type\Constant\ConstantStringType))
#1 phar:///Users/user/Code/prado.html-5-semantic/vendor/phpstan/phpstan/phpstan.phar/src/Type/TypeCombinator.php(1249):
PHPStan\Type\Constant\ConstantArrayType->setOffsetValueType(Object(PHPStan\Type\Constant\ConstantIntegerType),
Object(PHPStan\Type\Constant\ConstantStringType))
#2 phar:///Users/user/Code/prado.html-5-semantic/vendor/phpstan/phpstan/phpstan.phar/src/Analyser/MutatingScope.php(1746):
PHPStan\Type\TypeCombinator::intersect(Object(PHPStan\Type\Constant\ConstantArrayType),
Object(PHPStan\Type\Accessory\HasOffsetValueType))
#3 phar:///Users/user/Code/prado.html-5-semantic/vendor/phpstan/phpstan/phpstan.phar/src/Analyser/MutatingScope.php(1777):
PHPStan\Analyser\MutatingScope->specifyExpressionType(Object(PhpParser\Node\Expr\ArrayDimFetch),
Object(PHPStan\Type\Constant\ConstantStringType), Object(PHPStan\Type\Constant\ConstantStringType), Object(PHPStan\TrinaryLogic))
#4 phar:///Users/user/Code/prado.html-5-semantic/vendor/phpstan/phpstan/phpstan.phar/src/Analyser/NodeScopeResolver.php(3008):
PHPStan\Analyser\MutatingScope->assignExpression(Object(PhpParser\Node\Expr\ArrayDimFetch),
Object(PHPStan\Type\Constant\ConstantStringType), Object(PHPStan\Type\Constant\ConstantStringType))
#5 phar:///Users/user/Code/prado.html-5-semantic/vendor/phpstan/phpstan/phpstan.phar/src/Analyser/NodeScopeResolver.php(1027):
PHPStan\Analyser\NodeScopeResolver->tryProcessUnrolledConstantArrayForeach(Object(PhpParser\Node\Stmt\Foreach_),
Object(PHPStan\Analyser\MutatingScope), Object(PHPStan\Analyser\ExpressionResultStorage), Object(PHPStan\Analyser\StatementContext))
#6 phar:///Users/user/Code/prado.html-5-semantic/vendor/phpstan/phpstan/phpstan.phar/src/Analyser/NodeScopeResolver.php(470):
PHPStan\Analyser\NodeScopeResolver->processStmtNode(Object(PhpParser\Node\Stmt\Foreach_), Object(PHPStan\Analyser\MutatingScope),
Object(PHPStan\Analyser\ExpressionResultStorage), Object(Closure), Object(PHPStan\Analyser\StatementContext))
#7 phar:///Users/user/Code/prado.html-5-semantic/vendor/phpstan/phpstan/phpstan.phar/src/Analyser/NodeScopeResolver.php(448):
PHPStan\Analyser\NodeScopeResolver->processStmtNodesInternalWithoutFlushingPendingFibers(Object(PhpParser\Node\Stmt\If_), Array,
Object(PHPStan\Analyser\MutatingScope), Object(PHPStan\Analyser\ExpressionResultStorage), Object(Closure),
Object(PHPStan\Analyser\StatementContext))
#8 phar:///Users/user/Code/prado.html-5-semantic/vendor/phpstan/phpstan/phpstan.phar/src/Analyser/NodeScopeResolver.php(910):
PHPStan\Analyser\NodeScopeResolver->processStmtNodesInternal(Object(PhpParser\Node\Stmt\If_), Array,
Object(PHPStan\Analyser\MutatingScope), Object(PHPStan\Analyser\ExpressionResultStorage), Object(Closure),
Object(PHPStan\Analyser\StatementContext))
#9 phar:///Users/user/Code/prado.html-5-semantic/vendor/phpstan/phpstan/phpstan.phar/src/Analyser/NodeScopeResolver.php(470):
PHPStan\Analyser\NodeScopeResolver->processStmtNode(Object(PhpParser\Node\Stmt\If_), Object(PHPStan\Analyser\MutatingScope),
Object(PHPStan\Analyser\ExpressionResultStorage), Object(Closure), Object(PHPStan\Analyser\StatementContext))
#10 phar:///Users/user/Code/prado.html-5-semantic/vendor/phpstan/phpstan/phpstan.phar/src/Analyser/NodeScopeResolver.php(448):
PHPStan\Analyser\NodeScopeResolver->processStmtNodesInternalWithoutFlushingPendingFibers(Object(PhpParser\Node\Stmt\ClassMethod),
Array, Object(PHPStan\Analyser\MutatingScope), Object(PHPStan\Analyser\ExpressionResultStorage), Object(Closure),
Object(PHPStan\Analyser\StatementContext))
#11 phar:///Users/user/Code/prado.html-5-semantic/vendor/phpstan/phpstan/phpstan.phar/src/Analyser/NodeScopeResolver.php(695):
PHPStan\Analyser\NodeScopeResolver->processStmtNodesInternal(Object(PhpParser\Node\Stmt\ClassMethod), Array,
Object(PHPStan\Analyser\MutatingScope), Object(PHPStan\Analyser\ExpressionResultStorage), Object(Closure),
Object(PHPStan\Analyser\StatementContext))
#12 phar:///Users/user/Code/prado.html-5-semantic/vendor/phpstan/phpstan/phpstan.phar/src/Analyser/NodeScopeResolver.php(470):
PHPStan\Analyser\NodeScopeResolver->processStmtNode(Object(PhpParser\Node\Stmt\ClassMethod), Object(PHPStan\Analyser\MutatingScope),
Object(PHPStan\Analyser\ExpressionResultStorage), Object(PHPStan\Node\ClassStatementsGatherer),
Object(PHPStan\Analyser\StatementContext))
#13 phar:///Users/user/Code/prado.html-5-semantic/vendor/phpstan/phpstan/phpstan.phar/src/Analyser/NodeScopeResolver.php(448):
PHPStan\Analyser\NodeScopeResolver->processStmtNodesInternalWithoutFlushingPendingFibers(Object(PhpParser\Node\Stmt\Class_), Array,
Object(PHPStan\Analyser\MutatingScope), Object(PHPStan\Analyser\ExpressionResultStorage), Object(PHPStan\Node\ClassStatementsGatherer),
Object(PHPStan\Analyser\StatementContext))
#14 phar:///Users/user/Code/prado.html-5-semantic/vendor/phpstan/phpstan/phpstan.phar/src/Analyser/NodeScopeResolver.php(854):
PHPStan\Analyser\NodeScopeResolver->processStmtNodesInternal(Object(PhpParser\Node\Stmt\Class_), Array,
Object(PHPStan\Analyser\MutatingScope), Object(PHPStan\Analyser\ExpressionResultStorage), Object(PHPStan\Node\ClassStatementsGatherer),
Object(PHPStan\Analyser\StatementContext))
#15 phar:///Users/user/Code/prado.html-5-semantic/vendor/phpstan/phpstan/phpstan.phar/src/Analyser/NodeScopeResolver.php(470):
PHPStan\Analyser\NodeScopeResolver->processStmtNode(Object(PhpParser\Node\Stmt\Class_), Object(PHPStan\Analyser\MutatingScope),
Object(PHPStan\Analyser\ExpressionResultStorage), Object(PHPStan\Analyser\FileAnalyserCallback),
Object(PHPStan\Analyser\StatementContext))
#16 phar:///Users/user/Code/prado.html-5-semantic/vendor/phpstan/phpstan/phpstan.phar/src/Analyser/NodeScopeResolver.php(448):
PHPStan\Analyser\NodeScopeResolver->processStmtNodesInternalWithoutFlushingPendingFibers(Object(PhpParser\Node\Stmt\Namespace_), Array,
Object(PHPStan\Analyser\MutatingScope), Object(PHPStan\Analyser\ExpressionResultStorage), Object(PHPStan\Analyser\FileAnalyserCallback),
Object(PHPStan\Analyser\StatementContext))
#17 phar:///Users/user/Code/prado.html-5-semantic/vendor/phpstan/phpstan/phpstan.phar/src/Analyser/NodeScopeResolver.php(807):
PHPStan\Analyser\NodeScopeResolver->processStmtNodesInternal(Object(PhpParser\Node\Stmt\Namespace_), Array,
Object(PHPStan\Analyser\MutatingScope), Object(PHPStan\Analyser\ExpressionResultStorage), Object(PHPStan\Analyser\FileAnalyserCallback),
Object(PHPStan\Analyser\StatementContext))
#18 phar:///Users/user/Code/prado.html-5-semantic/vendor/phpstan/phpstan/phpstan.phar/src/Analyser/NodeScopeResolver.php(392):
PHPStan\Analyser\NodeScopeResolver->processStmtNode(Object(PhpParser\Node\Stmt\Namespace_), Object(PHPStan\Analyser\MutatingScope),
Object(PHPStan\Analyser\ExpressionResultStorage), Object(PHPStan\Analyser\FileAnalyserCallback),
Object(PHPStan\Analyser\StatementContext))
#19 phar:///Users/user/Code/prado.html-5-semantic/vendor/phpstan/phpstan/phpstan.phar/src/Analyser/FileAnalyser.php(108):
PHPStan\Analyser\NodeScopeResolver->processNodes(Array, Object(PHPStan\Analyser\MutatingScope),
Object(PHPStan\Analyser\FileAnalyserCallback))
#20 phar:///Users/user/Code/prado.html-5-semantic/vendor/phpstan/phpstan/phpstan.phar/src/Command/WorkerCommand.php(150):
PHPStan\Analyser\FileAnalyser->analyseFile('/Users/user/Cod...', Array, Object(PHPStan\Rules\LazyRegistry),
Object(PHPStan\Collectors\Registry), NULL)
#21
phar:///Users/user/Code/prado.html-5-semantic/vendor/phpstan/phpstan/phpstan.phar/vendor/evenement/evenement/src/EventEmitterTrait.php(1
11): PHPStan\Command\WorkerCommand::PHPStan\Command\{closure}(Array)
#22 phar:///Users/user/Code/prado.html-5-semantic/vendor/phpstan/phpstan/phpstan.phar/vendor/clue/ndjson-react/src/Decoder.php(117):
_PHPStan_37ef388af\Evenement\EventEmitter->emit('data', Array)
#23
phar:///Users/user/Code/prado.html-5-semantic/vendor/phpstan/phpstan/phpstan.phar/vendor/evenement/evenement/src/EventEmitterTrait.php(1
11): _PHPStan_37ef388af\Clue\React\NDJson\Decoder->handleData(Array)
#24 phar:///Users/user/Code/prado.html-5-semantic/vendor/phpstan/phpstan/phpstan.phar/vendor/react/stream/src/Util.php(62):
_PHPStan_37ef388af\Evenement\EventEmitter->emit('data', Array)
#25
phar:///Users/user/Code/prado.html-5-semantic/vendor/phpstan/phpstan/phpstan.phar/vendor/evenement/evenement/src/EventEmitterTrait.php(1
11): _PHPStan_37ef388af\React\Stream\Util::_PHPStan_37ef388af\React\Stream\{closure}('{"action":"anal...')
#26
phar:///Users/user/Code/prado.html-5-semantic/vendor/phpstan/phpstan/phpstan.phar/vendor/react/stream/src/DuplexResourceStream.php(168):
_PHPStan_37ef388af\Evenement\EventEmitter->emit('data', Array)
#27
phar:///Users/user/Code/prado.html-5-semantic/vendor/phpstan/phpstan/phpstan.phar/vendor/react/event-loop/src/StreamSelectLoop.php(201):
_PHPStan_37ef388af\React\Stream\DuplexResourceStream->handleData(Resource id #7127)
#28
phar:///Users/user/Code/prado.html-5-semantic/vendor/phpstan/phpstan/phpstan.phar/vendor/react/event-loop/src/StreamSelectLoop.php(173):
_PHPStan_37ef388af\React\EventLoop\StreamSelectLoop->waitForStreamActivity(NULL)
#29 phar:///Users/user/Code/prado.html-5-semantic/vendor/phpstan/phpstan/phpstan.phar/src/Command/WorkerCommand.php(105):
_PHPStan_37ef388af\React\EventLoop\StreamSelectLoop->run()
#30 phar:///Users/user/Code/prado.html-5-semantic/vendor/phpstan/phpstan/phpstan.phar/vendor/symfony/console/Command/Command.php(259):
PHPStan\Command\WorkerCommand->execute(Object(_PHPStan_37ef388af\Symfony\Component\Console\Input\ArgvInput),
Object(_PHPStan_37ef388af\Symfony\Component\Console\Output\ConsoleOutput))
#31 phar:///Users/user/Code/prado.html-5-semantic/vendor/phpstan/phpstan/phpstan.phar/vendor/symfony/console/Application.php(868):
_PHPStan_37ef388af\Symfony\Component\Console\Command\Command->run(Object(_PHPStan_37ef388af\Symfony\Component\Console\Input\ArgvInput),
Object(_PHPStan_37ef388af\Symfony\Component\Console\Output\ConsoleOutput))
#32 phar:///Users/user/Code/prado.html-5-semantic/vendor/phpstan/phpstan/phpstan.phar/vendor/symfony/console/Application.php(261):
_PHPStan_37ef388af\Symfony\Component\Console\Application->doRunCommand(Object(PHPStan\Command\WorkerCommand),
Object(_PHPStan_37ef388af\Symfony\Component\Console\Input\ArgvInput),
Object(_PHPStan_37ef388af\Symfony\Component\Console\Output\ConsoleOutput))
#33 phar:///Users/user/Code/prado.html-5-semantic/vendor/phpstan/phpstan/phpstan.phar/vendor/symfony/console/Application.php(157):
_PHPStan_37ef388af\Symfony\Component\Console\Application->doRun(Object(_PHPStan_37ef388af\Symfony\Component\Console\Input\ArgvInput),
Object(_PHPStan_37ef388af\Symfony\Component\Console\Output\ConsoleOutput))
#34 phar:///Users/user/Code/prado.html-5-semantic/vendor/phpstan/phpstan/phpstan.phar/bin/phpstan(106):
_PHPStan_37ef388af\Symfony\Component\Console\Application->run()
#35 phar:///Users/user/Code/prado.html-5-semantic/vendor/phpstan/phpstan/phpstan.phar/bin/phpstan(107): _PHPStan_37ef388af\{closure}()
#36 /Users/user/Code/prado.html-5-semantic/vendor/phpstan/phpstan/phpstan(8): require('phar:///Users/u...')
#37 /Users/user/Code/prado.html-5-semantic/vendor/bin/phpstan(119): include('/Users/user/Cod...')
#38 {main}
Bug report
PHPStan Serious Internal Error
This was working a few versions ago. It'll break our project https://github.com/pradosoft/prado.
Here is the code it was validating: https://github.com/pradosoft/prado/blob/master/framework/Util/Helpers/TProcessHelper.php.
There was no change other than upgrading PHPStan. This was working a few days ago when I tested it last time.
phpstan output
[ERROR] Found 1 error
Fix these errors first and then re-run PHPStan
to get all reported errors.
Elapsed time: 8.48 seconds
Used memory: 1.78 GB
user@MacBook-Pro prado.html-5-semantic %
Code snippet that reproduces the problem
No response
Expected output
no errors
Did PHPStan help you today? Did it make you happy in any way?
yes, awesome!