eclipse-theia/theia

Language server of VSCode's C/C++ plugin does not stop when theia exit

Open

#5899 aperta il 9 ago 2019

Vedi su GitHub
 (12 commenti) (0 reazioni) (0 assegnatari)TypeScript (2478 fork)batch import
bugcpphelp wantedplug-in systemvscode

Metriche repository

Star
 (18.676 star)
Metriche merge PR
 (Merge medio 15g 4h) (75 PR mergiate in 30 g)

Descrizione

Description

VSCode's C/C++ plugin is working pretty well on theia now. But if one stops theia and then relaunch it, an error will be shown which says

root ERROR Uncaught Exception:  Error: ETXTBSY: text file is busy, open '/tmp/vscode-unpacked/cpptools-linux.vsix/extension/bin/Microsoft.VSCode.CPP.Extension.linux'
root ERROR Error: ETXTBSY: text file is busy, open '/tmp/vscode-unpacked/cpptools-linux.vsix/extension/bin/Microsoft.VSCode.CPP.Extension.linux'

and the plugin will not work at all. I can only have it work again either by removing /tmp/vscode-unpacked/cpptools-linux.vsix folder or by killing all the related plugin processes that run in the background even after theia is stopped.

Reproduction Steps

  1. Download master theia (in my case, the commit ID is 66976d0f29064f36f02d0090040828848da1a79e)
  2. Remove "@theia/cpp": "^0.9.0", dependency from examples/browser/package.json and compile theia
  3. Download VSCode's C/C++ plugin (https://github.com/microsoft/vscode-cpptools/releases/download/0.24.1/cpptools-linux.vsix) and put it into the plugins folder
  4. Launch theia. Open a C/C++ project and check for functions like auto-completion.
  5. Stop theia and check for the unstopped language server by running ps aux | grep CPP (linux)
  6. Re-run theia and you'll see the error information. Open a C/C++ project and you'll notice that it does not work again.

NOTE: Step 4 is necessary. If no C/C++ project is opened, the language server will stop as expected.

OS and Theia version: Ubuntu 18.04 Theia 66976d0f29064f36f02d0090040828848da1a79e

Diagnostics: No further diagnostic is available currently.

Guida contributor