psalm-plugin-symfony icon indicating copy to clipboard operation
psalm-plugin-symfony copied to clipboard

AnalyzedTemplatesTainter::generateTemplateParameters undefinied property

Open timglabisch opened this issue 4 years ago • 0 comments

i am not 100% sure what kind of code is responsible for this exception but wenn running taint analysis on a codebase i work with i get this:

Uncaught Exception: RuntimeException PHP Error: Undefined property: Psalm\Type\Atomic\TArray::$properties in XXXX/vendor/psalm/plugin-symfony/src/Twig/AnalyzedTemplatesTainter.php:112
Emitted in XXXX/vendor/vimeo/psalm/src/Psalm/Internal/ErrorHandler.php:66
Stack trace in the forked worker:
#0 XXXX/vendor/psalm/plugin-symfony/src/Twig/AnalyzedTemplatesTainter.php(112): Psalm\Internal\ErrorHandler::Psalm\Internal\{closure}()
#1 XXXX/vendor/psalm/plugin-symfony/src/Twig/AnalyzedTemplatesTainter.php(67): Psalm\SymfonyPsalmPlugin\Twig\AnalyzedTemplatesTainter::generateTemplateParameters()
#2 XXXX/vendor/vimeo/psalm/src/Psalm/Internal/EventDispatcher.php(269): Psalm\SymfonyPsalmPlugin\Twig\AnalyzedTemplatesTainter::afterMethodCallAnalysis()
#3 XXXX/vendor/vimeo/psalm/src/Psalm/Internal/Analyzer/Statements/Expression/Call/Method/ExistingAtomicMethodCallAnalyzer.php(440): Psalm\Internal\EventDispatcher->dispatchAfterMethodCallAnalysis()
#4 XXXX/vendor/vimeo/psalm/src/Psalm/Internal/Analyzer/Statements/Expression/Call/Method/AtomicMethodCallAnalyzer.php(409): Psalm\Internal\Analyzer\Statements\Expression\Call\Method\ExistingAtomicMethodCallAnalyzer::analyze()
#5 XXXX/vendor/vimeo/psalm/src/Psalm/Internal/Analyzer/Statements/Expression/Call/MethodCallAnalyzer.php(184): Psalm\Internal\Analyzer\Statements\Expression\Call\Method\AtomicMethodCallAnalyzer::analyze()
#6 XXXX/vendor/vimeo/psalm/src/Psalm/Internal/Analyzer/Statements/ExpressionAnalyzer.php(154): Psalm\Internal\Analyzer\Statements\Expression\Call\MethodCallAnalyzer::analyze()
#7 XXXX/vendor/vimeo/psalm/src/Psalm/Internal/Analyzer/Statements/ExpressionAnalyzer.php(46): Psalm\Internal\Analyzer\Statements\ExpressionAnalyzer::handleExpression()
#8 XXXX/vendor/vimeo/psalm/src/Psalm/Internal/Analyzer/Statements/Expression/ArrayAnalyzer.php(339): Psalm\Internal\Analyzer\Statements\ExpressionAnalyzer::analyze()
#9 XXXX/vendor/vimeo/psalm/src/Psalm/Internal/Analyzer/Statements/Expression/ArrayAnalyzer.php(59): Psalm\Internal\Analyzer\Statements\Expression\ArrayAnalyzer::analyzeArrayItem()
#10 XXXX/vendor/vimeo/psalm/src/Psalm/Internal/Analyzer/Statements/ExpressionAnalyzer.php(255): Psalm\Internal\Analyzer\Statements\Expression\ArrayAnalyzer::analyze()
#11 XXXX/vendor/vimeo/psalm/src/Psalm/Internal/Analyzer/Statements/ExpressionAnalyzer.php(46): Psalm\Internal\Analyzer\Statements\ExpressionAnalyzer::handleExpression()
#12 XXXX/vendor/vimeo/psalm/src/Psalm/Internal/Analyzer/Statements/Expression/Call/ArgumentsAnalyzer.php(200): Psalm\Internal\Analyzer\Statements\ExpressionAnalyzer::analyze()
#13 XXXX/vendor/vimeo/psalm/src/Psalm/Internal/Analyzer/Statements/Expression/CallAnalyzer.php(319): Psalm\Internal\Analyzer\Statements\Expression\Call\ArgumentsAnalyzer::analyze()
#14 XXXX/vendor/vimeo/psalm/src/Psalm/Internal/Analyzer/Statements/Expression/Call/StaticMethod/ExistingAtomicStaticCallAnalyzer.php(176): Psalm\Internal\Analyzer\Statements\Expression\CallAnalyzer::checkMethodArgs()
#15 XXXX/vendor/vimeo/psalm/src/Psalm/Internal/Analyzer/Statements/Expression/Call/StaticMethod/AtomicStaticCallAnalyzer.php(772): Psalm\Internal\Analyzer\Statements\Expression\Call\StaticMethod\ExistingAtomicStaticCallAnalyzer::analyze()
#16 XXXX/vendor/vimeo/psalm/src/Psalm/Internal/Analyzer/Statements/Expression/Call/StaticMethod/AtomicStaticCallAnalyzer.php(180): Psalm\Internal\Analyzer\Statements\Expression\Call\StaticMethod\AtomicStaticCallAnalyzer::handleNamedCall()
#17 XXXX/vendor/vimeo/psalm/src/Psalm/Internal/Analyzer/Statements/Expression/Call/StaticCallAnalyzer.php(207): Psalm\Internal\Analyzer\Statements\Expression\Call\StaticMethod\AtomicStaticCallAnalyzer::analyze()
#18 XXXX/vendor/vimeo/psalm/src/Psalm/Internal/Analyzer/Statements/ExpressionAnalyzer.php(158): Psalm\Internal\Analyzer\Statements\Expression\Call\StaticCallAnalyzer::analyze()
#19 XXXX/vendor/vimeo/psalm/src/Psalm/Internal/Analyzer/Statements/ExpressionAnalyzer.php(46): Psalm\Internal\Analyzer\Statements\ExpressionAnalyzer::handleExpression()
#20 XXXX/vendor/vimeo/psalm/src/Psalm/Internal/Analyzer/Statements/ReturnAnalyzer.php(144): Psalm\Internal\Analyzer\Statements\ExpressionAnalyzer::analyze()
#21 XXXX/vendor/vimeo/psalm/src/Psalm/Internal/Analyzer/StatementsAnalyzer.php(524): Psalm\Internal\Analyzer\Statements\ReturnAnalyzer::analyze()
#22 XXXX/vendor/vimeo/psalm/src/Psalm/Internal/Analyzer/StatementsAnalyzer.php(186): Psalm\Internal\Analyzer\StatementsAnalyzer::analyzeStatement()
#23 XXXX/vendor/vimeo/psalm/src/Psalm/Internal/Analyzer/FunctionLikeAnalyzer.php(435): Psalm\Internal\Analyzer\StatementsAnalyzer->analyze()
#24 XXXX/vendor/vimeo/psalm/src/Psalm/Internal/Analyzer/ClassAnalyzer.php(1786): Psalm\Internal\Analyzer\FunctionLikeAnalyzer->analyze()
#25 XXXX/vendor/vimeo/psalm/src/Psalm/Internal/Analyzer/ClassAnalyzer.php(409): Psalm\Internal\Analyzer\ClassAnalyzer->analyzeClassMethod()
#26 XXXX/vendor/vimeo/psalm/src/Psalm/Internal/Analyzer/FileAnalyzer.php(214): Psalm\Internal\Analyzer\ClassAnalyzer->analyze()
#27 XXXX/vendor/vimeo/psalm/src/Psalm/Internal/Codebase/Analyzer.php(348): Psalm\Internal\Analyzer\FileAnalyzer->analyze()
#28 XXXX/vendor/vimeo/psalm/src/Psalm/Internal/Fork/Pool.php(194): Psalm\Internal\Codebase\Analyzer->Psalm\Internal\Codebase\{closure}()
#29 XXXX/vendor/vimeo/psalm/src/Psalm/Internal/Codebase/Analyzer.php(414): Psalm\Internal\Fork\Pool->__construct()
#30 XXXX/vendor/vimeo/psalm/src/Psalm/Internal/Codebase/Analyzer.php(277): Psalm\Internal\Codebase\Analyzer->doAnalysis()
#31 XXXX/vendor/vimeo/psalm/src/Psalm/Internal/Analyzer/ProjectAnalyzer.php(640): Psalm\Internal\Codebase\Analyzer->analyzeFiles()
#32 XXXX/vendor/vimeo/psalm/src/Psalm/Internal/Cli/Psalm.php(360): Psalm\Internal\Analyzer\ProjectAnalyzer->check()
#33 XXXX/vendor/vimeo/psalm/psalm(4): Psalm\Internal\Cli\Psalm::run()
#34 {main} in XXXX/vendor/vimeo/psalm/src/Psalm/Internal/Fork/Pool.php:369
Stack trace:
#0 XXXX/vendor/vimeo/psalm/src/Psalm/Internal/Fork/Pool.php(403): Psalm\Internal\Fork\Pool->readResultsFromChildren()
#1 XXXX/vendor/vimeo/psalm/src/Psalm/Internal/Codebase/Analyzer.php(488): Psalm\Internal\Fork\Pool->wait()
#2 XXXX/vendor/vimeo/psalm/src/Psalm/Internal/Codebase/Analyzer.php(277): Psalm\Internal\Codebase\Analyzer->doAnalysis()
#3 XXXX/vendor/vimeo/psalm/src/Psalm/Internal/Analyzer/ProjectAnalyzer.php(640): Psalm\Internal\Codebase\Analyzer->analyzeFiles()
#4 XXXX/vendor/vimeo/psalm/src/Psalm/Internal/Cli/Psalm.php(360): Psalm\Internal\Analyzer\ProjectAnalyzer->check()
#5 XXXX/vendor/vimeo/psalm/psalm(4): Psalm\Internal\Cli\Psalm::run()

timglabisch avatar Nov 19 '21 13:11 timglabisch