Skip to content

The PHP Language Server server crashed 5 times in the last 3 minutes. The server will not be restarted. #325

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

Open
iaremarkus opened this issue Mar 2, 2017 · 8 comments
Labels

Comments

@iaremarkus
Copy link

Hiya

Found a few issues with the above error message, but none of the resolutions of those issues have helped me.

Details:
macOS Sierra
php v7
node v6.9.1
npm -v4.3.0

Stack Trace from VSCode

//Applications/Visual Studio Code.app/Contents/Resources/app/out/vs/workbench/electron-browser/workbench.main.js:136 [Extension Host] TypeError: Return value of LanguageServer\DefinitionResolver::resolveExpressionNodeToType() must implement interface phpDocumentor\Reflection\Type, null returned in /Users/markus/.vscode/extensions/felixfbecker.php-intellisense-1.1.3/vendor/felixfbecker/language-server/src/DefinitionResolver.php:445
Stack trace:
#0 /Users/markus/.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/markus/.vscode/extensions/felixfbecker.php-intellisense-1.1.3/vendor/felixfbecker/language-server/src/NodeVisitor/ReferencesCollector.php(38): LanguageServer\DefinitionResolver->resolveReferenceNodeToFqn(Object(PhpParser\Node\Expr\PropertyFetch))
#2 /Users/markus/.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\PropertyFetch))
#3 /Users/markus/.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/markus/.vscode/extensions/felixfbecker.php-intellisense-1.1.3/vendor/nikic/php-parser/lib/PhpParser/NodeTraverser.php(101): PhpParser\NodeTraverser->traverseArray(Array)
#5 /Users/markus/.vscode/extensions/felixfbecker.php-intellisense-1.1.3/vendor/nikic/php-parser/lib/PhpParser/NodeTraverser.php(171): PhpParser\NodeTraverser->traverseNode(Object(PhpParser\Node\Stmt\If_))
#6 /Users/markus/.vscode/extensions/felixfbecker.php-intellisense-1.1.3/vendor/nikic/php-parser/lib/PhpParser/NodeTraverser.php(85): PhpParser\NodeTraverser->traverseArray(Array)
#7 /Users/markus/.vscode/extensions/felixfbecker.php-intellisense-1.1.3/vendor/felixfbecker/language-server/src/PhpDocument.php(205): PhpParser\NodeTraverser->traverse(Array)
#8 /Users/markus/.vscode/extensions/felixfbecker.php-intellisense-1.1.3/vendor/felixfbecker/language-server/src/PhpDocument.php(119): LanguageServer\PhpDocument->updateContent('<?php \n\nif( ! d...')
#9 /Users/markus/.vscode/extensions/felixfbecker.php-intellisense-1.1.3/vendor/felixfbecker/language-server/src/PhpDocumentLoader.php(134): LanguageServer\PhpDocument->__construct('file:///Applica...', '<?php \n\nif( ! d...', Object(LanguageServer\Index\Index), Object(LanguageServer\Parser), Object(phpDocumentor\Reflection\DocBlockFactory), Object(LanguageServer\DefinitionResolver))
#10 /Users/markus/.vscode/extensions/felixfbecker.php-intellisense-1.1.3/vendor/felixfbecker/language-server/src/PhpDocumentLoader.php(113): LanguageServer\PhpDocumentLoader->create('file:///Applica...', '<?php \n\nif( ! d...')
#11 [internal function]: LanguageServer\PhpDocumentLoader->LanguageServer\{closure}()
#12 /Users/markus/.vscode/extensions/felixfbecker.php-intellisense-1.1.3/vendor/sabre/event/lib/coroutine.php(70): Generator->send('<?php \n\nif( ! d...')
#13 /Users/markus/.vscode/extensions/felixfbecker.php-intellisense-1.1.3/vendor/sabre/event/lib/Promise.php(242): Sabre\Event\{closure}('<?php \n\nif( ! d...')
#14 /Users/markus/.vscode/extensions/felixfbecker.php-intellisense-1.1.3/vendor/sabre/event/lib/Loop/Loop.php(261): Sabre\Event\Promise->Sabre\Event\{closure}()
#15 /Users/markus/.vscode/extensions/felixfbecker.php-intellisense-1.1.3/vendor/sabre/event/lib/Loop/Loop.php(215): Sabre\Event\Loop\Loop->runNextTicks()
#16 /Users/markus/.vscode/extensions/felixfbecker.php-intellisense-1.1.3/vendor/sabre/event/lib/Loop/Loop.php(194): Sabre\Event\Loop\Loop->tick(true)
#17 /Users/markus/.vscode/extensions/felixfbecker.php-intellisense-1.1.3/vendor/sabre/event/lib/Loop/functions.php(122): Sabre\Event\Loop\Loop->run()
#18 /Users/markus/.vscode/extensions/felixfbecker.php-intellisense-1.1.3/vendor/felixfbecker/language-server/bin/php-language-server.php(102): Sabre\Event\Loop\run()
#19 {main}d.logExtensionHostMessage @ //Applications/Visual Studio Code.app/Contents/Resources/app/out/vs/workbench/electron-browser/workbench.main.js:136
//Applications/Visual Studio Code.app/Contents/Resources/app/out/vs/workbench/electron-browser/workbench.main.js:103

The PHP Language Server server crashed 5 times in the last 3 minutes. The server will not be restarted.e.doShow @ //Applications/Visual Studio Code.app/Contents/Resources/app/out/vs/workbench/electron-browser/workbench.main.js:103

It's a WordPress site and the file that seems to be causing it to fail, has the path of: file:///Applications/MAMP/htdocs/fw/wp-content/themes/fw/includes/functions/advanced-custom-fields-pro/admin/admin.php

