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

Duplicate language server results when installing a second language plugin #6186

Closed
JPinkney opened this issue Sep 13, 2019 · 2 comments · Fixed by #6159
Closed

Duplicate language server results when installing a second language plugin #6186

JPinkney opened this issue Sep 13, 2019 · 2 comments · Fixed by #6159
Assignees
Labels
bug bugs found in the application plug-in system issues related to the plug-in system vscode issues related to VSCode compatibility

Comments

@JPinkney
Copy link
Contributor

JPinkney commented Sep 13, 2019

Description

When you have a java file and an xml file open in the workspace, then install redhat.vscode-xml followed by redhat.java there is duplicate results from the java language server. It also works in the inverse, if you have both java and an xml file open in the workspace then install redhat.java then redhat.vscode-xml you'll get duplicates from the xml language server.

I'm not using @theia/java or @theia/java-debug in my package.json.

Reproduction Steps

Open a project and create and open a java file and an xml file. Install redhat.vscode-xml and then redhat.java. From inside of the xml file you just created, try doing document symbols. Everything should be working correctly. Then in the java file try doing document symbols and you should see duplicate results.

Video: https://youtu.be/d_NSbRV38BI

OS and Theia version:
Both OS x and Fedora 30 on master

Diagnostics:

I'm getting

root ERROR onWillSave listeners should provide edits, not directly alter the document.

and

rpc-protocol.ts:224 Uncaught (in promise) Error: Assertion failed (document 'file:///home/joshpinkney/Documents/Work/console-java-simple/src/main/java/org/eclipse/che/examples/test.xml' already exists!)
    at Object.ok (:3000/home/joshpinkney/Documents/Test/theia/packages/plugin-ext/lib/common/assert.js:21)
    at EditorsAndDocumentsExtImpl.$acceptEditorsAndDocumentsDelta (:3000/home/joshpinkney/Documents/Test/theia/packages/plugin-ext/lib/plugin/editors-and-documents.js:81)
    at RPCProtocolImpl.doInvokeHandler (:3000/home/joshpinkney/Documents/Test/theia/packages/plugin-ext/lib/common/rpc-protocol.js:207)
    at RPCProtocolImpl.invokeHandler (:3000/home/joshpinkney/Documents/Test/theia/packages/plugin-ext/lib/common/rpc-protocol.js:192)
    at RPCProtocolImpl.receiveRequest (:3000/home/joshpinkney/Documents/Test/theia/packages/plugin-ext/lib/common/rpc-protocol.js:154)
    at RPCProtocolImpl.receiveOneMessage (:3000/home/joshpinkney/Documents/Test/theia/packages/plugin-ext/lib/common/rpc-protocol.js:123)
    at :3000/home/joshpinkney/Documents/Test/theia/packages/plugin-ext/lib/common/rpc-protocol.js:55
    at :3000/home/joshpinkney/Documents/Test/theia/packages/plugin-ext/lib/common/rpc-protocol.js:233
    at :3000/home/joshpinkney/Documents/Test/theia/packages/core/lib/common/event.js:162
    at CallbackList.invoke (:3000/home/joshpinkney/Documents/Test/theia/packages/core/lib/common/event.js:177)

in the console.

@akosyakov akosyakov added bug bugs found in the application plug-in system issues related to the plug-in system vscode issues related to VSCode compatibility labels Sep 16, 2019
@akosyakov
Copy link
Member

@JPinkney please try whether it is reproducible against #6159 I found a bug that we spawn many plugin host processes for the same host and it was fixed there.

@JPinkney
Copy link
Contributor Author

@akosyakov Yeah that fixes it!

@akosyakov akosyakov self-assigned this Sep 19, 2019
akosyakov added a commit that referenced this issue Sep 19, 2019
Also:
- fix #5829: ensure that each plugin is loaded only once
- fix #6186: start only one plugin host process for the same host instead of a new for each load as before
- revert #5257: Reconnect same host plugin process and client" 797db75

Signed-off-by: Anton Kosiakov <anton.kosyakov@typefox.io>
akosyakov added a commit that referenced this issue Sep 19, 2019
Also:
- fix #5829: ensure that each plugin is loaded only once
- fix #6186: start only one plugin host process for the same host instead of a new for each load as before
- revert #5257: Reconnect same host plugin process and client" 797db75

Signed-off-by: Anton Kosiakov <anton.kosyakov@typefox.io>
akosyakov added a commit that referenced this issue Sep 19, 2019
Also:
- fix #5829: ensure that each plugin is loaded only once
- fix #6186: start only one plugin host process for the same host instead of a new for each load as before
- revert #5257: Reconnect same host plugin process and client" 797db75

Signed-off-by: Anton Kosiakov <anton.kosyakov@typefox.io>
akosyakov added a commit that referenced this issue Sep 20, 2019
Also:
- fix #5829: ensure that each plugin is loaded only once
- fix #6186: start only one plugin host process for the same host instead of a new for each load as before
- revert #5257: Reconnect same host plugin process and client" 797db75

Signed-off-by: Anton Kosiakov <anton.kosyakov@typefox.io>
akosyakov added a commit that referenced this issue Sep 20, 2019
Also:
- fix #5829: ensure that each plugin is loaded only once
- fix #6186: start only one plugin host process for the same host instead of a new for each load as before
- revert #5257: Reconnect same host plugin process and client" 797db75

Signed-off-by: Anton Kosiakov <anton.kosyakov@typefox.io>
akosyakov added a commit that referenced this issue Sep 20, 2019
Also:
- fix #5829: ensure that each plugin is loaded only once
- fix #6186: start only one plugin host process for the same host instead of a new for each load as before
- revert #5257: Reconnect same host plugin process and client" 797db75

Signed-off-by: Anton Kosiakov <anton.kosyakov@typefox.io>
akosyakov added a commit that referenced this issue Sep 22, 2019
Also:
- fix #5829: ensure that each plugin is loaded only once
- fix #6186: start only one plugin host process for the same host instead of a new for each load as before
- revert #5257: Reconnect same host plugin process and client" 797db75

Signed-off-by: Anton Kosiakov <anton.kosyakov@typefox.io>
akosyakov added a commit to akosyakov/theia that referenced this issue Feb 24, 2020
Also:
- fix eclipse-theia#5829: ensure that each plugin is loaded only once
- fix eclipse-theia#6186: start only one plugin host process for the same host instead of a new for each load as before
- revert eclipse-theia#5257: Reconnect same host plugin process and client" 797db75

Signed-off-by: Anton Kosiakov <anton.kosyakov@typefox.io>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug bugs found in the application plug-in system issues related to the plug-in system vscode issues related to VSCode compatibility
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants