eclipse-theia/theia

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

Open

#5,899 建立於 2019年8月9日

在 GitHub 查看
 (12 留言) (0 反應) (0 負責人)TypeScript (18,676 star) (2,478 fork)batch import
bugcpphelp wantedplug-in systemvscode

描述

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.

貢獻者指南

Language server of VSCode's C/C++ plugin does not stop when theia exit · eclipse-theia/theia#5899 | Good First Issue