microsoft / microsoft/vscode-python-environments

Diagnose native Windows process exits (0xC0000142 / 0xC0000005 / 0xC0000409) seen in extension telemetry

Ouverte
#1,694 1 commentaire 0 réactions 1 personne assignée Voir sur GitHub

@DonJayamanne y travaille déjà.

Depuis le 6/8/2026.

Langage dominant
TypeScript
Étoiles
138
Forks
62
Merge moyen
1 j 4 h
PR mergées (30 j)
35

Description

## Summary

Python Environments extension telemetry (May 25, 2026 report) shows small but real counts of native Windows process-exit codes on PET v1.33 over 7 days:

| Exit code | Meaning | Events | Machines |
| ------------ | -------------------------- | -----: | -------: |
| `0xC0000142` | DLL initialization failure | 90 | 11 |
| `0xC0000005` | Access violation | 49 | 12 |
| `0xC0000409` | Stack buffer overrun | 30 | 3 |

PET has no `panic::set_hook`, no `catch_unwind` at the JSON-RPC dispatcher, and no shutdown event. We currently cannot attribute these on our side.

## Tasks

- [ ] Pull SQM IDs from the extension team for the affected cohort.
- [ ] Cross-reference with the JSON-RPC payload right before exit (the extension may have it in the last `pet.process_restart` event).
- [ ] Once a crash hook is in place (tracked separately), wait for repro on a real machine.

## Notes

This issue is mostly **blocked on data** from the extension team. The fix — adding a panic hook and a crash sentinel JSON-RPC notification — will be a separate issue; this one tracks the diagnosis.

## Context

Filed in response to the Python Environments extension team's May 25, 2026 regression report. Volume is small (~150 events / 7d across the three codes) but the machine counts suggest a persistent crash for a subset of users rather than a one-off. Worth diagnosing now rather than after volume grows.

Guide de contribution

Ouvrir le guide de contribution

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Évaluation

Cette issue n'a pas encore été évaluée.

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.