Open efueger opened 4 years ago
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
Customer reports:
with some experimentation, I was able to confirm that https://github.com/pdepend/pdepend/issues/299 is indeed the root cause of our issue.
Customer's repo erroring with: