Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

PDepend - Uncaught Error: Call to a member function restoreClass() on null #51

Open
efueger opened this issue Feb 11, 2020 · 1 comment

Comments

@efueger
Copy link
Member

efueger commented Feb 11, 2020

Customer's repo erroring with:

engine phpmd failed with status 255 and stderr 
Exception: Argument 1 passed to PDepend\Source\AST\ASTConstantDeclarator::setValue() must be an instance of PDepend\Source\AST\ASTValue, null given, called in /usr/src/app/vendor/pdepend/pdepend/src/main/php/PDepend/Source/Language/PHP/AbstractPHPParser.php on line 6205 in /usr/src/app/vendor/pdepend/pdepend/src/main/php/PDepend/Source/AST/ASTConstantDeclarator.php
#0 /usr/src/app/vendor/pdepend/pdepend/src/main/php/PDepend/Source/Language/PHP/AbstractPHPParser.php(6205): PDepend\Source\AST\ASTConstantDeclarator->setValue(NULL)
#1 /usr/src/app/vendor/pdepend/pdepend/src/main/php/PDepend/Source/Language/PHP/AbstractPHPParser.php(6135): PDepend\Source\Language\PHP\AbstractPHPParser->parseConstantDeclarator()
#2 /usr/src/app/vendor/pdepend/pdepend/src/main/php/PDepend/Source/Language/PHP/AbstractPHPParser.php(886): PDepend\Source\Language\PHP\AbstractPHPParser->parseConstantDefinition()
#3 /usr/src/app/vendor/pdepend/pdepend/src/main/php/PDepend/Source/Language/PHP/AbstractPHPParser.php(713): PDepend\Source\Language\PHP\AbstractPHPParser->parseTypeBody(Object(PDepend\Source\AST\ASTClass))
#4 /usr/src/app/vendor/pdepend/pdepend/src/main/php/PDepend/Source/Language/PHP/AbstractPHPParser.php(5712): PDepend\Source\Language\PHP\AbstractPHPParser->parseClassDeclaration()
#5 /usr/src/app/vendor/pdepend/pdepend/src/main/php/PDepend/Source/Language/PHP/AbstractPHPParser.php(388): PDepend\Source\Language\PHP\AbstractPHPParser->parseOptionalStatement()
#6 /usr/src/app/vendor/pdepend/pdepend/src/main/php/PDepend/Engine.php(575): PDepend\Source\Language\PHP\AbstractPHPParser->parse()
#7 /usr/src/app/vendor/pdepend/pdepend/src/main/php/PDepend/Engine.php(323): PDepend\Engine->performParseProcess()
#8 /usr/src/app/vendor/phpmd/phpmd/src/main/php/PHPMD/Parser.php(123): PDepend\Engine->analyze()
#9 /usr/src/app/vendor/phpmd/phpmd/src/main/php/PHPMD/PHPMD.php(222): PHPMD\Parser->parse(Object(PHPMD\Report))
#10 /usr/src/app/Runner.php(116): PHPMD\PHPMD->processFiles('/code/magento/a...', 'cleancode,codes...', Array, Object(PHPMD\RuleSetFactory))
#11 /usr/src/app/vendor/barracudanetworks/forkdaemon-php/fork_daemon.php(1852): CodeClimate\PHPMD\Runner->run(Array)
#12 /usr/src/app/vendor/barracudanetworks/forkdaemon-php/fork_daemon.php(1772): fork_daemon->invoke_callback(Array, Array, false)
#13 /usr/src/app/vendor/barracudanetworks/forkdaemon-php/fork_daemon.php(1673): fork_daemon->fork_work_unit(Array, '', -1)
#14 /usr/src/app/vendor/barracudanetworks/forkdaemon-php/fork_daemon.php(1423): fork_daemon->process_work_unit(-1)
#15 /usr/src/app/engine.php(37): fork_daemon->process_work(true)
#16 {main}
PHP Fatal error:  Uncaught Error: Call to a member function restoreClass() on null in /usr/src/app/vendor/pdepend/pdepend/src/main/php/PDepend/Source/Builder/BuilderContext/GlobalBuilderContext.php:116
Stack trace:
#0 /usr/src/app/vendor/pdepend/pdepend/src/main/php/PDepend/Source/AST/ASTClass.php(212): PDepend\Source\Builder\BuilderContext\GlobalBuilderContext->registerClass(Object(PDepend\Source\AST\ASTClass))
#1 [internal function]: PDepend\Source\AST\ASTClass->__wakeup()
#2 /usr/src/app/vendor/barracudanetworks/forkdaemon-php/fork_daemon.php(1973): unserialize('O:9:"TypeError"...')
#3 /usr/src/app/vendor/barracudanetworks/forkdaemon-php/fork_daemon.php(1570): fork_daemon->socket_receive(Resource id #2691)
#4 /usr/src/app/vendor/barracudanetworks/forkdaemon-php/fork_daemon.php(1622): fork_daemon->fetch_results(false, 0, -1)
#5 /usr/src/app/vendor/barracudanetworks/forkdaemon-php/fork_daemon.php(841): fork_daemon->post_results(-1)
#6 /usr/src/app/vendor/barracudanetworks/forkdaemon-php/fork_daemon.php(1420): fork_daemon->sig in /usr/src/app/vendor/pdepend/pdepend/src/main/php/PDepend/Source/Builder/BuilderContext/GlobalBuilderContext.php on line 116
@efueger
Copy link
Member Author

efueger commented Feb 26, 2020

Customer reports:

with some experimentation, I was able to confirm that pdepend/pdepend#299 is indeed the root cause of our issue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant