Skip to content

Conversation

@testforstephen
Copy link
Contributor

Fix #954

@testforstephen
Copy link
Contributor Author

Screen.Recording.2022-06-20.at.14.36.02.mov

cc:// @rgrunber

sendInfo("", {
name: "corrupted-cache",
});
const ans = await vscode.window.showErrorMessage("A corrupted Java extension cache has been detected, please try to \"Clean Workspace\".",
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should the quoted Clean Workspace be considered as a noun?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I just reword the notification message as follows:

image

@rgrunber
Copy link

Nice. Not sure if that exception is always present for a corrupted workspace but if it's what you're generally seeing, this should help. A log watching facility on the client/server logs with appropriate API for consumers to subscribe (eg. for telemetry) probably belongs in vscode-java though. Down the road, it would be good to look into moving it, if possible.

@testforstephen
Copy link
Contributor Author

Nice. Not sure if that exception is always present for a corrupted workspace but if it's what you're generally seeing, this should help. A log watching facility on the client/server logs with appropriate API for consumers to subscribe (eg. for telemetry) probably belongs in vscode-java though. Down the road, it would be good to look into moving it, if possible.

This exception "org.eclipse.core.internal.dtree.ObjectNotFoundException" is a known exception when the workspace cache is not saved correctly. Also we only check this when the language server fails to start, so it's safe for me to pop up a message to clean the workspace.

Here, the daemon simply treats the Java Language Server as a black box and uses a whitelist to check logs to monitor its state. I believe the language server itself could have a more systematic way to reflect its state. At the moment, when the language server fails to startup, the language status icon is always spinning and didn't show the correct state.

@Eskibear Eskibear merged commit 49cb181 into microsoft:main Jun 27, 2022
@testforstephen testforstephen deleted the jinbo_cache branch June 27, 2022 08:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

FrameworkEvent ERROR / Application error

4 participants