Non utf8 output causes panic in interpreter discovery

Offen Anfängerfreundlich
#525 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Bewertung

Schwierigkeit
2/5
Geschätzter Aufwand
1-3 Stunden
Anfängerfreundlichkeit
72/100
Issue-Typ
Bug
Klarheit
Größtenteils klar
Aktivitätsstatus
Aktiv
Tech-Stack
python, rust
Bereich
tooling

Rechercherichtung

Durchsuche den Code zur Interpreter-Erkennung nach der Behandlung der Ausgabe des geprüften ausführbaren Programms mit String::from_utf8(...).unwrap(). Aktualisiere die Ausgabebehandlung so, dass stdout mit nicht-UTF-8-kodiertem Inhalt keinen Panic auslöst, und verifiziere anschließend, dass die Erkennung abgeschlossen wird, wenn eine Prüfung ungültiges UTF-8 ausgibt.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

On some machines (as detected by Zed crash telemetry), toolchain discovery panics because a probed executable’s stdout is not valid UTF-8.

For example, we received:

b"\xCE\xC4\xBC\xFE\xB2\xBB\xB4\xE6\xD4\xDA: E:\\<redacted>\\-c\r\n"

This (according to my LLM) is GBK-encoding of 文件不存在: E:\<redacted>\-c, “File does not exist.”

I'm not sure why the executable appears to interpret -c as a filename, but I don't think we should panic on its output. Using String::from_utf8_lossy instead of String::from_utf8(...).unwrap() should address this.

Vorherrschende Sprache
Rust
Sterne
207
Forks
45
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beitragsleitfaden

Für dieses Repository ist kein Beitragsleitfaden indexiert

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus microsoft/python-environment-tools

Alle Issues in microsoft/python-environment-tools

Ähnliche Issues

Weitere Issues zu Rust

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.