-
Notifications
You must be signed in to change notification settings - Fork 29.2k
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
Explore extension host error spamming the core #22804
Comments
I created an extension (see https://github.com/kieferrm/vscode-22804). It provides the following commands: The idea behind those commands are that an extension does not intentionally try to behave badly but that it is an unintentional outcome of how it is implemented. For example, it produces tons of output, exceptions, problems, etc. Findings so far ordered by severity:
|
//cc @jrieken |
cc @isidorn for the output freeze which might be due to excessive (text) model updating and @sandy081 for the diagnostics view.
@kieferrm There should be some guard that we don't produce too many diagnostics per resource but those checks are easy to around |
We had previous issue reports regarding the slow output and we are currently already protecting ourselfs from excessive text model updating. More details can be found in this issue which also links to some other related issues #12265 |
If I remember we fixed this performance issue with diagnostics when the extension created too many diagnostics - #11976. I will investigate the root-cause of the issue happening here |
For crazy diagnostics we spend most time in receiving, esp parsing, data... @sandy081 is off the hook ;-) |
@jrieken and me have improved the performance of appending to output channels by reducing the number of creating new strings. We now use a data structure which handles appending a compute a delta of an output in a more efficent way. |
Explore if the extension host can bring down the core using the API or through errors.
The text was updated successfully, but these errors were encountered: