python / python/cpython

test_io failed with ASAN failures (heap-use-after-free) on AMD64 Arch Linux Asan 3.13

オープン
#154,175 コメント 4 件 リアクション 1 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

tests topic-IO type-bug
主要言語
Python
スター
77.2k
フォーク
35.9k
PR マージ指標
PR 指標を取得中

説明

AMD64 Arch Linux Asan 3.13: https://buildbot.python.org/#/builders/1464/builds/1125

== CPython 3.13.14+ (heads/3.13:303d0acfcdcc, Jul 19 2026, 12:37:17) [GCC 16.1.1 20260625]
== Linux-7.0.14-arch1-1-x86_64-with-glibc2.43 little-endian
== Python build: release ASAN
== cwd: /buildbot/buildarea/3.13.pablogsal-arch-x86_64.asan/build/build/test_python_worker_1123020æ
== CPU count: 2
== encodings: locale=UTF-8 FS=utf-8
== resources: all,-network,-urlfetch
== sanitizers: address
== ASAN_OPTIONS='detect_leaks=0:allocator_may_return_null=1:handle_segv=0'

(...)

FAIL: test_daemon_threads_shutdown_stderr_deadlock (test.test_io.CMiscIOTest.test_daemon_threads_shutdown_stderr_deadlock)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/buildbot/buildarea/3.13.pablogsal-arch-x86_64.asan/build/Lib/test/test_io.py", line 4755, in test_daemon_threads_shutdown_stderr_deadlock
    self.check_daemon_threads_shutdown_deadlock('stderr')
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^
  File "/buildbot/buildarea/3.13.pablogsal-arch-x86_64.asan/build/Lib/test/test_io.py", line 4745, in check_daemon_threads_shutdown_deadlock
    self.assertFalse(err.strip('.!'))
    ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
AssertionError: '=================================================================\n
==1136209==ERROR: AddressSanitizer: heap-use-after-free on address 0x7c9453c52a58 at pc 0x555f594278c6 bp 0x7b64519fe080 sp 0x7b64519fe070\n
READ of size 8 at 0x7c9453c52a58 thread T1\n
' is not false

It seems like the test fails randomly since July 14.

Linked PRs
  • gh-157013
  • gh-157019

コントリビューションガイド

コントリビューションガイドを開く

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

調査の方向性

Lib/test/test_io.py から始め、特に check_daemon_threads_shutdown_deadlock と test_daemon_threads_shutdown_stderr_deadlock を確認し、その後、リンクされている buildbot の実行結果と ASAN trace を調べてください。さらに調査を進める前に gh-157013 と gh-157019 を確認してください。断続的に発生する ASAN heap-use-after-free によってテストが失敗しなくなれば完了です。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
python
領域
testing-qa
issue の種類
バグ
難易度
4/5
見積もり時間
3〜5日
活発さ
停滞
明瞭さ
説明が足りない
初心者へのやさしさ
25/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。