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

PHP Language Server Output window re-opens after being manually closed #65

Closed
ryanjanzen-curvedev opened this issue Feb 3, 2017 · 51 comments

Comments

@ryanjanzen-curvedev
Copy link

When analyzing files, the PHP Language Server Output window opens. After it is closed manually, it re-opens after a while. Also, it appears as though the PHP Language Server is continuously re-parsing the files in the project when it re-opens.

I am running:
PHP IntelliSense 1.0.0

Visual Studio Code
Version 1.9.0
Commit 27240e71ef390bf2d66307e677c2a333cebf75af
Date 2017-02-02T08:21:13.228Z
Shell 1.4.6
Renderer 53.0.2785.143
Node 6.5.0

Ubuntu Linux
uname -a gives
Linux vmuser-VirtualBox 4.4.0-62-generic #83~14.04.1-Ubuntu SMP Wed Jan 18 18:10:30 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux

Congrats on hitting v1.

@felixfbecker
Copy link
Owner

felixfbecker commented Feb 3, 2017

The extension/language server doesn't control when the output panel is opened.
Did you see check if an error was logged?

@felixfbecker
Copy link
Owner

And thanks :)

@ryanjanzen-curvedev
Copy link
Author

Log is as follows

[Info  - 3:53:22 PM] Collecting definitions and static references
...
usual message about parsing files here
a few about files that are too large
more usual messages about parsing files
...
[Info  - 3:52:35 PM] Connection to server got closed. Server will restart.

Is there a log file I should check?

@felixfbecker
Copy link
Owner

Help > Toggle Developer Tools

@ryanjanzen-curvedev
Copy link
Author

extensionHost.ts:282 [Extension Host] TypeError: Return value of LanguageServer\DefinitionResolver::resolveExpressionNodeToType() must implement interface phpDocumentor\Reflection\Type, null returned in /home/vmuser/.vscode/extensions/felixfbecker.php-intellisense-1.0.0/vendor/felixfbecker/language-server/src/DefinitionResolver.php:455
Stack trace:
#0 /home/vmuser/.vscode/extensions/felixfbecker.php-intellisense-1.0.0/vendor/felixfbecker/language-server/src/DefinitionResolver.php(788): LanguageServer\DefinitionResolver->resolveExpressionNodeToType(Object(PhpParser\Node\Expr\ConstFetch))
#1 /home/vmuser/.vscode/extensions/felixfbecker.php-intellisense-1.0.0/vendor/felixfbecker/language-server/src/DefinitionResolver.php(131): LanguageServer\DefinitionResolver->getTypeFromNode(Object(PhpParser\Node\Stmt\PropertyProperty))
#2 /home/vmuser/.vscode/extensions/felixfbecker.php-intellisense-1.0.0/vendor/felixfbecker/language-server/src/NodeVisitor/DefinitionCollector.php(45): LanguageServer\DefinitionResolver->createDefinitionFromNode(Object(PhpParser\Node\Stmt\PropertyProperty), 'Parser->symbol_...')
#3 /home/vmuser/.vscode/extensions/felixfbecker.php-intellisense-1.0.0/vendor/nikic/php-parser/lib/PhpParser/NodeTraverser.php(130): LanguageServer\NodeVisitor\DefinitionCollector->enterNode(Object(PhpParser\Node\Stmt\PropertyProperty))
#4 /home/vmuser/.vscode/extensions/felixfbecker.php-intellisense-1.0.0/vendor/nikic/php-parser/lib/PhpParser/NodeTraverser.php(88): PhpParser\NodeTraverser->traverseArray(Array)
#5 /home/vmuser/.vscode/extensions/felixfbecker.php-intellisense-1.0.0/vendor/nikic/php-parser/lib/PhpParser/NodeTraverser.php(139): PhpParser\NodeTraverser->traverseNode(Object(PhpParser\Node\Stmt\Property))
#6 /home/vmuser/.vscode/extensions/felixfbecker.php-intellisense-1.0.0/vendor/nikic/php-parser/lib/PhpParser/NodeTraverser.php(88): PhpParser\NodeTraverser->traverseArray(Array)
#7 /home/vmuser/.vscode/extensions/felixfbecker.php-intellisense-1.0.0/vendor/nikic/php-parser/lib/PhpParser/NodeTraverser.php(139): PhpParser\NodeTraverser->traverseNode(Object(PhpParser\Node\Stmt\Class_))
#8 /home/vmuser/.vscode/extensions/felixfbecker.php-intellisense-1.0.0/vendor/nikic/php-parser/lib/PhpParser/NodeTraverser.php(72): PhpParser\NodeTraverser->traverseArray(Array)
#9 /home/vmuser/.vscode/extensions/felixfbecker.php-intellisense-1.0.0/vendor/felixfbecker/language-server/src/PhpDocument.php(205): PhpParser\NodeTraverser->traverse(Array)
#10 /home/vmuser/.vscode/extensions/felixfbecker.php-intellisense-1.0.0/vendor/felixfbecker/language-server/src/PhpDocument.php(119): LanguageServer\PhpDocument->updateContent('<?php\n\nrequire_...')
#11 /home/vmuser/.vscode/extensions/felixfbecker.php-intellisense-1.0.0/vendor/felixfbecker/language-server/src/PhpDocumentLoader.php(134): LanguageServer\PhpDocument->__construct('file:///home/vm...', '<?php\n\nrequire_...', Object(LanguageServer\Index\Index), Object(LanguageServer\Parser), Object(phpDocumentor\Reflection\DocBlockFactory), Object(LanguageServer\DefinitionResolver))
#12 /home/vmuser/.vscode/extensions/felixfbecker.php-intellisense-1.0.0/vendor/felixfbecker/language-server/src/PhpDocumentLoader.php(113): LanguageServer\PhpDocumentLoader->create('file:///home/vm...', '<?php\n\nrequire_...')
#13 [internal function]: LanguageServer\PhpDocumentLoader->LanguageServer\{closure}()
#14 /home/vmuser/.vscode/extensions/felixfbecker.php-intellisense-1.0.0/vendor/sabre/event/lib/coroutine.php(70): Generator->send('<?php\n\nrequire_...')
#15 /home/vmuser/.vscode/extensions/felixfbecker.php-intellisense-1.0.0/vendor/sabre/event/lib/Promise.php(242): Sabre\Event\{closure}('<?php\n\nrequire_...')
#16 /home/vmuser/.vscode/extensions/felixfbecker.php-intellisense-1.0.0/vendor/sabre/event/lib/Loop/Loop.php(261): Sabre\Event\Promise->Sabre\Event\{closure}()
#17 /home/vmuser/.vscode/extensions/felixfbecker.php-intellisense-1.0.0/vendor/sabre/event/lib/Loop/Loop.php(215): Sabre\Event\Loop\Loop->runNextTicks()
#18 /home/vmuser/.vscode/extensions/felixfbecker.php-intellisense-1.0.0/vendor/sabre/event/lib/Loop/Loop.php(194): Sabre\Event\Loop\Loop->tick(true)
#19 /home/vmuser/.vscode/extensions/felixfbecker.php-intellisense-1.0.0/vendor/sabre/event/lib/Loop/functions.php(122): Sabre\Event\Loop\Loop->run()
#20 /home/vmuser/.vscode/extensions/felixfbecker.php-intellisense-1.0.0/vendor/felixfbecker/language-server/bin/php-language-server.php(102): Sabre\Event\Loop\run()
#21 {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 felixfbecker/php-language-server#252 then.
Can you find out what file caused this?

@ryanjanzen-curvedev
Copy link
Author

vendor/dojo-1.10/util/docscripts/lib/parser2/Parser.php

@ryanjanzen-curvedev
Copy link
Author

@ryanjanzen-curvedev
Copy link
Author

Also chokes on vendor/dojo-1.10/util/docscripts/lib/parser2/JavaScriptParser.php

@nbonamy
Copy link

nbonamy commented Jul 31, 2017

Hello, same here. Error on

Parsing file:///.../vendor/predis/predis/src/ClientInterface.php
[Error - 7:54:42 PM] Error parsing file:///.../includes/vendor/predis/predis/src/ClientInterface.php: ErrorException: Uninitialized string offset: 0 in /.../.vscode/extensions/felixfbecker.php-intellisense-1.5.0/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Method.php:131
Stack trace:
#0 /.../.vscode/extensions/felixfbecker.php-intellisense-1.5.0/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Method.php(131): {closure}(8, 'Uninitialized s...', '/.../...', 131, Array)
#1 [internal function]: phpDocumentor\Reflection\DocBlock\Tags\Method::create('array  bitfield...', Object(phpDocumentor\Reflection\TypeResolver), Object(phpDocumentor\Reflection\DocBlock\DescriptionFactory), Object(phpDocumentor\Reflection\Types\Context))
#2 /.../.vscode/extensions/felixfbecker.php-intellisense-1.5.0/vendor/phpdocumentor/reflection-docblock/src/DocBlock/StandardTagFactory.php(196): call_user_func_array(Array, Array)
#3 /.../.vscode/extensions/felixfbecker.php-intellisense-1.5.0/vendor/phpdocumentor/reflection-docblock/src/DocBlock/StandardTagFactory.php(116): phpDocumentor\Reflection\DocBlock\StandardTagFactory->createTag('array  bitfield...', 'method', Object(phpDocumentor\Reflection\Types\Context))
#4 /.../.vscode/extensions/felixfbecker.php-intellisense-1.5.0/vendor/phpdocumentor/reflection-docblock/src/DocBlockFactory.php(231): phpDocumentor\Reflection\DocBlock\StandardTagFactory->create('@method array  ...', Object(phpDocumentor\Reflection\Types\Context))
#5 /.../.vscode/extensions/felixfbecker.php-intellisense-1.5.0/vendor/phpdocumentor/reflection-docblock/src/DocBlockFactory.php(96): phpDocumentor\Reflection\DocBlockFactory->parseTagBlock('@method int    ...', Object(phpDocumentor\Reflection\Types\Context))
#6 /.../.vscode/extensions/felixfbecker.php-intellisense-1.5.0/vendor/felixfbecker/language-server/src/DefinitionResolver.php(156): phpDocumentor\Reflection\DocBlockFactory->create('/**\n * Interfac...', Object(phpDocumentor\Reflection\Types\Context))
#7 /.../.vscode/extensions/felixfbecker.php-intellisense-1.5.0/vendor/felixfbecker/language-server/src/DefinitionResolver.php(115): LanguageServer\DefinitionResolver->getDocBlock(Object(Microsoft\PhpParser\Node\Statement\InterfaceDeclaration))
#8 /.../.vscode/extensions/felixfbecker.php-intellisense-1.5.0/vendor/felixfbecker/language-server/src/DefinitionResolver.php(234): LanguageServer\DefinitionResolver->getDocumentationFromNode(Object(Microsoft\PhpParser\Node\Statement\InterfaceDeclaration))
#9 /.../.vscode/extensions/felixfbecker.php-intellisense-1.5.0/vendor/felixfbecker/language-server/src/TreeAnalyzer.php(105): LanguageServer\DefinitionResolver->createDefinitionFromNode(Object(Microsoft\PhpParser\Node\Statement\InterfaceDeclaration), 'Predis\\ClientIn...')
#10 /.../.vscode/extensions/felixfbecker.php-intellisense-1.5.0/vendor/felixfbecker/language-server/src/TreeAnalyzer.php(67): LanguageServer\TreeAnalyzer->update(Object(Microsoft\PhpParser\Node\Statement\InterfaceDeclaration))
#11 /.../.vscode/extensions/felixfbecker.php-intellisense-1.5.0/vendor/felixfbecker/language-server/src/TreeAnalyzer.php(52): LanguageServer\TreeAnalyzer->collectDefinitionsAndReferences(Object(Microsoft\PhpParser\Node\SourceFileNode))
#12 /.../.vscode/extensions/felixfbecker.php-intellisense-1.5.0/vendor/felixfbecker/language-server/src/PhpDocument.php(147): LanguageServer\TreeAnalyzer->__construct(Object(Microsoft\PhpParser\Parser), '<?php\n\n/*\n * Th...', Object(phpDocumentor\Reflection\DocBlockFactory), Object(LanguageServer\DefinitionResolver), 'file:///Users/n...')
#13 /.../.vscode/extensions/felixfbecker.php-intellisense-1.5.0/vendor/felixfbecker/language-server/src/PhpDocument.php(105): LanguageServer\PhpDocument->updateContent('<?php\n\n/*\n * Th...')
#14 /.../.vscode/extensions/felixfbecker.php-intellisense-1.5.0/vendor/felixfbecker/language-server/src/PhpDocumentLoader.php(141): LanguageServer\PhpDocument->__construct('file:///Users/n...', '<?php\n\n/*\n * Th...', Object(LanguageServer\Index\Index), Object(Microsoft\PhpParser\Parser), Object(phpDocumentor\Reflection\DocBlockFactory), Object(LanguageServer\DefinitionResolver))
#15 /.../.vscode/extensions/felixfbecker.php-intellisense-1.5.0/vendor/felixfbecker/language-server/src/PhpDocumentLoader.php(120): LanguageServer\PhpDocumentLoader->create('file:///Users/n...', '<?php\n\n/*\n * Th...')
#16 [internal function]: LanguageServer\PhpDocumentLoader->LanguageServer\{closure}()
#17 /.../.vscode/extensions/felixfbecker.php-intellisense-1.5.0/vendor/sabre/event/lib/coroutine.php(70): Generator->send('<?php\n\n/*\n * Th...')
#18 /.../.vscode/extensions/felixfbecker.php-intellisense-1.5.0/vendor/sabre/event/lib/Promise.php(242): Sabre\Event\{closure}('<?php\n\n/*\n * Th...')
#19 /.../.vscode/extensions/felixfbecker.php-intellisense-1.5.0/vendor/sabre/event/lib/Loop/Loop.php(261): Sabre\Event\Promise->Sabre\Event\{closure}()
#20 /.../.vscode/extensions/felixfbecker.php-intellisense-1.5.0/vendor/sabre/event/lib/Loop/Loop.php(215): Sabre\Event\Loop\Loop->runNextTicks()
#21 /.../.vscode/extensions/felixfbecker.php-intellisense-1.5.0/vendor/sabre/event/lib/Loop/Loop.php(194): Sabre\Event\Loop\Loop->tick(true)
#22 /.../.vscode/extensions/felixfbecker.php-intellisense-1.5.0/vendor/sabre/event/lib/Loop/functions.php(122): Sabre\Event\Loop\Loop->run()
#23 /.../.vscode/extensions/felixfbecker.php-intellisense-1.5.0/vendor/felixfbecker/language-server/bin/php-language-server.php(102): Sabre\Event\Loop\run()