Just installed VSCode this morning and willing it to work, but this problem keeps popping up?

Hoping you can help...Thank you!

@designcraft
Copy link

Maybe same here on Win10, I wrote an issue #326.

@Alenore
Copy link

Alenore commented Mar 2, 2017

I've posted a temporary workaround in the issue referenced by designcraft, if need be. :)

@iaremarkus
Copy link
Author

@Alenore you beautiful thing you 🥇

[Info - 8:20:30 AM] All 118 PHP files parsed in 4 seconds. 70 MiB allocated.

@felixfbecker Is this a 'fix' worth including in your next version?

@felixfbecker
Copy link
Owner

@wondergryphon As I already said on the other issue, the root cause is that type was set to null, not that the null value isn't handled. I appreciate any PR that gets to the bottom of this

@ettoredn
Copy link

ettoredn commented Mar 6, 2017

Same here,
macOS 10.11
PHP 7.1.2

extensionHost.ts:282[Extension Host] TypeError: Return value of LanguageServer\DefinitionResolver::resolveExpressionNodeToType() must implement interface phpDocumentor\Reflection\Type, null returned in /Users/ettore/.vscode/extensions/felixfbecker.php-intellisense-1.1.3/vendor/felixfbecker/language-server/src/DefinitionResolver.php:445
Stack trace:
#0 /Users/ettore/.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/ettore/.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/ettore/.vscode/extensions/felixfbecker.php-intellisense-1.1.3/vendor/nikic/php-parser/lib/PhpParser/NodeTraverser.php(159): LanguageServer\NodeVisitor\ReferencesCollector->enterNode(Object(PhpParser\Node\Expr\MethodCall))
#3 /Users/ettore/.vscode/extensions/felixfbecker.php-intellisense-1.1.3/vendor/nikic/php-parser/lib/PhpParser/NodeTraverser.php(101): PhpParser\NodeTraverser->traverseArray(Array)
#4 /Users/ettore/.vscode/extensions/felixfbecker.php-intellisense-1.1.3/vendor/nikic/php-parser/lib/PhpParser/NodeTraverser.php(171): PhpParser\NodeTraverser->traverseNode(Object(PhpParser\Node\Stmt\Function_))
#5 /Users/ettore/.vscode/extensions/felixfbecker.php-intellisense-1.1.3/vendor/nikic/php-parser/lib/PhpParser/NodeTraverser.php(85): PhpParser\NodeTraverser->traverseArray(Array)
#6 /Users/ettore/.vscode/extensions/felixfbecker.php-intellisense-1.1.3/vendor/felixfbecker/language-server/src/PhpDocument.php(205): PhpParser\NodeTraverser->traverse(Array)
#7 /Users/ettore/.vscode/extensions/felixfbecker.php-intellisense-1.1.3/vendor/felixfbecker/language-server/src/PhpDocument.php(119): LanguageServer\PhpDocument->updateContent('<?php\n\n/*\n*  ac...')
#8 /Users/ettore/.vscode/extensions/felixfbecker.php-intellisense-1.1.3/vendor/felixfbecker/language-server/src/PhpDocumentLoader.php(134): LanguageServer\PhpDocument->__construct('file:///Users/e...', '<?php\n\n/*\n*  ac...', Object(LanguageServer\Index\Index), Object(LanguageServer\Parser), Object(phpDocumentor\Reflection\DocBlockFactory), Object(LanguageServer\DefinitionResolver))
#9 /Users/ettore/.vscode/extensions/felixfbecker.php-intellisense-1.1.3/vendor/felixfbecker/language-server/src/PhpDocumentLoader.php(113): LanguageServer\PhpDocumentLoader->create('file:///Users/e...', '<?php\n\n/*\n*  ac...')
#10 [internal function]: LanguageServer\PhpDocumentLoader->LanguageServer\{closure}()
#11 /Users/ettore/.vscode/extensions/felixfbecker.php-intellisense-1.1.3/vendor/sabre/event/lib/coroutine.php(70): Generator->send('<?php\n\n/*\n*  ac...')
#12 /Users/ettore/.vscode/extensions/felixfbecker.php-intellisense-1.1.3/vendor/sabre/event/lib/Promise.php(242): Sabre\Event\{closure}('<?php\n\n/*\n*  ac...')
#13 /Users/ettore/.vscode/extensions/felixfbecker.php-intellisense-1.1.3/vendor/sabre/event/lib/Loop/Loop.php(261): Sabre\Event\Promise->Sabre\Event\{closure}()
#14 /Users/ettore/.vscode/extensions/felixfbecker.php-intellisense-1.1.3/vendor/sabre/event/lib/Loop/Loop.php(215): Sabre\Event\Loop\Loop->runNextTicks()
#15 /Users/ettore/.vscode/extensions/felixfbecker.php-intellisense-1.1.3/vendor/sabre/event/lib/Loop/Loop.php(194): Sabre\Event\Loop\Loop->tick(true)
#16 /Users/ettore/.vscode/extensions/felixfbecker.php-intellisense-1.1.3/vendor/sabre/event/lib/Loop/functions.php(122): Sabre\Event\Loop\Loop->run()
#17 /Users/ettore/.vscode/extensions/felixfbecker.php-intellisense-1.1.3/vendor/felixfbecker/language-server/bin/php-language-server.php(102): Sabre\Event\Loop\run()
#18 {main}

@john-landgrave
Copy link

I tried manually applying the fix that @Alenore posted in that other bug, but the language server is still crashing on me. Is there some magic I'm supposed to do to rebuild or reload the extension? Or should the good old power cycle handle that?

@nonameolsson
Copy link

I get this problem both on Mac and Window at least 20 times a day.

@felixfbecker
Copy link
Owner

Is this still an issue with the latest version?

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

No branches or pull requests

7 participants