microsoft / microsoft/vscode-python-environments

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

Open
#1,694 1 comment 0 reactions 1 assignee Claimed by @DonJayamanne View on GitHub
Dominant language
TypeScript
Stars
138
Forks
62
Avg merge
1d 4h
Merged PRs (30d)
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.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.