Skip to content

Errors from task with same owner as extension don't propagate to the EH #251268

Open
@jrieken

Description

@jrieken

@jrieken, I was trying to find the source of issue, so here is what I found

First, I found that DiagnosticCollection.set is not called when kicking watch task
However, it is called from ExtHostDiagnostics.$acceptMarkersChange without entries (clearing call) when task is terminated, for not opened files URIs

So, I checked what happens in MainThreadDiagnostics._forwardMarkers and it turns out that all markers always get filtered out there (even for opened files) because typescript exists in _activeOwners, so data array doesn't get filled, and this._proxy.$acceptMarkersChange(data); is not called

However, when a file is opened, DiagnosticCollection.set is called from somewhere else (not from ExtHostDiagnostics.$acceptMarkersChange and I didn't found from where), before the MainThreadDiagnostics._forwardMarkers call

So, in conclusion, collection is feeded from somewhere by DiagnosticCollection.set for opened files, and MainThreadDiagnostics._forwardMarkers also called after that, but never transmits markers further

I wanted to check how it behaves through codespaces extension for comparison, but it doesn't connects from OSS build

Originally posted by @n-gist in #245092 (comment)

Metadata

Metadata

Labels

bugIssue identified by VS Code Team member as probable buglanguages-diagnosticsSource problems reportingtasksTask system issues

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions