python / python/cpython

sock.close() raises OSError EBADF when socket's fd is closed

Offen
#73,529 6 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

3.10 3.11 3.9 (EOL) stdlib topic-socket type-bug
Vorherrschende Sprache
Python
Sterne
77.2k
Forks
36k
PR-Merge-Kennzahlen
PR-Kennzahlen ausstehend

Beschreibung

BPO 29343
Nosy @pitrou, @tiran, @vadmium, @1st1

Note: these values reflect the state of the issue at the time it was migrated and might not reflect the current state.

Show more details

GitHub fields:

assignee = None
closed_at = None
created_at = <Date 2017-01-22.12:11:57.166>
labels = ['type-bug', 'library', '3.9', '3.10', '3.11']
title = "sock.close() raises OSError EBADF when socket's fd is closed"
updated_at = <Date 2021-10-21.12:04:09.562>
user = 'https://github.com/tiran'

bugs.python.org fields:

activity = <Date 2021-10-21.12:04:09.562>
actor = 'christian.heimes'
assignee = 'none'
closed = False
closed_date = None
closer = None
components = ['Library (Lib)']
creation = <Date 2017-01-22.12:11:57.166>
creator = 'christian.heimes'
dependencies = []
files = []
hgrepos = []
issue_num = 29343
keywords = ['3.6regression']
message_count = 6.0
messages = ['286004', '286009', '286010', '286121', '286132', '404589']
nosy_count = 5.0
nosy_names = ['pitrou', 'christian.heimes', 'neologix', 'martin.panter', 'yselivanov']
pr_nums = []
priority = 'normal'
resolution = None
stage = None
status = 'open'
superseder = None
type = 'behavior'
url = 'https://bugs.python.org/issue29343'
versions = ['Python 3.9', 'Python 3.10', 'Python 3.11']

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 am Einstiegspunkt socket.close() und reproduziere das EBADF-Verhalten, wenn der Dateideskriptor des Sockets bereits geschlossen wurde. Verfolge die relevante Socket-Behandlung der Standardbibliothek und füge einen fokussierten Regressionstest für dieses Szenario hinzu. Als erledigt gilt die Aufgabe, wenn der Test das beabsichtigte Schließverhalten erfasst, ohne andere Socket-Fälle zu ändern.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
python
Bereich
networking
Issue-Typ
Bug
Schwierigkeit
3/5
Geschätzter Aufwand
1-2 Tage
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
35/100

Neue Issues direkt in Ihr Postfach

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