python / python/cpython

[Windows] I/O on a broken pipe may raise an EINVAL OSError instead of BrokenPipeError

Open
#79,935 6 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

3.10 3.8 (EOL) 3.9 (EOL) interpreter-core OS-windows topic-IO type-bug
Dominant language
Python
Stars
77.2k
Forks
36k
Avg merge
1d 9h
Merged PRs (30d)
558

Description

BPO 35754
Nosy @pfmoore, @tjguk, @zware, @eryksun, @zooba

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 2019-01-16.21:33:08.638>
labels = ['interpreter-core', 'type-bug', '3.8', '3.9', 'expert-IO', '3.10', 'OS-windows']
title = '[Windows] I/O on a broken pipe may raise an EINVAL OSError instead of BrokenPipeError'
updated_at = <Date 2021-03-22.00:14:18.586>
user = 'https://bugs.python.org/jimbo1qaz'

bugs.python.org fields:

activity = <Date 2021-03-22.00:14:18.586>
actor = 'eryksun'
assignee = 'none'
closed = False
closed_date = None
closer = None
components = ['Interpreter Core', 'Windows', 'IO']
creation = <Date 2019-01-16.21:33:08.638>
creator = 'jimbo1qaz_'
dependencies = []
files = []
hgrepos = []
issue_num = 35754
keywords = []
message_count = 4.0
messages = ['333792', '333793', '333814', '389266']
nosy_count = 6.0
nosy_names = ['paul.moore', 'tim.golden', 'zach.ware', 'eryksun', 'steve.dower', 'jimbo1qaz_']
pr_nums = []
priority = 'normal'
resolution = None
stage = None
status = 'open'
superseder = None
type = 'behavior'
url = 'https://bugs.python.org/issue35754'
versions = ['Python 3.8', 'Python 3.9', 'Python 3.10']

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

The issue concerns Windows I/O in Python's interpreter core, but it names no source files, tests, or reproduction steps. Start by reviewing the linked BPO issue and locating the Windows broken-pipe error handling; done means broken-pipe I/O consistently raises BrokenPipeError rather than an EINVAL OSError, with regression coverage.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
operating-systems
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
32/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.