felixfbecker / php-language-server

PHP Implementation of the VS Code Language Server Protocol 🆚↔🖥
ISC License
1.15k stars 185 forks source link

Error on SSHFS mounted drive #579

Open h4de5 opened 6 years ago

h4de5 commented 6 years ago

Not sure if this is the right place - been sent here from the vscode-php-intellisense repository. I upgraded to the newest vscode insider version and finally got a longer error message, which maybe could help someone in charge for this extension.

I access some projects over SSHFS . On windows those directories are mounted as seperate drive (Q:) and are accessable like any other directory - just with a little delay. Only when opening a project in vscode on suche a folder, your extension says it cannot iterate over it.

This problem has been there since my first try outs on vscode (regular release) and IntelliSense indicating an error message on top of vscode, but only today, I saw the back trace which led me here.

System: Win10_x64 FCU, vscode: 1.20-insider, PHP IntelliSense 2.2.5

[Error - 15:48:18] Server initialization failed.
  Message: UnexpectedValueException: RecursiveDirectoryIterator::__construct(q:/sshfsmount/shared/staging.lts2017.orangeblue.qnipp.com,q:/sshfsmount/shared/staging.lts2017.orangeblue.qnipp.com): Die Datei oder das Verzeichnis ist kein Analysepunkt. (code: 4390) in C:\Users\myuser\.vscode-insiders\extensions\felixfbecker.php-intellisense-2.2.5\vendor\webmozart\glob\src\Iterator\RecursiveDirectoryIterator.php:43
Stack trace:
#0 C:\Users\myuser\.vscode-insiders\extensions\felixfbecker.php-intellisense-2.2.5\vendor\webmozart\glob\src\Iterator\RecursiveDirectoryIterator.php(43): RecursiveDirectoryIterator->__construct('q:/sshfsmount/sh...', 4128)
#1 C:\Users\myuser\.vscode-insiders\extensions\felixfbecker.php-intellisense-2.2.5\vendor\webmozart\glob\src\Iterator\GlobIterator.php(75): Webmozart\Glob\Iterator\RecursiveDirectoryIterator->__construct('q:/sshfsmount/sh...', 4128)
#2 C:\Users\myuser\.vscode-insiders\extensions\felixfbecker.php-intellisense-2.2.5\vendor\felixfbecker\language-server\src\FilesFinder\FileSystemFilesFinder.php(24): Webmozart\Glob\Iterator\GlobIterator->__construct('q:/sshfsmount/sh...')
#3 [internal function]: LanguageServer\FilesFinder\FileSystemFilesFinder->LanguageServer\FilesFinder\{closure}()
#4 C:\Users\myuser\.vscode-insiders\extensions\felixfbecker.php-intellisense-2.2.5\vendor\sabre\event\lib\coroutine.php(64): Generator->valid()
#5 C:\Users\myuser\.vscode-insiders\extensions\felixfbecker.php-intellisense-2.2.5\vendor\sabre\event\lib\coroutine.php(118): Sabre\Event\{closure}()
#6 C:\Users\myuser\.vscode-insiders\extensions\felixfbecker.php-intellisense-2.2.5\vendor\felixfbecker\language-server\src\FilesFinder\FileSystemFilesFinder.php(33): Sabre\Event\coroutine(Object(Closure))
#7 C:\Users\myuser\.vscode-insiders\extensions\felixfbecker.php-intellisense-2.2.5\vendor\felixfbecker\language-server\src\LanguageServer.php(204): LanguageServer\FilesFinder\FileSystemFilesFinder->find('q:/sshfsmount/sh...')
#8 [internal function]: LanguageServer\LanguageServer->LanguageServer\{closure}()
#9 C:\Users\myuser\.vscode-insiders\extensions\felixfbecker.php-intellisense-2.2.5\vendor\sabre\event\lib\coroutine.php(88): Generator->send(NULL)
#10 C:\Users\myuser\.vscode-insiders\extensions\felixfbecker.php-intellisense-2.2.5\vendor\sabre\event\lib\coroutine.php(118): Sabre\Event\{closure}()
#11 C:\Users\myuser\.vscode-insiders\extensions\felixfbecker.php-intellisense-2.2.5\vendor\felixfbecker\language-server\src\LanguageServer.php(289): Sabre\Event\coroutine(Object(Closure))
#12 C:\Users\myuser\.vscode-insiders\extensions\felixfbecker.php-intellisense-2.2.5\vendor\felixfbecker\advanced-json-rpc\lib\Dispatcher.php(164): LanguageServer\LanguageServer->initialize(Object(LanguageServer\Protocol\ClientCapabilities), 'q:\\sshfsmount\\sh...', 20320)
#13 C:\Users\myuser\.vscode-insiders\extensions\felixfbecker.php-intellisense-2.2.5\vendor\felixfbecker\language-server\src\LanguageServer.php(131): AdvancedJsonRpc\Dispatcher->dispatch(Object(AdvancedJsonRpc\Request))
#14 [internal function]: LanguageServer\LanguageServer->LanguageServer\{closure}()
#15 C:\Users\myuser\.vscode-insiders\extensions\felixfbecker.php-intellisense-2.2.5\vendor\sabre\event\lib\coroutine.php(64): Generator->valid()
#16 C:\Users\myuser\.vscode-insiders\extensions\felixfbecker.php-intellisense-2.2.5\vendor\sabre\event\lib\coroutine.php(118): Sabre\Event\{closure}()
#17 C:\Users\myuser\.vscode-insiders\extensions\felixfbecker.php-intellisense-2.2.5\vendor\felixfbecker\language-server\src\LanguageServer.php(154): Sabre\Event\coroutine(Object(Closure))
#18 C:\Users\myuser\.vscode-insiders\extensions\felixfbecker.php-intellisense-2.2.5\vendor\sabre\event\lib\EmitterTrait.php(88): LanguageServer\LanguageServer->LanguageServer\{closure}(Object(LanguageServer\Protocol\Message))
#19 C:\Users\myuser\.vscode-insiders\extensions\felixfbecker.php-intellisense-2.2.5\vendor\felixfbecker\language-server\src\ProtocolStreamReader.php(56): Sabre\Event\Emitter->emit('message', Array)
#20 C:\Users\myuser\.vscode-insiders\extensions\felixfbecker.php-intellisense-2.2.5\vendor\sabre\event\lib\Loop\Loop.php(311): LanguageServer\ProtocolStreamReader->LanguageServer\{closure}()
#21 C:\Users\myuser\.vscode-insiders\extensions\felixfbecker.php-intellisense-2.2.5\vendor\sabre\event\lib\Loop\Loop.php(233): Sabre\Event\Loop\Loop->runStreams(NULL)
#22 C:\Users\myuser\.vscode-insiders\extensions\felixfbecker.php-intellisense-2.2.5\vendor\sabre\event\lib\Loop\Loop.php(194): Sabre\Event\Loop\Loop->tick(true)
#23 C:\Users\myuser\.vscode-insiders\extensions\felixfbecker.php-intellisense-2.2.5\vendor\sabre\event\lib\Loop\functions.php(122): Sabre\Event\Loop\Loop->run()
#24 C:\Users\myuser\.vscode-insiders\extensions\felixfbecker.php-intellisense-2.2.5\vendor\felixfbecker\language-server\bin\php-language-server.php(50): Sabre\Event\Loop\run()
#25 {main}
  Code: -32603
h4de5 commented 6 years ago

this may be indeed the wrong place. I just realized, that not even a normal git status is possible on such mounted drives. this seems to be a problem in a more underlying services (winsshfs or dokany). Unless you say something different I would close this here.