python / python/cpython

subprocess.Popen: warnings.warn() calls missing stacklevel=2

Offen
#148,402 2 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

stdlib topic-multiprocessing type-bug
Vorherrschende Sprache
Python
Sterne
77.2k
Forks
35.9k
PR-Merge-Kennzahlen
PR-Kennzahlen ausstehend

Beschreibung

Both warnings.warn() calls in subprocess.Popen.__init__ are missing stacklevel=2:

  1. POSIX path (line 915): Warning when pass_fds overrides close_fds
  2. Windows path (line 1569): Warning when startupinfo.lpAttributeList['handle_list'] overrides close_fds

Without stacklevel=2, the warning points to an internal line inside subprocess.py rather than the caller's Popen() invocation, making it harder for users to locate the source.

PR: #148400

Linked PRs
  • gh-148400
  • gh-148668

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Beginne in subprocess.py bei den POSIX- und Windows-Aufrufen von warnings.warn(), die in den Zeilen 915 und 1569 identifiziert wurden, und prüfe PR #148400 auf bereits vorhandene Arbeiten. Die Änderung ist abgeschlossen, wenn beide Warnungen auf den Popen()-Aufruf des Callers statt auf eine interne Zeile in subprocess.py verweisen.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
python
Bereich
operating-systems
Issue-Typ
Bug
Schwierigkeit
2/5
Geschätzter Aufwand
1-3 Stunden
Aktivitätsstatus
Veraltet
Klarheit
Klar beschrieben
Anfängerfreundlichkeit
25/100

Neue Issues direkt in Ihr Postfach

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