Skip to content

PHP Language Server never stops parsing files #336

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

Closed
johnbillion opened this issue Mar 21, 2017 · 48 comments
Closed

PHP Language Server never stops parsing files #336

johnbillion opened this issue Mar 21, 2017 · 48 comments

Comments

@johnbillion
Copy link

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
@felixfbecker
Copy link
Owner

Duplicate of #311

@maikel-cit
Copy link

@felixfbecker This is still happening, updated version and #311 does not fix this.

@rinasek
Copy link

rinasek commented Sep 4, 2018

I can confirm that this is still happening. I can bake a pizza on my laptop.

@pacotole
Copy link

In my case, the parsing of php files stopped by disabling PHP IntelliSense extension

@egiesem
Copy link

egiesem commented Jan 27, 2019

In my case, the parsing of php files stopped by disabling PHP IntelliSense extension

that's true

@robrecord
Copy link

I disabled PHP intellisense and it fixed the issue.

@jonathanslater
Copy link

jonathanslater commented Feb 19, 2019

yep, uninstall php intellisense extension. it doesn't work properly.

@markusantonwolf
Copy link

That's right -> in my case I had to uninstall the php intellisense extension to stop endless parsing...

@TylerBarnes
Copy link

I'm not sure if this is helpful for this issue but there is a setting to lower the memory limit for the php language server. It's set to 4gb by default. If your computer doesn't have a lot of ram, you probably want to lower that.

Screen Shot 2019-06-20 at 10 09 20 AM

@GBeushausen
Copy link

GBeushausen commented Aug 29, 2019

I also still have this issue. And it's creating dozens (9000+) of totally wrong error messages.

@almarrr
Copy link

almarrr commented Sep 20, 2019

I have it since a few hours, it worked perfectly for months.

@krisdr
Copy link

krisdr commented Sep 20, 2019

I have it since a few hours, it worked perfectly for months.

Same here

@zeptoon
Copy link

zeptoon commented Sep 20, 2019

Also have this issue

@tonviet712
Copy link

same here after update

@pucitos
Copy link

pucitos commented Sep 23, 2019

alsi i have this issue

@jameswilson34
Copy link

Me too - MAC fans are spinning triple time and VSC is nearly unusable.

@dave470003
Copy link

i also have this issue after updating, was working fine before

@snikolaidis
Copy link

Same here, can't stop parsing the files.

@chendujin
Copy link

I also appeared after updating VSC. Is it a bug?

@JoeyFenny
Copy link

Worked fine for me yesterday. Just started doing this today.

@Crayzo
Copy link

Crayzo commented Sep 24, 2019

Just uninstall PHP IntelliSence and install PHP Intelephense

@ithieund
Copy link

Just uninstall PHP IntelliSence and install PHP Intelephense

Thanks @Crayzo . PHP Intelephense is perfect!

@cyberorca
Copy link

PHP intellisense is going nuts ... just uninstall this ram eater ..

@AhsanShabbir
Copy link

I also had the same issue. Disabling PHP IntelliSence was the solution.

@wayne259
Copy link

Same issue here, and resolve by disabling PHP Intelephense extension. Many thanks.

@calhaudev
Copy link

DIsabled the PHP IntelliSense and the problem disappear. Thanks for the tip!

@zecka
Copy link

zecka commented Oct 12, 2019

And if I want to keep IntelliSense ? Any way to exclude folder from parsing ?

@almarrr
Copy link

almarrr commented Oct 15, 2019

The problem is back again, worked about perfect for 4 weeks.

@TylerBarnes
Copy link

Intelephense is the way to go! Thanks to everyone here that recommended it!

@emilpriverrc
Copy link

Have the problem aswell :(

@ronaldtveen
Copy link

Switched to Intelephense as well.

@rlavooij
Copy link

Intelephense here too!

@TylerBarnes
Copy link

TylerBarnes commented Oct 31, 2019

Seems like vscode-intellisense (or php-language-server?) should be deprecated since it performs so poorly compared to alternatives. It's a very frustrating experience trying to figure out which extension is eating your computer alive

I originally thought for many months that vscode just didn't work well with PHP, so this extension actually negatively impacted my ability to do my job since I couldn't properly work on PHP code and didn't want to leave VSCode.

@robertsheacole
Copy link

bye bye PHP intellisense...

@ajkasuri
Copy link

PHP IntelliSense extension should be disabled to stop parsing the PHP files.

@nop1984
Copy link

nop1984 commented Nov 15, 2019

Just uninstall PHP IntelliSence and install PHP Intelephense
this helped me #336 (comment)

@digisavvy
Copy link

Oh goodness, disabled php intellisense.

@MegaphoneJon
Copy link

I experience this problem on some repos and not others. I suspect it's down to submodules rather than size, though I'm going to disable for now. Hopefully this gives others who need to troubleshoot this more a direction.

@wunluv
Copy link

wunluv commented Nov 28, 2019

Thanks. Disabling php intellisense worked for me too.

@raftaar1191
Copy link

Thanks. Disabling php intellisense worked for me too. But I need php intellisense extensions

@TylerBarnes
Copy link

@raftaar1191 use intelliphense

@Brugui7
Copy link

Brugui7 commented Dec 3, 2019

Same here, unistalling intelillisense makes everything work fine.
I recommend to install inteliphpsense instead.

@altayevrim
Copy link

@raftaar1191 use intelliphense

thanks for suggestion

@TinoCle
Copy link

TinoCle commented Jul 15, 2020

Intelephense uses to eat my computer resources, It's a shame that PHP Intellisense takes so long to parse my files.

@manugarcia101
Copy link

Disable PHP Intelisense for all vscode or at least for big workspaces (The bigger the workspace the worst...) 👍

@Lakshay11
Copy link

Literally, you don't need a room heater, if you have PHP intellisense enabled and working on a Drupal site

@MarthinusBotha
Copy link

I'm not sure if this is helpful for this issue but there is a setting to lower the memory limit for the php language server. It's set to 4gb by default. If your computer doesn't have a lot of ram, you probably want to lower that.

Screen Shot 2019-06-20 at 10 09 20 AM

I have updated both my Memory Settings for PHP Intellisense and the memory used for Large Files for Visual Code to use less memory and it seems to make things faster and doesn't always the Language server the whole time on my site and my Total Memory usage has also reduced

@draeockenden
Copy link

I am getting this too in 2024 with PHP Intelephense

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