microsoft / microsoft/python-environment-tools
Non utf8 output causes panic in interpreter discovery
まだ誰も着手していません。
- 主要言語
- Rust
- スター
- 207
- フォーク
- 45
- PR マージ指標
- 30日以内にマージされた PR はありません
説明
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.
コントリビューションガイド
このリポジトリのコントリビューションガイドは索引されていません
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
調査の方向性
インタープリター検出コードで、プローブした実行可能ファイルの出力を String::from_utf8(...).unwrap() で処理している箇所を検索します。UTF-8 ではない stdout で panic が発生しないように出力処理を更新し、プローブが無効な UTF-8 を出力した場合でも検出が完了することを確認します。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- python, rust
- 領域
- tooling
- issue の種類
- バグ
- 難易度
- 2/5
- 見積もり時間
- 1〜3時間
- 活発さ
- 活発
- 明瞭さ
- おおむね明確
- 初心者へのやさしさ
- 72/100