python / python/cpython

`test_capi`: `test_threadstate_set_stack_protection` is flaky on Azure CI

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

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

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

説明

Bug report

Bug description:

test.test_capi.test_misc.Test_testinternalcapi.test_threadstate_set_stack_protection fails on Azure Pipeline.

For example in this run https://dev.azure.com/Python/cpython/_build/results?buildId=173303:

test_threadstate_set_stack_protection (test.test_capi.test_misc.Test_testinternalcapi.test_threadstate_set_stack_protection) ... Assertion failed: ts->c_stack_soft_limit < ts->c_stack_top, file D:\a\1\s\Modules\_testinternalcapi.c, line 3045
Fatal Python error: Aborted

Current thread 0x000011f0 (most recent call first):
  File "D:\a\1\s\Lib\unittest\case.py", line 637 in _callTestMethod
  File "D:\a\1\s\Lib\unittest\suite.py", line 122 in run
  File "D:\a\1\s\Lib\unittest\suite.py", line 84 in __call__
  File "D:\a\1\s\Lib\unittest\runner.py", line 256 in run
  File "D:\a\1\s\Lib\test\libregrtest\single.py", line 84 in _run_suite
  File "D:\a\1\s\Lib\test\libregrtest\single.py", line 42 in run_unittest
  File "D:\a\1\s\Lib\test\libregrtest\single.py", line 162 in test_func
  File "D:\a\1\s\Lib\test\libregrtest\single.py", line 118 in regrtest_runner
  File "D:\a\1\s\Lib\test\libregrtest\single.py", line 165 in _load_run_test
  File "D:\a\1\s\Lib\test\libregrtest\single.py", line 210 in _runtest_env_changed_exc
  File "D:\a\1\s\Lib\test\libregrtest\single.py", line 319 in _runtest
  File "D:\a\1\s\Lib\test\libregrtest\single.py", line 348 in run_single_test
  File "D:\a\1\s\Lib\test\libregrtest\worker.py", line 99 in worker_process
  File "D:\a\1\s\Lib\test\libregrtest\worker.py", line 137 in main
  File "D:\a\1\s\Lib\test\libregrtest\worker.py", line 141 in <module>
  File "<frozen runpy>", line 87 in _run_code
  File "<frozen runpy>", line 201 in _run_module_as_main

Current thread's C stack trace (most recent call first):
  <cannot get C stack on this system>

Extension modules: _testcapi, _testlimitedcapi, _testinternalcapi, _testmultiphase, _testsinglephase, _testbuffer (total: 6)
CPython versions tested on:

CPython main branch

Operating systems tested on:

Windows

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

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

はじめの一歩

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

調査の方向性

test.test_capi.test_misc.Test_testinternalcapi.test_threadstate_set_stack_protection から始め、Azure Windows の assertion が失敗する Modules/_testinternalcapi.c の 3045 行付近を調べます。Azure 環境で指定されたテストを再現し、関係する stack-limit の値を追跡します。テストが assertion failure なしで Azure 上で安定してパスすれば完了です。

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

評価

技術スタック
azure, c, python
領域
ci-cd, operating-systems, testing-qa
issue の種類
バグ
難易度
4/5
見積もり時間
3〜5日
活発さ
静か
明瞭さ
おおむね明確
初心者へのやさしさ
48/100

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

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