You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I'm trying to navigate through the sourcecode of a hello world nuxt.js example project in wildwebdevelopers (Eclipse 2023-12). Each file I open seems to freezes the Eclipse for ten or more seconds.
I took some threaddumps: org.eclipse.lsp4e.operations.codeactions.LSPCodeActionMarkerResolution.getResolutions blocks the UI because it waits for the language server(s) to start. Can this be made a non-blocking operation or return nothing if the servers are not yet ready?
Triggered via org.eclipse.jface.text.TextViewerHoverManager:
The underlying issue seems to be the blocking call getInitializedServer().get(10, TimeUnit.SECONDS) on the UI thread through this chain when opening a source file:
I think in case of LSPCodeActionMarkerResolution the LanguageServerProjectExecutor.anyMatching() call should only match already initialized servers and not wait for just started servers still initializing.
This also means that the following javadoc statement for LanguageServerProjectExecutor.anyMatching() is currently not true, as it waits for a fully initialized server (and btw. even if LanguageServerProjectExecutor.excludeInactive() was specified):
/** * Waits if necessary for at most 50 milliseconds for getting a server... */publicbooleananyMatching() {
returngetServers().stream().filter(this::matches).findFirst().isPresent();
}
I think in case of LSPCodeActionMarkerResolution the LanguageServerProjectExecutor.anyMatching() call should only match already initialized servers and not wait for just started servers still initializing.
I think it makes sense to implement things as you're suggesting here.
I'm trying to navigate through the sourcecode of a hello world nuxt.js example project in wildwebdevelopers (Eclipse 2023-12). Each file I open seems to freezes the Eclipse for ten or more seconds.
I took some threaddumps:
org.eclipse.lsp4e.operations.codeactions.LSPCodeActionMarkerResolution.getResolutions
blocks the UI because it waits for the language server(s) to start. Can this be made a non-blocking operation or return nothing if the servers are not yet ready?Triggered via
org.eclipse.jface.text.TextViewerHoverManager
:Triggered via
org.eclipse.ui.internal.views.markers.MarkersTreeViewer.doUpdateItem
:The text was updated successfully, but these errors were encountered: