test_tracemalloc: test_tracemalloc_track_race() crashs on GHA iOS CI
オープン
まだ誰も着手していません。
interpreter-core
OS-android
OS-ios
tests
type-crash
- 主要言語
- Python
- スター
- 77.2k
- フォーク
- 35.9k
- PR マージ指標
- PR 指標を取得中
説明
Crash report
iOS: https://github.com/python/cpython/actions/runs/26457870719/job/77897032289?pr=150441
This issue is likely the same as issue gh-143143, but I'm not 100% sure so I created a separated issue.
0:11:19 load avg: 2.79 [435/505] test_tracemalloc
Fatal Python error: Segmentation fault
Current thread 0x0000000322193000 (most recent call first):
Thread 0x0000000321187000 (most recent call first):
Thread 0x000000032017b000 (most recent call first):
(...)
Thread 0x00000003100bb000 (most recent call first):
<freed thread state>
Current thread's C stack trace (most recent call first):
Binary file "/Users/runner/work/cpython/cpython/cross-build/iOS-testbed.1779809388208/DerivedData/Build/Products/Debug-iphonesimulator/Python.framework/Python", at _Py_DumpStack+0x44 [0x102407804]
Binary file "/Users/runner/work/cpython/cpython/cross-build/iOS-testbed.1779809388208/DerivedData/Build/Products/Debug-iphonesimulator/Python.framework/Python", at faulthandler_fatal_error+0x264 [0x10241e4a0]
Binary file "/usr/lib/system/libsystem_platform.dylib", at _sigtramp+0x34 [0x100a6f7e0]
Binary file "/Users/runner/work/cpython/cpython/cross-build/iOS-testbed.1779809388208/DerivedData/Build/Products/Debug-iphonesimulator/Python.framework/Python", at PyGILState_Ensure+0xf8 [0x1023eab50]
Binary file "/Users/runner/work/cpython/cpython/cross-build/iOS-testbed.1779809388208/DerivedData/Build/Products/Debug-iphonesimulator/Python.framework/Python", at PyGILState_Ensure+0xf8 [0x1023eab50]
Binary file "/Users/runner/work/cpython/cpython/cross-build/iOS-testbed.1779809388208/DerivedData/Build/Products/Debug-iphonesimulator/Python.framework/Python", at tracemalloc_alloc+0xa8 [0x1024097a4]
Binary file "/Users/runner/work/cpython/cpython/cross-build/iOS-testbed.1779809388208/DerivedData/Build/Products/Debug-iphonesimulator/Python.framework/Python", at PyGILState_Ensure+0x58 [0x1023eaab0]
Binary file "/Users/runner/work/cpython/cpython/cross-build/iOS-testbed.1779809388208/DerivedData/Build/Products/Debug-iphonesimulator/Python.framework/Python", at PyTraceMalloc_Track+0x34 [0x1024088ec]
Binary file "/Users/runner/Library/Developer/CoreSimulator/Devices/D3F1CE55-196D-4DC8-9D1F-6D2D3AB3D118/data/Containers/Bundle/Application/130788EC-7B24-4534-8FF0-89C57EC65B80/iOSTestbed.app/Frameworks/_testcapi.framework/_testcapi", at tracemalloc_track_race_thread+0x20 [0x106f251b0]
(...)
Extension modules: _testcapi, _testinternalcapi, _testlimitedcapi, _testmultiphase, _testbuffer, _ctypes_test, xxsubtype, _testsinglephase_basic_wrapper, _testsinglephase_basic_copy, _testsinglephase_with_reinit, _testsinglephase_with_state, _test_non_isolated, _test_shared_gil_only, _test_no_multiple_interpreter_slot, _testsinglephase (total: 15)
Restarting after unexpected exit, crash, or test timeout in -[TestbedTests testPython]; summary will include totals from previous launches.
コントリビューションガイド
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
調査の方向性
test_tracemalloc_track_race() から始め、リンクされた iOS GitHub Actions ジョブのクラッシュを再現します。失敗を issue gh-143143 と比較し、報告された PyGILState_Ensure、tracemalloc_alloc、PyTraceMalloc_Track のスタックフレームを調査します。race によって iOS testbed がクラッシュしなくなり、test_tracemalloc がパスすれば完了です。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- github-actions, ios, python
- 領域
- ci-cd, operating-systems, testing-qa
- issue の種類
- バグ
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 活発さ
- 静か
- 明瞭さ
- 説明が足りない
- 初心者へのやさしさ
- 35/100