[Bug]: Proton Python 的内部 fd 闭环
Maintainers usually reply within 2 days
@LaurenIsACoder is already working on this.
Since Sep 3, 2026.
Assessment
This issue has not been assessed yet.
Description
Bug Description / 错误描述
启动 Magicraft(AppID 2103140)时,Proton 的 x86_64 Python 尚未进入 Wine,进程卡在关闭文件描述符的循环中。宿主侧跟踪反复观察到:
getdents64(3, ...)
fcntl(4, F_DUPFD_CLOEXEC, 0) = 5
close(4)
...
fcntl(5, F_DUPFD_CLOEXEC, 0) = 4
close(5)
LAT 为 prctl_mm_exe_fd 保留的身份 fd 会被 Python 的 close_fds 扫描到。guest_exe_identity_relocate() 随后把它复制到另一个 fd;Python 再次扫描并关闭新 fd,形成 4 与 5 的无限迁移。
Environment Information / 环境信息
OS: [e.g., Loongnix, etc.]
操作系统: Debian 13
Kernel Version: [e.g., 5.4.0, etc.]
Linux 内核版本: Linux debian 6.12.107+deb13-loong64
GCC Version: [e.g., 9.3.0, etc.]
GCC 版本: 14.2.0
GLIBC Version: [e.g., 2.31, etc.]
GLIBC 版本: 2.41
LAT Version / Commit Hash: [e.g., 1.6.0, abc1234, etc.]
LAT 版本号 / 提交 Hash: 310b34e2425ea325b1654f3e562f0eb2649a667b
Steps to Reproduce / 重现步骤
以 LAT x86_64 启动 Proton 运行时的 Python,并由它创建子进程
import subprocess
subprocess.run(["/bin/true"], check=True)
单独运行 Python 正常;加入 subprocess.run() 就稳定卡住
Expected Behavior / 预期行为
以 LAT x86_64 启动 Proton 运行时的 Python,并由它创建子进程,能够正常返回。
Actual Behavior / 实际行为
No response
Screenshots or Logs / 截图或日志
No response
Severity / 严重性
Medium / 中
Additional Information / 附加信息
No response
- Dominant language
- C
- Stars
- 246
- Forks
- 64
- Avg merge
- 2d 1h
- Merged PRs (30d)
- 19
Getting set up
This project ships no dev container, Dockerfile or contributing guide, so setting up is up to you: start from its README, and see our first-contribution guide for the general steps.
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from lat-opensource/lat
-
[Bug] LATX_MT=1/2 aborts immediately on x86_64 (itemp register exhausted, SIGTRAP)Possibly taken @xiezyang claimed this today. Open
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
lat-opensource/lat#524 · 2 comments ·
Maintainers usually reply within 2 days
-
Difficulty 5/5 Over a week Newbie friendliness 30/100
lat-opensource/lat#523 · 3 comments ·
Maintainers usually reply within 2 days
-
[Bug]: linux 微信无法启动May be free again @LaurenIsACoder claimed this 52 days ago, and no pull request is open. Openbug
lat-opensource/lat#465 · 1 assignee ·
Maintainers usually reply within 2 days
-
[Bug]: Syringe.exe (injector of a Yuri's Revenge expansion platform called Ares) cannot workMay be free again @LaurenIsACoder claimed this 80 days ago, and no pull request is open. Openbug
lat-opensource/lat#380 · 2 comments · 1 assignee ·
Maintainers usually reply within 2 days
-
Difficulty 4/5 3-5 days Newbie friendliness 15/100
lat-opensource/lat#374 ·
Maintainers usually reply within 2 days
All issues in lat-opensource/lat
Similar issues
-
dependency component: oneMKL module: dpclang
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
intel/torch-xpu-ops#5880 ·
Maintainers usually reply within 2 days
-
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
Maintainers usually reply within 1 day
-
CVE-2026-111497Open
Difficulty 1/5 Under an hour Newbie friendliness 82/100
fink/fink-distributions#1322 ·
-
Difficulty 1/5 Under an hour Newbie friendliness 83/100
openvehicles/Open-Vehicle-Monitoring-System-3#1563 ·
Maintainers usually reply within 2 days
-
Difficulty 2/5 1-3 hours Newbie friendliness 65/100