Skip to content

Psalm fatal error #314

@lchrusciel

Description

@lchrusciel

Since: v.2.4.3

At @Sylius, we are using psalm pretty extensively. Recently, we have experienced some strange errors connected to your library. Psalm is reporting that you have some Unterminated bracket (ref. https://travis-ci.org/github/Sylius/SyliusResourceBundle/jobs/681382237).

I don't have time to dig into it right now, so I cannot determine where the problem lays. However, I'm sure that limiting your library below 2.4.3 solves the issue for us. We do not have a direct dependency on you, so I've decided to temporary conflict with the newest releases, which fixed our builds: Sylius/SyliusResourceBundle#163 and Sylius/SyliusResourceBundle#161

If you would be interested, here are some logs:

Registering autoloaded files
Parsing /Users/chrustu/Sites/Sylius/SyliusResourceBundle/vendor/amphp/amp/lib/functions.php
Deep scanning /Users/chrustu/Sites/Sylius/SyliusResourceBundle/vendor/amphp/amp/lib/functions.php
Uncaught Psalm\Exception\TypeParseTreeException: Unterminated bracket in /Users/chrustu/Sites/Sylius/SyliusResourceBundle/vendor/vimeo/psalm/src/Psalm/Internal/Type/ParseTree.php:604
Stack trace:
#0 /Users/chrustu/Sites/Sylius/SyliusResourceBundle/vendor/vimeo/psalm/src/Psalm/Type.php(175): Psalm\Internal\Type\ParseTree::createFromTokens(Array)
#1 /Users/chrustu/Sites/Sylius/SyliusResourceBundle/vendor/vimeo/psalm/src/Psalm/Internal/Visitor/ReflectorVisitor.php(2680): Psalm\Type::parseTokens(Array)
#2 /Users/chrustu/Sites/Sylius/SyliusResourceBundle/vendor/vimeo/psalm/src/Psalm/Internal/Visitor/ReflectorVisitor.php(2213): Psalm\Internal\Visitor\ReflectorVisitor->getAssertionParts('array<array-key...', Object(PhpParser\Node\Stmt\Function_))
#3 /Users/chrustu/Sites/Sylius/SyliusResourceBundle/vendor/vimeo/psalm/src/Psalm/Internal/Visitor/ReflectorVisitor.php(323): Psalm\Internal\Visitor\ReflectorVisitor->registerFunctionLike(Object(PhpParser\Node\Stmt\Function_))
#4 /Users/chrustu/Sites/Sylius/SyliusResourceBundle/vendor/nikic/php-parser/lib/PhpParser/NodeTraverser.php(200): Psalm\Internal\Visitor\ReflectorVisitor->enterNode(Object(PhpParser\Node\Stmt\Function_))
#5 /Users/chrustu/Sites/Sylius/SyliusResourceBundle/vendor/nikic/php-parser/lib/PhpParser/NodeTraverser.php(114): PhpParser\NodeTraverser->traverseArray(Array)
#6 /Users/chrustu/Sites/Sylius/SyliusResourceBundle/vendor/nikic/php-parser/lib/PhpParser/NodeTraverser.php(223): PhpParser\NodeTraverser->traverseNode(Object(PhpParser\Node\Stmt\Namespace_))
#7 /Users/chrustu/Sites/Sylius/SyliusResourceBundle/vendor/nikic/php-parser/lib/PhpParser/NodeTraverser.php(91): PhpParser\NodeTraverser->traverseArray(Array)
#8 /Users/chrustu/Sites/Sylius/SyliusResourceBundle/vendor/vimeo/psalm/src/Psalm/Internal/Scanner/FileScanner.php(96): PhpParser\NodeTraverser->traverse(Array)
#9 /Users/chrustu/Sites/Sylius/SyliusResourceBundle/vendor/vimeo/psalm/src/Psalm/Internal/Codebase/Scanner.php(606): Psalm\Internal\Scanner\FileScanner->scan(Object(Psalm\Codebase), Object(Psalm\Storage\FileStorage), false, Object(Psalm\Progress\DebugProgress))
#10 /Users/chrustu/Sites/Sylius/SyliusResourceBundle/vendor/vimeo/psalm/src/Psalm/Internal/Codebase/Scanner.php(389): Psalm\Internal\Codebase\Scanner->scanFile('/Users/chrustu/...', Array, true)
#11 /Users/chrustu/Sites/Sylius/SyliusResourceBundle/vendor/vimeo/psalm/src/Psalm/Internal/Codebase/Scanner.php(497): Psalm\Internal\Codebase\Scanner->Psalm\Internal\Codebase\{closure}(0, '/Users/chrustu/...')
#12 /Users/chrustu/Sites/Sylius/SyliusResourceBundle/vendor/vimeo/psalm/src/Psalm/Internal/Codebase/Scanner.php(347): Psalm\Internal\Codebase\Scanner->scanFilePaths(1)
#13 /Users/chrustu/Sites/Sylius/SyliusResourceBundle/vendor/vimeo/psalm/src/Psalm/Config.php(1707): Psalm\Internal\Codebase\Scanner->scanFiles(Object(Psalm\Internal\Codebase\ClassLikes))
#14 /Users/chrustu/Sites/Sylius/SyliusResourceBundle/vendor/vimeo/psalm/src/psalm.php(506): Psalm\Config->visitComposerAutoloadFiles(Object(Psalm\Internal\Analyzer\ProjectAnalyzer), Object(Psalm\Progress\DebugProgress))
#15 /Users/chrustu/Sites/Sylius/SyliusResourceBundle/vendor/vimeo/psalm/psalm(2): require_once('/Users/chrustu/...')
#16 {main}
(Psalm 3.8.1@8e54e3aa060fc490d86d0e2abbf62750516d40fd crashed due to an uncaught Throwable)

I just wanted to keep you informed. Maybe some have a similar issue.

Have a good day :)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions