This repository was archived by the owner on Oct 16, 2020. It is now read-only.
This repository was archived by the owner on Oct 16, 2020. It is now read-only.
Eaccess error on unreadable file #493
Open
Description
Current behavior:
When running the typescript server in a project where one or more files/folders are unreadable (eg. owned by a different user) the language server throws and error and stops working.
Here is the log:
ERROR Handle textDocumentDidOpen: { Error: EACCES: permission denied, scandir '/home/user/Projects/Project/unreadable-dir'
errno: -13,
code: 'EACCES',
syscall: 'scandir',
path: '/home/user/Projects/Project/unreadable-dir' }
ERROR Handler for textDocument/completion failed: { Error: EACCES: permission denied, scandir '/home/user/Projects/Project/unreadable-dir'
errno: -13,
code: 'EACCES',
syscall: 'scandir',
path: '/home/user/Projects/Project/unreadable-dir' }
Message: { jsonrpc: '2.0',
method: 'textDocument/completion',
params:
{ position: { character: 1, line: 17 },
textDocument: { uri: 'file:///home/user/Projects/Project/unreadable-dir/unreadable-file.js' } },
id: 22 }
ERROR Handler for textDocument/completion failed: { Error: EACCES: permission denied, scandir '/home/user/Projects/Project/unreadable-dir'
errno: -13,
code: 'EACCES',
syscall: 'scandir',
path: '/home/user/Projects/Project/unreadable-dir' }
Message: { jsonrpc: '2.0',
method: 'textDocument/completion',
params:
{ position: { character: 2, line: 17 },
textDocument: { uri: 'file:///home/user/Projects/Project/unreadable-dir/unreadable-file.js' } },
id: 25 }
ERROR Handler for textDocument/completion failed: { Error: EACCES: permission denied, scandir '/home/user/Projects/Project/unreadable-dir'
errno: -13,
code: 'EACCES',
syscall: 'scandir',
path: '/home/user/Projects/Project/unreadable-dir' }
Message: { jsonrpc: '2.0',
method: 'textDocument/completion',
params:
{ position: { character: 3, line: 17 },
textDocument: { uri: 'file:///home/user/Projects/Project/unreadable-dir/unreadable-file.js' } },
id: 26 }
ERROR Handler for textDocument/rename failed: { Error: EACCES: permission denied, scandir '/home/user/Projects/Project/unreadable-dir'
errno: -13,
code: 'EACCES',
syscall: 'scandir',
path: '/home/user/Projects/Project/unreadable-dir' }
Message: { jsonrpc: '2.0',
method: 'textDocument/rename',
params:
{ newName: 'fse',
position: { character: 0, line: 17 },
textDocument: { uri: 'file:///home/user/Projects/Project/unreadable-dir/unreadable-file.js' } },
id: 29 }
ERROR Handle textDocumentDidSave: { Error: EACCES: permission denied, scandir '/home/user/Projects/Project/unreadable-dir'
errno: -13,
code: 'EACCES',
syscall: 'scandir',
path: '/home/user/Projects/Project/unreadable-dir' }
ERROR Handle textDocumentDidSave: { Error: EACCES: permission denied, scandir '/home/user/Projects/Project/unreadable-dir'
errno: -13,
code: 'EACCES',
syscall: 'scandir',
path: '/home/user/Projects/Project/unreadable-dir' }
ERROR Handle textDocumentDidSave: { Error: EACCES: permission denied, scandir '/home/user/Projects/Project/unreadable-dir'
errno: -13,
code: 'EACCES',
syscall: 'scandir',
path: '/home/user/Projects/Project/unreadable-dir' }
Expected behavior:
Resume normal operation and possibly print a warning.
Steps to reproduce:
1. Open an existing typescript project
2. Create a file and a folder
`mkdir -p unreadable-dir && touch unreadable-dir/unreadable-file.js`
3. Change ownership
`sudo chown root:root -R unreadable-dir && sudo chmod -R 0700 unreadable-dir`
Additional info:
OS: Antergos Linux
Editor: Neovim v0.3.1
Language client: github.com/autozimu/LanguageClient-neovim
Typescript langserver version: v2.9.4
Command: javascript-typescript-stdio --logfile /tmp/langclient.txt