Thanks
Nicolas

@danherd
Copy link

danherd commented Jun 21, 2018

Looks like this has been fixed in the GO extension. Any chance we can have the same fix in this one?

microsoft/vscode-go#1662 (comment)

@adbakke
Copy link

adbakke commented Sep 20, 2019

Looks like this issue has popped up again. I wasn't having it happen at all until today. Now it's opening the window every minute or so.

@plasticmind
Copy link

Ditto.

@tabcodes
Copy link

Can confirm this as well on Linux Mint 19.2.

@cosmini
Copy link

cosmini commented Sep 22, 2019

Same problem on macOS High Sierra.

@ghighi3f
Copy link

Same problem on macOS Mojave

@felixfbecker
Copy link
Owner

Which version are you on?

@sleepinzombie
Copy link

Can confirm this issue too.
I am on Ubuntu 18.04 and PHP IntelliSense version is 2.3.13.

@TheCuda
Copy link

TheCuda commented Sep 24, 2019

Same here.

Windows 10 (Version 1809)
VS Code 1.38.1
PHP IntelliSense 2.3.13

@ivangajic
Copy link

Only solution I've found so far is to disable PHP IntelliSense

@felixfbecker
Copy link
Owner

Well is there an error in the output panel?

@TheCuda
Copy link

TheCuda commented Sep 24, 2019

While watching the behavior, I came to the conclusion that the problem might be directly related to VS code.

At least I don't get any error messages from the extension itself in the output. It just parses all PHP files and the output window gets the focus again sporadically, even if I'm typing in the terminal.

It's strange that this only seems to happen with the PHP Language Server output.

Does anyone come to the same conclusion?

@eddy147
Copy link

eddy147 commented Sep 25, 2019

@TheCuda I have indeed the same!

@felixfbecker
Copy link
Owner

There is an option revealOutputChannelOn, but it defaults to Error. So if there are in fact no errors in the output channel, it indeed sounds like a bug in VS Code.

@adummy832
Copy link

adummy832 commented Sep 26, 2019

Same here.

Windows 10 (Version 1903)
VS Code 1.38.1
PHP IntelliSense 2.3.13
Im running PHP 5.6 but the "executablePath" is on 7.1

I also disabled Xdebug from php.ini but the terminal still popping up.

  • Help > Toggle Developer Tools
[Extension Host] PHP Language Server: CRITICAL  TypeError: Return value of phpDocumentor\Reflection\Types\AbstractList::getValueType() must implement interface phpDocumentor\Reflection\Type, null returned in C:\Users\x2\.vscode\extensions\felixfbecker.php-intellisense-2.3.13\vendor\phpdocumentor\type-resolver\src\Types\AbstractList.php:63
Stack trace:
#0 C:\Users\x2\.vscode\extensions\felixfbecker.php-intellisense-2.3.13\vendor\felixfbecker\language-server\src\DefinitionResolver.php(1177): phpDocumentor\Reflection\Types\AbstractList->getValueType()
#1 C:\Users\x2\.vscode\extensions\felixfbecker.php-intellisense-2.3.13\vendor\felixfbecker\language-server\src\DefinitionResolver.php(685): LanguageServer\DefinitionResolver->getTypeFromNode(Object(Microsoft\PhpParser\Node\ForeachValue))
#2 C:\Users\x2\.vscode\extensions\felixfbecker.php-intellisense-2.3.13\vendor\felixfbecker\language-server\src\DefinitionResolver.php(404): LanguageServer\DefinitionResolver->resolveExpressionNodeToType(Object(Microsoft\PhpParser\Node\Expression\Variable))
#3 C:\Users\x2\.vscode\extensions\felixfbecker.php-intellisense-2.3.13\vendor\felixfbecker\language-server\src\DefinitionResolver.php(331): LanguageServer\DefinitionResolver->resolveMemberAccessExpressionNodeToFqn(Object(Microsoft\PhpParser\Node\Expression\MemberAccessExpression))
#4 C:\Users\x2\.vscode\extensions\felixfbecker.php-intellisense-2.3.13\vendor\felixfbecker\language-server\src\TreeAnalyzer.php(175): LanguageServer\DefinitionResolver->resolveReferenceNodeToFqn(Object(Microsoft\PhpParser\Node\Expression\MemberAccessExpression))
#5 C:\Users\x2\.vscode\extensions\felixfbecker.php-intellisense-2.3.13\vendor\felixfbecker\language-server\src\TreeAnalyzer.php(124): LanguageServer\TreeAnalyzer->collectDefinitionsAndReferences(Object(Microsoft\PhpParser\Node\Expression\MemberAccessExpression))
#6 C:\Users\x2\.vscode\extensions\felixfbecker.php-intellisense-2.3.13\vendor\felixfbecker\language-server\src\TreeAnalyzer.php(140): LanguageServer\TreeAnalyzer->traverse(Object(Microsoft\PhpParser\Node\Expression\MemberAccessExpression))
#7 C:\Users\x2\.vscode\extensions\felixfbecker.php-intellisense-2.3.13\vendor\felixfbecker\language-server\src\TreeAnalyzer.php(140): LanguageServer\TreeAnalyzer->traverse(Object(Microsoft\PhpParser\Node\Expression\AssignmentExpression))
#8 C:\Users\x2\.vscode\extensions\felixfbecker.php-intellisense-2.3.13\vendor\felixfbecker\language-server\src\TreeAnalyzer.php(136): LanguageServer\TreeAnalyzer->traverse(Object(Microsoft\PhpParser\Node\Statement\ExpressionStatement))
#9 C:\Users\x2\.vscode\extensions\felixfbecker.php-intellisense-2.3.13\vendor\felixfbecker\language-server\src\TreeAnalyzer.php(140): LanguageServer\TreeAnalyzer->traverse(Object(Microsoft\PhpParser\Node\Statement\CompoundStatementNode))
#10 C:\Users\x2\.vscode\extensions\felixfbecker.php-intellisense-2.3.13\vendor\felixfbecker\language-server\src\TreeAnalyzer.php(136): LanguageServer\TreeAnalyzer->traverse(Object(Microsoft\PhpParser\Node\Statement\ForeachStatement))
#11 C:\Users\x2\.vscode\extensions\felixfbecker.php-intellisense-2.3.13\vendor\felixfbecker\language-server\src\TreeAnalyzer.php(140): LanguageServer\TreeAnalyzer->traverse(Object(Microsoft\PhpParser\Node\Statement\CompoundStatementNode))
#12 C:\Users\x2\.vscode\extensions\felixfbecker.php-intellisense-2.3.13\vendor\felixfbecker\language-server\src\TreeAnalyzer.php(136): LanguageServer\TreeAnalyzer->traverse(Object(Microsoft\PhpParser\Node\MethodDeclaration))
#13 C:\Users\x2\.vscode\extensions\felixfbecker.php-intellisense-2.3.13\vendor\felixfbecker\language-server\src\TreeAnalyzer.php(140): LanguageServer\TreeAnalyzer->traverse(Object(Microsoft\PhpParser\Node\ClassMembersNode))
#14 C:\Users\x2\.vscode\extensions\felixfbecker.php-intellisense-2.3.13\vendor\felixfbecker\language-server\src\TreeAnalyzer.php(136): LanguageServer\TreeAnalyzer->traverse(Object(Microsoft\PhpParser\Node\Statement\ClassDeclaration))
#15 C:\Users\x2\.vscode\extensions\felixfbecker.php-intellisense-2.3.13\vendor\felixfbecker\language-server\src\TreeAnalyzer.php(58): LanguageServer\TreeAnalyzer->traverse(Object(Microsoft\PhpParser\Node\SourceFileNode))
#16 C:\Users\x2\.vscode\extensions\felixfbecker.php-intellisense-2.3.13\vendor\felixfbecker\language-server\src\PhpDocument.php(147): LanguageServer\TreeAnalyzer->__construct(Object(Microsoft\PhpParser\Parser), '<?php\n/**\n * @l...', Object(phpDocumentor\Reflection\DocBlockFactory), Object(LanguageServer\DefinitionResolver), 'file:///c:/xamp...')
#17 C:\Users\x2\.vscode\extensions\felixfbecker.php-intellisense-2.3.13\vendor\felixfbecker\language-server\src\PhpDocument.php(105): LanguageServer\PhpDocument->updateContent('<?php\n/**\n * @l...')
#18 C:\Users\x2\.vscode\extensions\felixfbecker.php-intellisense-2.3.13\vendor\felixfbecker\language-server\src\PhpDocumentLoader.php(141): LanguageServer\PhpDocument->__construct('file:///c:/xamp...', '<?php\n/**\n * @l...', Object(LanguageServer\Index\Index), Object(Microsoft\PhpParser\Parser), Object(phpDocumentor\Reflection\DocBlockFactory), Object(LanguageServer\DefinitionResolver))
#19 C:\Users\x2\.vscode\extensions\felixfbecker.php-intellisense-2.3.13\vendor\felixfbecker\language-server\src\PhpDocumentLoader.php(120): LanguageServer\PhpDocumentLoader->create('file:///c:/xamp...', '<?php\n/**\n * @l...')
#20 [internal function]: LanguageServer\PhpDocumentLoader->LanguageServer\{closure}()
#21 C:\Users\x2\.vscode\extensions\felixfbecker.php-intellisense-2.3.13\vendor\sabre\event\lib\coroutine.php(70): Generator->send('<?php\n/**\n * @l...')
#22 C:\Users\x2\.vscode\extensions\felixfbecker.php-intellisense-2.3.13\vendor\sabre\event\lib\Promise.php(242): Sabre\Event\{closure}('<?php\n/**\n * @l...')
#23 C:\Users\x2\.vscode\extensions\felixfbecker.php-intellisense-2.3.13\vendor\sabre\event\lib\Loop\Loop.php(261): Sabre\Event\Promise->Sabre\Event\{closure}()
#24 C:\Users\x2\.vscode\extensions\felixfbecker.php-intellisense-2.3.13\vendor\sabre\event\lib\Loop\Loop.php(215): Sabre\Event\Loop\Loop->runNextTicks()
#25 C:\Users\x2\.vscode\extensions\felixfbecker.php-intellisense-2.3.13\vendor\sabre\event\lib\Loop\Loop.php(194): Sabre\Event\Loop\Loop->tick(true)
#26 C:\Users\x2\.vscode\extensions\felixfbecker.php-intellisense-2.3.13\vendor\sabre\event\lib\Loop\functions.php(122): Sabre\Event\Loop\Loop->run()
#27 C:\Users\x2\.vscode\extensions\felixfbecker.php-intellisense-2.3.13\vendor\felixfbecker\language-server\bin\php-language-server.php(55): Sabre\Event\Loop\run()
#28 {main}

@felixfbecker
Copy link
Owner

@adummy832 your output specifically has an error in it, so it is not the same as discussed in the comments before

@jordanyoungs
Copy link

Been having this bug too, output pane pops up unexpectedly and shows a lot of file parsing. If closed, it will open up again in about a minute and show more parsing. Whatever is going on seems to be pretty CPU heavy because my fans always turn on at about the same time. There are no errors in the VScode developer tools console.

Windows 10 (Version 1809)
VS Code 1.38.1
PHP IntelliSense 2.3.13

@adummy832
Copy link

@felixfbecker, After parsing all of my vendor files, those are the output i get on Developer Tools.
For now disabling the extension is the only solution.

Someone already filed an issue on the actual vscode repo.
terminal output tab - autoopen problem

@acb
Copy link

acb commented Oct 3, 2019

According to this comment on the VSCode bug you can set the vscode-languageserver settings to control when the output is opened. Default is on Error, but you can also set it to Never.

My guess would be that this extension is improperly marking some messages as Error priority since this doesn't seem to happen with other extensions.

@felixfbecker tracking down the root cause of this could be tricky, but would you be able to add a setting that would change the language server output open flag to Never? That would be a good enough workaround for people who get terminal spammed every time the parser runs.

@dwelch2344
Copy link

Another helpful solution would be to provide config options (in the VSCode settings) to either include or exclude certain paths. Realize this would have to pass through to the actual language server project, but I didn't see options.

We're doing some Wordpress dev and have an entire install open in VSCode. It'd be nice to say exclude wordpress/**/*.php and include wordpress/wp-content/themes/felix-fanclub/**/*.php so we only get our theme (or whatever)

@bilogic
Copy link

bilogic commented Oct 7, 2019

Yes, I had an error

[Error - 1:55:51 AM] Request textDocument/hover failed.
  Message: TypeError: Return value of phpDocumentor\Reflection\Types\AbstractList::getValueType() must implement interface phpDocumentor\Reflection\Type, null returned in E:\vscode\x64\data\extensions\felixfbecker.php-intellisense-2.3.13\vendor\phpdocumentor\type-resolver\src\Types\AbstractList.php:63
Stack trace:
#0 E:\vscode\x64\data\extensions\felixfbecker.php-intellisense-2.3.13\vendor\felixfbecker\language-server\src\DefinitionResolver.php(1177): phpDocumentor\Reflection\Types\AbstractList->getValueType()
#1 E:\vscode\x64\data\extensions\felixfbecker.php-intellisense-2.3.13\vendor\felixfbecker\language-server\src\DefinitionResolver.php(685): LanguageServer\DefinitionResolver->getTypeFromNode(Object(Microsoft\PhpParser\Node\ForeachValue))
#2 E:\vscode\x64\data\extensions\felixfbecker.php-intellisense-2.3.13\vendor\felixfbecker\language-server\src\DefinitionResolver.php(404): LanguageServer\DefinitionResolver->resolveExpressionNodeToType(Object(Microsoft\PhpParser\Node\Expression\Variable))
#3 E:\vscode\x64\data\extensions\felixfbecker.php-intellisense-2.3.13\vendor\felixfbecker\language-server\src\DefinitionResolver.php(331): LanguageServer\DefinitionResolver->resolveMemberAccessExpressionNodeToFqn(Object(Microsoft\PhpParser\Node\Expression\MemberAccessExpression))
#4 E:\vscode\x64\data\extensions\felixfbecker.php-intellisense-2.3.13\vendor\felixfbecker\language-server\src\TreeAnalyzer.php(175): LanguageServer\DefinitionResolver->resolveReferenceNodeToFqn(Object(Microsoft\PhpParser\Node\Expression\MemberAccessExpression))
#5 E:\vscode\x64\data\extensions\felixfbecker.php-intellisense-2.3.13\vendor\felixfbecker\language-server\src\TreeAnalyzer.php(124): LanguageServer\TreeAnalyzer->collectDefinitionsAndReferences(Object(Microsoft\PhpParser\Node\Expression\MemberAccessExpression))
#6 E:\vscode\x64\data\extensions\felixfbecker.php-intellisense-2.3.13\vendor\felixfbecker\language-server\src\TreeAnalyzer.php(140): LanguageServer\TreeAnalyzer->traverse(Object(Microsoft\PhpParser\Node\Expression\MemberAccessExpression))
#7 E:\vscode\x64\data\extensions\felixfbecker.php-intellisense-2.3.13\vendor\felixfbecker\language-server\src\TreeAnalyzer.php(140): LanguageServer\TreeAnalyzer->traverse(Object(Microsoft\PhpParser\Node\Expression\CallExpression))
#8 E:\vscode\x64\data\extensions\felixfbecker.php-intellisense-2.3.13\vendor\felixfbecker\language-server\src\TreeAnalyzer.php(136): LanguageServer\TreeAnalyzer->traverse(Object(Microsoft\PhpParser\Node\Expression\ArgumentExpression))
#9 E:\vscode\x64\data\extensions\felixfbecker.php-intellisense-2.3.13\vendor\felixfbecker\language-server\src\TreeAnalyzer.php(140): LanguageServer\TreeAnalyzer->traverse(Object(Microsoft\PhpParser\Node\DelimitedList\ArgumentExpressionList))
#10 E:\vscode\x64\data\extensions\felixfbecker.php-intellisense-2.3.13\vendor\felixfbecker\language-server\src\TreeAnalyzer.php(140): LanguageServer\TreeAnalyzer->traverse(Object(Microsoft\PhpParser\Node\Expression\CallExpression))
#11 E:\vscode\x64\data\extensions\felixfbecker.php-intellisense-2.3.13\vendor\felixfbecker\language-server\src\TreeAnalyzer.php(136): LanguageServer\TreeAnalyzer->traverse(Object(Microsoft\PhpParser\Node\Expression\ArgumentExpression))
#12 E:\vscode\x64\data\extensions\felixfbecker.php-intellisense-2.3.13\vendor\felixfbecker\language-server\src\TreeAnalyzer.php(140): LanguageServer\TreeAnalyzer->traverse(Object(Microsoft\PhpParser\Node\DelimitedList\ArgumentExpressionList))
#13 E:\vscode\x64\data\extensions\felixfbecker.php-intellisense-2.3.13\vendor\felixfbecker\language-server\src\TreeAnalyzer.php(140): LanguageServer\TreeAnalyzer->traverse(Object(Microsoft\PhpParser\Node\Expression\CallExpression))
#14 E:\vscode\x64\data\extensions\felixfbecker.php-intellisense-2.3.13\vendor\felixfbecker\language-server\src\TreeAnalyzer.php(140): LanguageServer\TreeAnalyzer->traverse(Object(Microsoft\PhpParser\Node\Expression\AssignmentExpression))
#15 E:\vscode\x64\data\extensions\felixfbecker.php-intellisense-2.3.13\vendor\felixfbecker\language-server\src\TreeAnalyzer.php(136): LanguageServer\TreeAnalyzer->traverse(Object(Microsoft\PhpParser\Node\Statement\ExpressionStatement))
#16 E:\vscode\x64\data\extensions\felixfbecker.php-intellisense-2.3.13\vendor\felixfbecker\language-server\src\TreeAnalyzer.php(140): LanguageServer\TreeAnalyzer->traverse(Object(Microsoft\PhpParser\Node\Statement\CompoundStatementNode))
#17 E:\vscode\x64\data\extensions\felixfbecker.php-intellisense-2.3.13\vendor\felixfbecker\language-server\src\TreeAnalyzer.php(136): LanguageServer\TreeAnalyzer->traverse(Object(Microsoft\PhpParser\Node\Statement\ForeachStatement))
#18 E:\vscode\x64\data\extensions\felixfbecker.php-intellisense-2.3.13\vendor\felixfbecker\language-server\src\TreeAnalyzer.php(140): LanguageServer\TreeAnalyzer->traverse(Object(Microsoft\PhpParser\Node\Statement\CompoundStatementNode))
#19 E:\vscode\x64\data\extensions\felixfbecker.php-intellisense-2.3.13\vendor\felixfbecker\language-server\src\TreeAnalyzer.php(136): LanguageServer\TreeAnalyzer->traverse(Object(Microsoft\PhpParser\Node\MethodDeclaration))
#20 E:\vscode\x64\data\extensions\felixfbecker.php-intellisense-2.3.13\vendor\felixfbecker\language-server\src\TreeAnalyzer.php(140): LanguageServer\TreeAnalyzer->traverse(Object(Microsoft\PhpParser\Node\ClassMembersNode))
#21 E:\vscode\x64\data\extensions\felixfbecker.php-intellisense-2.3.13\vendor\felixfbecker\language-server\src\TreeAnalyzer.php(136): LanguageServer\TreeAnalyzer->traverse(Object(Microsoft\PhpParser\Node\Statement\ClassDeclaration))
#22 E:\vscode\x64\data\extensions\felixfbecker.php-intellisense-2.3.13\vendor\felixfbecker\language-server\src\TreeAnalyzer.php(58): LanguageServer\TreeAnalyzer->traverse(Object(Microsoft\PhpParser\Node\SourceFileNode))
#23 E:\vscode\x64\data\extensions\felixfbecker.php-intellisense-2.3.13\vendor\felixfbecker\language-server\src\PhpDocument.php(147): LanguageServer\TreeAnalyzer->__construct(Object(Microsoft\PhpParser\Parser), '<?php\n\n/*\n * Th...', Object(phpDocumentor\Reflection\DocBlockFactory), Object(LanguageServer\DefinitionResolver), 'file:///e:/proj...')
#24 E:\vscode\x64\data\extensions\felixfbecker.php-intellisense-2.3.13\vendor\felixfbecker\language-server\src\PhpDocument.php(105): LanguageServer\PhpDocument->updateContent('<?php\n\n/*\n * Th...')
#25 E:\vscode\x64\data\extensions\felixfbecker.php-intellisense-2.3.13\vendor\felixfbecker\language-server\src\PhpDocumentLoader.php(141): LanguageServer\PhpDocument->__construct('file:///e:/proj...', '<?php\n\n/*\n * Th...', Object(LanguageServer\Index\Index), Object(Microsoft\PhpParser\Parser), Object(phpDocumentor\Reflection\DocBlockFactory), Object(LanguageServer\DefinitionResolver))
#26 E:\vscode\x64\data\extensions\felixfbecker.php-intellisense-2.3.13\vendor\felixfbecker\language-server\src\PhpDocumentLoader.php(120): LanguageServer\PhpDocumentLoader->create('file:///e:/proj...', '<?php\n\n/*\n * Th...')
#27 [internal function]: LanguageServer\PhpDocumentLoader->LanguageServer\{closure}()
#28 E:\vscode\x64\data\extensions\felixfbecker.php-intellisense-2.3.13\vendor\sabre\event\lib\coroutine.php(70): Generator->send('<?php\n\n/*\n * Th...')
#29 E:\vscode\x64\data\extensions\felixfbecker.php-intellisense-2.3.13\vendor\sabre\event\lib\Promise.php(242): Sabre\Event\{closure}('<?php\n\n/*\n * Th...')
#30 E:\vscode\x64\data\extensions\felixfbecker.php-intellisense-2.3.13\vendor\sabre\event\lib\Loop\Loop.php(261): Sabre\Event\Promise->Sabre\Event\{closure}()
#31 E:\vscode\x64\data\extensions\felixfbecker.php-intellisense-2.3.13\vendor\sabre\event\lib\Loop\Loop.php(215): Sabre\Event\Loop\Loop->runNextTicks()
#32 E:\vscode\x64\data\extensions\felixfbecker.php-intellisense-2.3.13\vendor\sabre\event\lib\Loop\Loop.php(194): Sabre\Event\Loop\Loop->tick(true)
#33 E:\vscode\x64\data\extensions\felixfbecker.php-intellisense-2.3.13\vendor\sabre\event\lib\Loop\functions.php(122): Sabre\Event\Loop\Loop->run()
#34 E:\vscode\x64\data\extensions\felixfbecker.php-intellisense-2.3.13\vendor\felixfbecker\language-server\bin\php-language-server.php(55): Sabre\Event\Loop\run()
#35 {main}
  Code: -32603 

@epiphanizer
Copy link

Experiencing the same error today. A new error as of the last few days or perhaps a recent update. VSCode Version 1.39.1.

@MoseyM
Copy link

MoseyM commented Oct 18, 2019

PHP Debug by FELIX BECKER extension was causing this issue for me. I uninstalled it, no more output panel and indexing messages. Just need to find something else to use.

@jjarolim
Copy link

Hi Felix -

We do have that Problem too - Output panel reopens serveral times while parsing projects - we do mostly Symfony, Wordpress and Typo3 projects: The errors occur mostly in the CMS/Framework folders: I do have several errors in the log.

output-log-and-files.zip

I've attached a file containing all errors + files causing the errors while opening an (older) Typo3-project. There are 6 files causing errors - the errors are repeating because of the symlinked nature of the typo3 installation.

We'd prefer to keep parsing the framework/cms folders - a fix to prevent the language server to repeatably open up the output console would be nice - VSC is nearly unusable while parsing the files since the console is a massive attention-disturber :/

hope that helps -
i'm available if you need further infos!

BR from Salzburg,

  • Johannes

@JacobDB
Copy link

JacobDB commented Oct 31, 2019

I'm seeing this as well – is there an option to just turn off this "parsing" nonsense? I don't need to see the full list of every file that's being parsed.

@ahinkle
Copy link

ahinkle commented Nov 6, 2019

This continues to be an issue with no solution purposed with other issues referencing this particular one. Why is this closed? Please review #454. Thanks!

@joecot
Copy link

joecot commented Nov 7, 2019

This is also affecting me, and I can see no solution besides just disabling this extension.

@JtMotoX
Copy link

JtMotoX commented Nov 9, 2019

Getting same thing here. Disabling this extension seems to be the only fix to keep it from annoyingly popping up every couple minutes.

@bilogic
Copy link

bilogic commented Nov 10, 2019

I have 3 issues with the author's various repositories, none of them have solutions.

@maximusblade
Copy link

SOLUTION!
-> Disable the annoying extention.

@proweb
Copy link

proweb commented Nov 28, 2019

Same problem

1 similar comment
@dkornilove
Copy link

Same problem

@LogicnextShivam
Copy link

LogicnextShivam commented Dec 5, 2019

Same problem
image

@mwaterous
Copy link

mwaterous commented Dec 11, 2019

Any recommendations for extensions that work similarly without the same issue? I'm uninstalling and adding a review since this seems to be an ongoing issue that has been completely ignored. Not that it'll hurt but it's all I can do.

Edit: Found Intelephense through a similar bug report that was also ignored. Adding it here for anyone who finds this through Google.

@jjarolim
Copy link

jjarolim commented Dec 11, 2019

As far as i can see this is the only VSC language server implementation for PHP: So we're stuck with it if want to develop PHP. Intelephense just extends the functionality and doesn't replace it: Pitty that felix doesn't seem to be able to react currently.

@JacobDB
Copy link

JacobDB commented Dec 11, 2019

Honestly just ignoring everything in .gitignore would basically solve this for me, as that'd exclude composer libraries, my WordPress install, etc. It'd still be annoying for a moment, but not for nearly as long since it's only parsing my own source code. Not sure if that's the case for everyone else, but it seems like it should be a simple fix.

@jjarolim
Copy link

LOL - But then you would have only code aids for your own code. Not the optimal solution if you program in the context of a framework (laravel,symfony,...) or a cms. Additionally you would not have code aids for composer dependencies, etc. that you would not push to git either ...

I think the extension is good as it is - it only should not open the debug console if a php parse error occurs. I believe in a simple bug and no time on felix side ...

@JtMotoX
Copy link

JtMotoX commented Dec 11, 2019

I don't think felix is even aware that people are still commenting on this issue because it is closed. It would be helpful if somebody could open another issue and reference that here. This way he is aware that this issue still exists and how many people are still facing this issue.

@roelvanhintum
Copy link

roelvanhintum commented Dec 13, 2019

Solved by setting the following inside settings.json:
"php.revealOutputChannelOn": "never"

edit: Never mind. It's back...

@ahinkle
Copy link

ahinkle commented Dec 26, 2019

#454 was merged. Hallelujah

@azzazkhan
Copy link

I'm facing the same issue, the output tab opens automatically and it's really annoying.

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