Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Internal error: Internal error. while analysing file #14548

@belisoful

Description

@belisoful

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

 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}

[ERROR] Found 1 error

⚠️ Result is incomplete because of severe errors. ⚠️
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!

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions