Hangup when printing empty string to unbuffered stdout
未关闭
还没有人认领这个 Issue。
interpreter-core
OS-unsupported
topic-IO
type-bug
- 主要语言
- Python
- 星标
- 77.2k
- 派生
- 35.9k
- PR 合并指标
- PR 指标待抓取
描述
Crash report
What happened?
$ sudo python3 -u -c 'print(""); print("foo")'
Hangup
When printing an empty string to unbuffered stdout, under certain circumstances (e.g. when running on AIX under sudo, screen, tmux), the user session including the Python interpreter will terminate.
CPython versions tested on:
CPython main branch
Operating systems tested on:
Other
Output from running 'python -VV' on the command line:
Python 3.12.13 (main, Mar 6 2026, 03:56:12) [GCC 10.3.0]
Linked PRs
- gh-148774
贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
调研方向
首先使用无缓冲的 stdout 重现报告中的命令,重点关注 issue 中描述的 AIX、sudo、screen 和 tmux 情况。检查链接的 PR gh-148774,以及其中指出的相关 CPython stdout/write 路径。完成的标准是该命令不再终止用户会话,并且该行为由适当的回归测试覆盖。
由索引模型根据 Issue 内容生成。
评估
- 技术栈
- python
- 领域
- operating-systems
- Issue 类型
- 缺陷
- 难度
- 4/5
- 预计耗时
- 3-5 天
- 活跃度
- 停滞
- 描述清晰度
- 基本清楚
- 新手友好度
- 25/100