-
-
Notifications
You must be signed in to change notification settings - Fork 933
Closed
Labels
Description
Bug report
Using PHPStan 1.9.3 on a gitlab-ci worker. I can execute this fine locally, but on remote it fails with the following backtrace.
Code snippet that reproduces the problem
Internal error: Internal error: preg_match(): Argument #2 ($subject) must be of type string, array given in file /home/gitlab-runner/builds/[REDACTED]/MongoIndexHandler.php
Post the following stack trace to https://github.com/phpstan/phpstan/issues/new?template=Bug_report.md:
#0 phar:///home/gitlab-runner/builds/[REDACTED]/vendor/phpstan/phpstan/phpstan.phar/vendor/symfony/polyfill-mbstring/Mbstring.php(440): preg_match()
#1 phar:///home/gitlab-runner/builds/[REDACTED]/vendor/phpstan/phpstan/phpstan.phar/vendor/symfony/polyfill-mbstring/Mbstring.php(416): Symfony\\Polyfill\\Mbstring\\Mbstring::mb_detect_encoding()
#2 phar:///home/gitlab-runner/builds/[REDACTED]/vendor/phpstan/phpstan/phpstan.phar/vendor/symfony/polyfill-mbstring/bootstrap80.php(45): Symfony\\Polyfill\\Mbstring\\Mbstring::mb_check_encoding()
#3 phar:///home/gitlab-runner/builds/[REDACTED]/vendor/phpstan/phpstan/phpstan.phar/src/Type/Php/StrCaseFunctionsReturnTypeExtension.php(66): mb_check_encoding()
#4 phar:///home/gitlab-runner/builds/[REDACTED]/vendor/phpstan/phpstan/phpstan.phar/src/Analyser/MutatingScope.php(1506): PHPStan\\Type\\Php\\StrCaseFunctionsReturnTypeExtension->getTypeFromFunctionCall()
#5 phar:///home/gitlab-runner/builds/[REDACTED]/vendor/phpstan/phpstan/phpstan.phar/src/Analyser/MutatingScope.php(559): PHPStan\\Analyser\\MutatingScope->resolveType()
#6 phar:///home/gitlab-runner/builds/[REDACTED]/vendor/phpstan/phpstan/phpstan.phar/src/Analyser/NodeScopeResolver.php(2344): PHPStan\\Analyser\\MutatingScope->getType()
#7 phar:///home/gitlab-runner/builds/[REDACTED]/vendor/phpstan/phpstan/phpstan.phar/src/Analyser/NodeScopeResolver.php(1543): PHPStan\\Analyser\\NodeScopeResolver->getFunctionThrowPoint()
#8 phar:///home/gitlab-runner/builds/[REDACTED]/vendor/phpstan/phpstan/phpstan.phar/src/Analyser/NodeScopeResolver.php(1984): PHPStan\\Analyser\\NodeScopeResolver->processExprNode()
#9 phar:///home/gitlab-runner/builds/[REDACTED]/vendor/phpstan/phpstan/phpstan.phar/src/Analyser/NodeScopeResolver.php(1980): PHPStan\\Analyser\\NodeScopeResolver->processExprNode()
#10 phar:///home/gitlab-runner/builds/[REDACTED]/vendor/phpstan/phpstan/phpstan.phar/src/Analyser/NodeScopeResolver.php(1929): PHPStan\\Analyser\\NodeScopeResolver->processExprNode()
#11 phar:///home/gitlab-runner/builds/[REDACTED]/vendor/phpstan/phpstan/phpstan.phar/src/Analyser/NodeScopeResolver.php(1914): PHPStan\\Analyser\\NodeScopeResolver->processExprNode()
#12 phar:///home/gitlab-runner/builds/[REDACTED]/vendor/phpstan/phpstan/phpstan.phar/src/Analyser/NodeScopeResolver.php(2743): PHPStan\\Analyser\\NodeScopeResolver->processExprNode()
#13 phar:///home/gitlab-runner/builds/[REDACTED]/vendor/phpstan/phpstan/phpstan.phar/src/Analyser/NodeScopeResolver.php(1691): PHPStan\\Analyser\\NodeScopeResolver->processArgs()
#14 phar:///home/gitlab-runner/builds/[REDACTED]/vendor/phpstan/phpstan/phpstan.phar/src/Analyser/NodeScopeResolver.php(558): PHPStan\\Analyser\\NodeScopeResolver->processExprNode()
#15 phar:///home/gitlab-runner/builds/[REDACTED]/vendor/phpstan/phpstan/phpstan.phar/src/Analyser/NodeScopeResolver.php(360): PHPStan\\Analyser\\NodeScopeResolver->processStmtNode()
#16 phar:///home/gitlab-runner/builds/[REDACTED]/vendor/phpstan/phpstan/phpstan.phar/src/Analyser/NodeScopeResolver.php(723): PHPStan\\Analyser\\NodeScopeResolver->processStmtNodes()
#17 phar:///home/gitlab-runner/builds/[REDACTED]/vendor/phpstan/phpstan/phpstan.phar/src/Analyser/NodeScopeResolver.php(360): PHPStan\\Analyser\\NodeScopeResolver->processStmtNode()
#18 phar:///home/gitlab-runner/builds/[REDACTED]/vendor/phpstan/phpstan/phpstan.phar/src/Analyser/NodeScopeResolver.php(521): PHPStan\\Analyser\\NodeScopeResolver->processStmtNodes()
#19 phar:///home/gitlab-runner/builds/[REDACTED]/vendor/phpstan/phpstan/phpstan.phar/src/Analyser/NodeScopeResolver.php(360): PHPStan\\Analyser\\NodeScopeResolver->processStmtNode()
#20 phar:///home/gitlab-runner/builds/[REDACTED]/vendor/phpstan/phpstan/phpstan.phar/src/Analyser/NodeScopeResolver.php(599): PHPStan\\Analyser\\NodeScopeResolver->processStmtNodes()
#21 phar:///home/gitlab-runner/builds/[REDACTED]/vendor/phpstan/phpstan/phpstan.phar/src/Analyser/NodeScopeResolver.php(360): PHPStan\\Analyser\\NodeScopeResolver->processStmtNode()
#22 phar:///home/gitlab-runner/builds/[REDACTED]/vendor/phpstan/phpstan/phpstan.phar/src/Analyser/NodeScopeResolver.php(571): PHPStan\\Analyser\\NodeScopeResolver->processStmtNodes()
#23 phar:///home/gitlab-runner/builds/[REDACTED]/vendor/phpstan/phpstan/phpstan.phar/src/Analyser/NodeScopeResolver.php(327): PHPStan\\Analyser\\NodeScopeResolver->processStmtNode()
#24 phar:///home/gitlab-runner/builds/[REDACTED]/vendor/phpstan/phpstan/phpstan.phar/src/Analyser/FileAnalyser.php(175): PHPStan\\Analyser\\NodeScopeResolver->processNodes()
#25 phar:///home/gitlab-runner/builds/[REDACTED]/vendor/phpstan/phpstan/phpstan.phar/src/Command/WorkerCommand.php(147): PHPStan\\Analyser\\FileAnalyser->analyseFile()
#26 phar:///home/gitlab-runner/builds/[REDACTED]/vendor/phpstan/phpstan/phpstan.phar/vendor/evenement/evenement/src/Evenement/EventEmitterTrait.php(97): PHPStan\\Command\\WorkerCommand->PHPStan\\Command\\{closure}()
#27 phar:///home/gitlab-runner/builds/[REDACTED]/vendor/phpstan/phpstan/phpstan.phar/vendor/clue/ndjson-react/src/Decoder.php(110): _PHPStan_0f7d3d695\\Evenement\\EventEmitter->emit()
#28 phar:///home/gitlab-runner/builds/[REDACTED]/vendor/phpstan/phpstan/phpstan.phar/vendor/evenement/evenement/src/Evenement/EventEmitterTrait.php(97): _PHPStan_0f7d3d695\\Clue\\React\\NDJson\\Decoder->handleData()
#29 phar:///home/gitlab-runner/builds/[REDACTED]/vendor/phpstan/phpstan/phpstan.phar/vendor/react/stream/src/Util.php(62): _PHPStan_0f7d3d695\\Evenement\\EventEmitter->emit()
#30 phar:///home/gitlab-runner/builds/[REDACTED]/vendor/phpstan/phpstan/phpstan.phar/vendor/evenement/evenement/src/Evenement/EventEmitterTrait.php(97): _PHPStan_0f7d3d695\\React\\Stream\\Util::_PHPStan_0f7d3d695\\React\\Stream\\{closure}()
#31 phar:///home/gitlab-runner/builds/[REDACTED]/vendor/phpstan/phpstan/phpstan.phar/vendor/react/stream/src/DuplexResourceStream.php(154): _PHPStan_0f7d3d695\\Evenement\\EventEmitter->emit()
#32 phar:///home/gitlab-runner/builds/[REDACTED]/vendor/phpstan/phpstan/phpstan.phar/vendor/react/event-loop/src/StreamSelectLoop.php(201): _PHPStan_0f7d3d695\\React\\Stream\\DuplexResourceStream->handleData()
#33 phar:///home/gitlab-runner/builds/[REDACTED]/vendor/phpstan/phpstan/phpstan.phar/vendor/react/event-loop/src/StreamSelectLoop.php(173): _PHPStan_0f7d3d695\\React\\EventLoop\\StreamSelectLoop->waitForStreamActivity()
#34 phar:///home/gitlab-runner/builds/[REDACTED]/vendor/phpstan/phpstan/phpstan.phar/src/Command/WorkerCommand.php(107): _PHPStan_0f7d3d695\\React\\EventLoop\\StreamSelectLoop->run()
#35 phar:///home/gitlab-runner/builds/[REDACTED]/vendor/phpstan/phpstan/phpstan.phar/vendor/symfony/console/Command/Command.php(259): PHPStan\\Command\\WorkerCommand->execute()
#36 phar:///home/gitlab-runner/builds/[REDACTED]/vendor/phpstan/phpstan/phpstan.phar/vendor/symfony/console/Application.php(868): _PHPStan_0f7d3d695\\Symfony\\Component\\Console\\Command\\Command->run()
#37 phar:///home/gitlab-runner/builds/[REDACTED]/vendor/phpstan/phpstan/phpstan.phar/vendor/symfony/console/Application.php(259): _PHPStan_0f7d3d695\\Symfony\\Component\\Console\\Application->doRunCommand()
#38 phar:///home/gitlab-runner/builds/[REDACTED]/vendor/phpstan/phpstan/phpstan.phar/vendor/symfony/console/Application.php(157): _PHPStan_0f7d3d695\\Symfony\\Component\\Console\\Application->doRun()
#39 phar:///home/gitlab-runner/builds/[REDACTED]/vendor/phpstan/phpstan/phpstan.phar/bin/phpstan(124): _PHPStan_0f7d3d695\\Symfony\\Component\\Console\\Application->run()
#40 phar:///home/gitlab-runner/builds/[REDACTED]/vendor/phpstan/phpstan/phpstan.phar/bin/phpstan(125): _PHPStan_0f7d3d695\\{closure}()
#41 /home/gitlab-runner/builds/[REDACTED]/vendor/phpstan/phpstan/phpstan(8): require('...')
#42 /home/gitlab-runner/builds/[REDACTED]/vendor/bin/phpstan(117): include('...')
#43 {main}",
Expected output
This might be due to typecasting some mongodb output as a string, but I can't confirm.
Did PHPStan help you today? Did it make you happy in any way?
PHPStan is AWESOME! :D
Edit: Shortened up the file paths