Closed
Description
I have a project which contains around 38,000 files. 8,500 of them are .php
files. The PHP Language Server is stuck in a loop parsing the PHP files, and does not complete.
Watching the Output
of the PHP Language Server, it appears to parse all of the files but then starts again at the first directory in the project, with no additional output other than Parsing <file>
.
What can I do to help debug this problem? I've had to disable the extension on this project as it's eating up my CPU :-)
There is one error that appears in the developer console:
extensionHost.ts:282 [Extension Host] TypeError: Return value of LanguageServer\DefinitionResolver::resolveExpressionNodeToType() must implement interface phpDocumentor\Reflection\Type, null returned in /Users/john/.vscode/extensions/felixfbecker.php-intellisense-1.1.3/vendor/felixfbecker/language-server/src/DefinitionResolver.php:445
Stack trace:
#0 /Users/john/.vscode/extensions/felixfbecker.php-intellisense-1.1.3/vendor/felixfbecker/language-server/src/DefinitionResolver.php(239): LanguageServer\DefinitionResolver->resolveExpressionNodeToType(Object(PhpParser\Node\Expr\FuncCall))
#1 /Users/john/.vscode/extensions/felixfbecker.php-intellisense-1.1.3/vendor/felixfbecker/language-server/src/NodeVisitor/ReferencesCollector.php(38): LanguageServer\DefinitionResolver->resolveReferenceNodeToFqn(Object(PhpParser\Node\Expr\MethodCall))
#2 /Users/john/.vscode/extensions/felixfbecker.php-intellisense-1.1.3/vendor/nikic/php-parser/lib/PhpParser/NodeTraverser.php(108): LanguageServer\NodeVisitor\ReferencesCollector->enterNode(Object(PhpParser\Node\Expr\MethodCall))
#3 /Users/john/.vscode/extensions/felixfbecker.php-intellisense-1.1.3/vendor/nikic/php-parser/lib/PhpParser/NodeTraverser.php(171): PhpParser\NodeTraverser->traverseNode(Object(PhpParser\Node\Expr\Assign))
#4 /Users/john/.vscode/extensions/felixfbecker.php-intellisense-1.1.3/vendor/nikic/php-parser/lib/PhpParser/NodeTraverser.php(101): PhpParser\NodeTraverser->traverseArray(Array)
#5 /Users/john/.vscode/extensions/felixfbecker.php-intellisense-1.1.3/vendor/nikic/php-parser/lib/PhpParser/NodeTraverser.php(171): PhpParser\NodeTraverser->traverseNode(Object(PhpParser\Node\Stmt\Foreach_))
#6 /Users/john/.vscode/extensions/felixfbecker.php-intellisense-1.1.3/vendor/nikic/php-parser/lib/PhpParser/NodeTraverser.php(101): PhpParser\NodeTraverser->traverseArray(Array)
#7 /Users/john/.vscode/extensions/felixfbecker.php-intellisense-1.1.3/vendor/nikic/php-parser/lib/PhpParser/NodeTraverser.php(171): PhpParser\NodeTraverser->traverseNode(Object(PhpParser\Node\Stmt\ClassMethod))
#8 /Users/john/.vscode/extensions/felixfbecker.php-intellisense-1.1.3/vendor/nikic/php-parser/lib/PhpParser/NodeTraverser.php(101): PhpParser\NodeTraverser->traverseArray(Array)
#9 /Users/john/.vscode/extensions/felixfbecker.php-intellisense-1.1.3/vendor/nikic/php-parser/lib/PhpParser/NodeTraverser.php(171): PhpParser\NodeTraverser->traverseNode(Object(PhpParser\Node\Stmt\Class_))
#10 /Users/john/.vscode/extensions/felixfbecker.php-intellisense-1.1.3/vendor/nikic/php-parser/lib/PhpParser/NodeTraverser.php(101): PhpParser\NodeTraverser->traverseArray(Array)
#11 /Users/john/.vscode/extensions/felixfbecker.php-intellisense-1.1.3/vendor/nikic/php-parser/lib/PhpParser/NodeTraverser.php(171): PhpParser\NodeTraverser->traverseNode(Object(PhpParser\Node\Stmt\Namespace_))
#12 /Users/john/.vscode/extensions/felixfbecker.php-intellisense-1.1.3/vendor/nikic/php-parser/lib/PhpParser/NodeTraverser.php(85): PhpParser\NodeTraverser->traverseArray(Array)
#13 /Users/john/.vscode/extensions/felixfbecker.php-intellisense-1.1.3/vendor/felixfbecker/language-server/src/PhpDocument.php(205): PhpParser\NodeTraverser->traverse(Array)
#14 /Users/john/.vscode/extensions/felixfbecker.php-intellisense-1.1.3/vendor/felixfbecker/language-server/src/PhpDocument.php(119): LanguageServer\PhpDocument->updateContent('<?php\n\nnamespac...')
#15 /Users/john/.vscode/extensions/felixfbecker.php-intellisense-1.1.3/vendor/felixfbecker/language-server/src/PhpDocumentLoader.php(134): LanguageServer\PhpDocument->__construct('file:///sites/w...', '<?php\n\nnamespac...', Object(LanguageServer\Index\Index), Object(LanguageServer\Parser), Object(phpDocumentor\Reflection\DocBlockFactory), Object(LanguageServer\DefinitionResolver))
#16 /Users/john/.vscode/extensions/felixfbecker.php-intellisense-1.1.3/vendor/felixfbecker/language-server/src/PhpDocumentLoader.php(113): LanguageServer\PhpDocumentLoader->create('file:///sites/w...', '<?php\n\nnamespac...')
#17 [internal function]: LanguageServer\PhpDocumentLoader->LanguageServer\{closure}()
#18 /Users/john/.vscode/extensions/felixfbecker.php-intellisense-1.1.3/vendor/sabre/event/lib/coroutine.php(70): Generator->send('<?php\n\nnamespac...')
#19 /Users/john/.vscode/extensions/felixfbecker.php-intellisense-1.1.3/vendor/sabre/event/lib/Promise.php(242): Sabre\Event\{closure}('<?php\n\nnamespac...')
#20 /Users/john/.vscode/extensions/felixfbecker.php-intellisense-1.1.3/vendor/sabre/event/lib/Loop/Loop.php(261): Sabre\Event\Promise->Sabre\Event\{closure}()
#21 /Users/john/.vscode/extensions/felixfbecker.php-intellisense-1.1.3/vendor/sabre/event/lib/Loop/Loop.php(215): Sabre\Event\Loop\Loop->runNextTicks()
#22 /Users/john/.vscode/extensions/felixfbecker.php-intellisense-1.1.3/vendor/sabre/event/lib/Loop/Loop.php(194): Sabre\Event\Loop\Loop->tick(true)
#23 /Users/john/.vscode/extensions/felixfbecker.php-intellisense-1.1.3/vendor/sabre/event/lib/Loop/functions.php(122): Sabre\Event\Loop\Loop->run()
#24 /Users/john/.vscode/extensions/felixfbecker.php-intellisense-1.1.3/vendor/felixfbecker/language-server/bin/php-language-server.php(102): Sabre\Event\Loop\run()
#25 {main}d.logExtensionHostMessage @ extensionHost.ts:282(anonymous function) @ extensionHost.ts:137emitTwo @ events.js:106emit @ events.js:191process.nextTick @ internal/child_process.js:744_combinedTickCallback @ internal/process/next_tick.js:67_tickCallback @ internal/process/next_tick.js:98
Metadata
Metadata
Assignees
Labels
No labels