dotnet / dotnet/vscode-dotnet-runtime
Legacy Deletion Code Causes Incorrect Uninstall Logic
- Dominant language
- TypeScript
- Stars
- 209
- Forks
- 455
- PR merge metrics
- No merged PRs in 30d
Description
There is a thing called the 'graveyard' which was meant to handle legacy install type objects and storage state from old extension versions that are now very old. This logic now basically does nothing as most of that has been deprecated and there are very few people on those versions. In fact, there is a weird bug where it will create an infinite set of uninstalls under certain concurrency and invalid memory state conditions with different extension versions. This should be fixed. The logic for tracking and holding a lock is also mildly faulty during uninstall since the installing state and promises are not true to what they actually do.
Contributor guide
Assessment
This issue has not been assessed yet.