Skip to content

[3.14] gh-153364: Make frame, coroutine, and task-waiter chain walks iterative and bounded (GH-153365) - #158814

Merged
pablogsal merged 1 commit into
python:3.14from
pablogsal:backport-153365-3.14
Oct 5, 2026
Merged

pablogsal merged 1 commit into
python:3.14from
pablogsal:backport-153365-3.14

Conversation

@pablogsal

@pablogsal pablogsal commented Oct 5, 2026 •

Copy link
Copy Markdown
Member

Backport of #153365 to 3.14. Adapts the walks to the monolithic remote-debugging module, preserving the existing 1,024-frame limit and tagged-pointer reads.

The external-inspection suite passes in debug and free-threaded debug builds. The new tests also skip when remote-memory access is denied.

(cherry picked from commit e0861c6)

…terative and bounded (python#153365)

* let me declare single limit

* use our new limit in process_frame_chain()

* add it in parse_async_frame_chain()

* parse_coro_chain()

* NEWS

* async in the message?

* test

* no race

* process_task_awaited_by

* process_task_awaited_by limit test

* NEWS

* MAX_TASK_WAITER_CHAIN_DEPTH

* TASK_WAITER_CHAIN_DEPTH in test

* TASK_WAITER_CHAIN_DEPTH 256

* prevent the drift with the comment

* better naming, better style

* MAX_TASK_WAITER_CHAIN_DEPTH comment

* task-waiter iterative bfs walk

* iterative coro-walk

* nicer news

* 1 << 14

* comment

* unused read_Py_ssize_t

* fix tombstones

* simplify

* correct msg

* better test

* news for tombstones

* left-over from when testing buggy version

* redundant new line

(cherry picked from commit e0861c6)
@pablogsal
pablogsal requested review from 1st1 and ambv as code owners October 5, 2026 00:10
@pablogsal
pablogsal enabled auto-merge (squash) October 5, 2026 00:10
@pablogsal
pablogsal merged commit f660816 into python:3.14 Oct 5, 2026
50 checks passed
@pablogsal
pablogsal deleted the backport-153365-3.14 branch October 5, 2026 00:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants