[P2] Windows interop-only System.String hover can exceed the unchanged request deadline
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 35/100
- Tipo di issue
- Bug
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Attiva
- Stack tecnologico
- csharp, node.js, typescript
- Ambito
- backend-api-design, testing
Direzione di ricerca
Start with the retained CI editor-contract artifact and scripts/test-analysis-snapshots.mjs; compare the interop-only hover request path with the successful local replay logs under artifacts/p3-checker/final-f9-ci/. If the timeout recurs, collect wire traffic, per-request server phase timings, and process stacks to determine whether metadata or diagnostics block the request or it is dispatched without a response. Done means the cause is supported by adequate evidence while preserving the existing 20-second guard and assertions.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Windows editor-contract CI encountered one unexplained interop-only hover timeout. The cause has not been established; no source fix or deadline change is claimed.
Observed on PR #3487 head f9d85818835fd5b341749db1e2a9d208e984f1b2, CI run 41808128148, Windows editor-contract job 126501449355. The GitHub PR merge checkout was a758523ac5d892f31bb28fb227647dc5946fe68b. Host: windows-2025, Node 22.23.2, .NET runtime 10.0.14 / SDK10.0.403.
scripts/test-analysis-snapshots.mjs completed its full-language phase, then created a fresh --language-features interop-only server. Initialize succeeded. It sent didOpen for:
@DotNetType("System.String")
declare class NetString {}
The immediately following textDocument/hover at line0, character4 reached the unchanged 20,000ms client timeout with empty server stderr. The entire fixture ran 29.31seconds (09:36:21.363 to09:36:50.674 UTC); the finally shutdown did not add another20second timeout. The client does not send cancellation on timeout. Later semantic-hover, completion, signature, reference/rename, formatting and packaged-server suites passed in the same job.
Investigation:
- Source tracing covers didOpen/document capture, hover routing, request guard, shared metadata provider, loader snapshot locking and XML-doc sidecar reads. This interop route does not use semantic-hover analysis. No deadlock, dropped response, or slow operation has been reproduced or established.
- Three bounded fresh-process replays of the unchanged original fixture passed locally, with its20second timeout unchanged: interop hover553.85,516.56,569.32ms. No further repetition was performed.
- These replays used the retained same-checkout packaged LSP, not the missing original raw failing DLL. Package DLL SHA256
18357cc829fec8512add2c757549b543f70b8e7e62083e7192d9a9e5b73bfffe, ProductVersion0.0.0-alpha.0+a758523ac5d892f31bb28fb227647dc5946fe68b. Original fixture executed the raw build output before packaging; its byte identity cannot be proved from the retained artifacts. - A separate cold API probe of that packaged DLL measured metadata Capture113.3ms, System.String resolution2.38ms, XML summary218.45ms, RefreshGeneration3.22ms, complete generation0 with no project references. The reflection probe used PowerShell's .NET10.0.11, which differs from CI10.0.14. Local successful timings do not explain or invalidate the CI failure.
Evidence is retained in the original CI editor-contract artifact, including index/environment, empty analysis stdout, timeout stderr and generated workspace. The artifact does not include wire traffic, per-request server phase timing, raw failing DLL, or process stacks. Diagnostic local receipts are retained under artifacts/p3-checker/final-f9d-ci/ (analysis-request-probe.ndjson, three normal replay logs, cold-metadata-probe.json, original job log and downloaded artifact).
Follow-up: identify whether the request is blocked in metadata/diagnostics or dispatched without a response using adequate phase/wire/stack evidence if it recurs. Preserve the20second request guard, existing assertions, workload and CI budgets. No retry, suppression or deadline increase is a fix for this unresolved finding.
- Lingua principale
- C#
- Stelle
- 156
- Fork
- 4
- Merge medio
- 15h 35m
- PR unite (30g)
- 43
Preparare l'ambiente
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di nickna/SharpTS
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 57/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 58/100
I maintainer di solito rispondono entro 1 giorno
-
Compiled strict async function declarations lack the throwing callee accessorForse già presa @nickna l’ha presa oggi. Aperta
Difficoltà 3/5 1-2 giorni Idoneità per principianti 35/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 55/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 69/100
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di nickna/SharpTS
Issue simili
-
Assert.That on a null non-generic IEnumerable throws ArgumentNullException, so IsNull() cannot passApertabug P2
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
I maintainer di solito rispondono entro 1 giorno
-
area/automation area/sdk kind/bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
unoplatform/uno.templates#2406 ·
I maintainer di solito rispondono entro 1 giorno
-
bug frontend ui
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
I maintainer di solito rispondono entro 1 giorno
-
agentic-workflows
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
I maintainer di solito rispondono entro 1 giorno
-
documentation trivial
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
I maintainer di solito rispondono entro 1 giorno