https://github.com/python/cpython/commit/63cc1257db468a368d64c0b968d203a0f4c7303a commit: 63cc1257db468a368d64c0b968d203a0f4c7303a branch: main author: Bartosz Sławecki <[email protected]> committer: pablogsal <[email protected]> date: 2026-01-17T19:16:12-05:00 summary:
gh-143952: Fix asyncio tools to work with the new remote debugging API (#143954)
files:
A Misc/NEWS.d/next/Library/2026-01-17-07-48-27.gh-issue-143952.lqJ55y.rst
M Lib/asyncio/tools.py
M Lib/test/test_asyncio/test_tools.py
diff --git a/Lib/asyncio/tools.py b/Lib/asyncio/tools.py
index f9b8a4ee56c5c1..62d6a71557fa37 100644
--- a/Lib/asyncio/tools.py
+++ b/Lib/asyncio/tools.py
@@ -27,10 +27,10 @@ def __init__(
# ─── indexing helpers ───────────────────────────────────────────
def _format_stack_entry(elem: str|FrameInfo) -> str:
if not isinstance(elem, str):
- if elem.lineno == 0 and elem.filename == "":
+ if elem.location.lineno == 0 and elem.filename == "":
return f"{elem.funcname}"
else:
- return f"{elem.funcname} {elem.filename}:{elem.lineno}"
+ return f"{elem.funcname} {elem.filename}:{elem.location.lineno}"
return elem
diff --git a/Lib/test/test_asyncio/test_tools.py
b/Lib/test/test_asyncio/test_tools.py
index 34e94830204cd8..1ab51a6ca3e49b 100644
--- a/Lib/test/test_asyncio/test_tools.py
+++ b/Lib/test/test_asyncio/test_tools.py
@@ -4,7 +4,8 @@
from collections import namedtuple
-FrameInfo = namedtuple('FrameInfo', ['funcname', 'filename', 'lineno'])
+LocationInfo = namedtuple('LocationInfo', ['lineno', 'end_lineno',
'col_offset', 'end_col_offset'], defaults=[None]*4)
+FrameInfo = namedtuple('FrameInfo', ['funcname', 'filename', 'location'])
CoroInfo = namedtuple('CoroInfo', ['call_stack', 'task_name'])
TaskInfo = namedtuple('TaskInfo', ['task_id', 'task_name', 'coroutine_stack',
'awaited_by'])
AwaitedInfo = namedtuple('AwaitedInfo', ['thread_id', 'awaited_by'])
@@ -33,33 +34,33 @@
awaited_by=[
CoroInfo(
call_stack=[
- FrameInfo("awaiter3", "/path/to/app.py",
130),
- FrameInfo("awaiter2", "/path/to/app.py",
120),
- FrameInfo("awaiter", "/path/to/app.py",
110)
+ FrameInfo("awaiter3", "/path/to/app.py",
LocationInfo(130)),
+ FrameInfo("awaiter2", "/path/to/app.py",
LocationInfo(120)),
+ FrameInfo("awaiter", "/path/to/app.py",
LocationInfo(110))
],
task_name=4
),
CoroInfo(
call_stack=[
- FrameInfo("awaiterB3", "/path/to/app.py",
190),
- FrameInfo("awaiterB2", "/path/to/app.py",
180),
- FrameInfo("awaiterB", "/path/to/app.py",
170)
+ FrameInfo("awaiterB3", "/path/to/app.py",
LocationInfo(190)),
+ FrameInfo("awaiterB2", "/path/to/app.py",
LocationInfo(180)),
+ FrameInfo("awaiterB", "/path/to/app.py",
LocationInfo(170))
],
task_name=5
),
CoroInfo(
call_stack=[
- FrameInfo("awaiterB3", "/path/to/app.py",
190),
- FrameInfo("awaiterB2", "/path/to/app.py",
180),
- FrameInfo("awaiterB", "/path/to/app.py",
170)
+ FrameInfo("awaiterB3", "/path/to/app.py",
LocationInfo(190)),
+ FrameInfo("awaiterB2", "/path/to/app.py",
LocationInfo(180)),
+ FrameInfo("awaiterB", "/path/to/app.py",
LocationInfo(170))
],
task_name=6
),
CoroInfo(
call_stack=[
- FrameInfo("awaiter3", "/path/to/app.py",
130),
- FrameInfo("awaiter2", "/path/to/app.py",
120),
- FrameInfo("awaiter", "/path/to/app.py",
110)
+ FrameInfo("awaiter3", "/path/to/app.py",
LocationInfo(130)),
+ FrameInfo("awaiter2", "/path/to/app.py",
LocationInfo(120)),
+ FrameInfo("awaiter", "/path/to/app.py",
LocationInfo(110))
],
task_name=7
)
@@ -72,9 +73,9 @@
awaited_by=[
CoroInfo(
call_stack=[
- FrameInfo("_aexit", "", 0),
- FrameInfo("__aexit__", "", 0),
- FrameInfo("main", "", 0)
+ FrameInfo("_aexit", "", LocationInfo(0)),
+ FrameInfo("__aexit__", "",
LocationInfo(0)),
+ FrameInfo("main", "", LocationInfo(0))
],
task_name=2
)
@@ -87,9 +88,9 @@
awaited_by=[
CoroInfo(
call_stack=[
- FrameInfo("_aexit", "", 0),
- FrameInfo("__aexit__", "", 0),
- FrameInfo("main", "", 0)
+ FrameInfo("_aexit", "", LocationInfo(0)),
+ FrameInfo("__aexit__", "",
LocationInfo(0)),
+ FrameInfo("main", "", LocationInfo(0))
],
task_name=2
)
@@ -102,10 +103,10 @@
awaited_by=[
CoroInfo(
call_stack=[
- FrameInfo("_aexit", "", 0),
- FrameInfo("__aexit__", "", 0),
- FrameInfo("blocho_caller", "", 0),
- FrameInfo("bloch", "", 0)
+ FrameInfo("_aexit", "", LocationInfo(0)),
+ FrameInfo("__aexit__", "",
LocationInfo(0)),
+ FrameInfo("blocho_caller", "",
LocationInfo(0)),
+ FrameInfo("bloch", "", LocationInfo(0))
],
task_name=8
)
@@ -118,10 +119,10 @@
awaited_by=[
CoroInfo(
call_stack=[
- FrameInfo("_aexit", "", 0),
- FrameInfo("__aexit__", "", 0),
- FrameInfo("blocho_caller", "", 0),
- FrameInfo("bloch", "", 0)
+ FrameInfo("_aexit", "", LocationInfo(0)),
+ FrameInfo("__aexit__", "",
LocationInfo(0)),
+ FrameInfo("blocho_caller", "",
LocationInfo(0)),
+ FrameInfo("bloch", "", LocationInfo(0))
],
task_name=8
)
@@ -134,10 +135,10 @@
awaited_by=[
CoroInfo(
call_stack=[
- FrameInfo("_aexit", "", 0),
- FrameInfo("__aexit__", "", 0),
- FrameInfo("blocho_caller", "", 0),
- FrameInfo("bloch", "", 0)
+ FrameInfo("_aexit", "", LocationInfo(0)),
+ FrameInfo("__aexit__", "",
LocationInfo(0)),
+ FrameInfo("blocho_caller", "",
LocationInfo(0)),
+ FrameInfo("bloch", "", LocationInfo(0))
],
task_name=9
)
@@ -150,10 +151,10 @@
awaited_by=[
CoroInfo(
call_stack=[
- FrameInfo("_aexit", "", 0),
- FrameInfo("__aexit__", "", 0),
- FrameInfo("blocho_caller", "", 0),
- FrameInfo("bloch", "", 0)
+ FrameInfo("_aexit", "", LocationInfo(0)),
+ FrameInfo("__aexit__", "",
LocationInfo(0)),
+ FrameInfo("blocho_caller", "",
LocationInfo(0)),
+ FrameInfo("bloch", "", LocationInfo(0))
],
task_name=9
)
@@ -222,7 +223,7 @@
coroutine_stack=[],
awaited_by=[
CoroInfo(
- call_stack=[FrameInfo("main2", "", 0)],
+ call_stack=[FrameInfo("main2", "",
LocationInfo(0))],
task_name=5
)
]
@@ -233,7 +234,7 @@
coroutine_stack=[],
awaited_by=[
CoroInfo(
- call_stack=[FrameInfo("main2", "", 0)],
+ call_stack=[FrameInfo("main2", "",
LocationInfo(0))],
task_name=5
)
]
@@ -244,7 +245,7 @@
coroutine_stack=[],
awaited_by=[
CoroInfo(
- call_stack=[FrameInfo("main2", "", 0)],
+ call_stack=[FrameInfo("main2", "",
LocationInfo(0))],
task_name=5
)
]
@@ -266,7 +267,7 @@
coroutine_stack=[],
awaited_by=[
CoroInfo(
- call_stack=[FrameInfo("main", "", 0)],
+ call_stack=[FrameInfo("main", "",
LocationInfo(0))],
task_name=1
)
]
@@ -277,7 +278,7 @@
coroutine_stack=[],
awaited_by=[
CoroInfo(
- call_stack=[FrameInfo("main", "", 0)],
+ call_stack=[FrameInfo("main", "",
LocationInfo(0))],
task_name=1
)
]
@@ -288,7 +289,7 @@
coroutine_stack=[],
awaited_by=[
CoroInfo(
- call_stack=[FrameInfo("main", "", 0)],
+ call_stack=[FrameInfo("main", "",
LocationInfo(0))],
task_name=1
)
]
@@ -347,7 +348,7 @@
coroutine_stack=[],
awaited_by=[
CoroInfo(
- call_stack=[FrameInfo("main", "", 0)],
+ call_stack=[FrameInfo("main", "",
LocationInfo(0))],
task_name=4
)
]
@@ -358,7 +359,7 @@
coroutine_stack=[],
awaited_by=[
CoroInfo(
- call_stack=[FrameInfo("main", "", 0)],
+ call_stack=[FrameInfo("main", "",
LocationInfo(0))],
task_name=4
)
]
@@ -369,7 +370,7 @@
coroutine_stack=[],
awaited_by=[
CoroInfo(
- call_stack=[FrameInfo("main", "", 0)],
+ call_stack=[FrameInfo("main", "",
LocationInfo(0))],
task_name=4
)
]
@@ -415,11 +416,11 @@
coroutine_stack=[],
awaited_by=[
CoroInfo(
- call_stack=[FrameInfo("awaiter2", "", 0)],
+ call_stack=[FrameInfo("awaiter2", "",
LocationInfo(0))],
task_name=4
),
CoroInfo(
- call_stack=[FrameInfo("main", "", 0)],
+ call_stack=[FrameInfo("main", "",
LocationInfo(0))],
task_name=2
)
]
@@ -430,7 +431,7 @@
coroutine_stack=[],
awaited_by=[
CoroInfo(
- call_stack=[FrameInfo("awaiter", "", 0)],
+ call_stack=[FrameInfo("awaiter", "",
LocationInfo(0))],
task_name=3
)
]
@@ -462,9 +463,9 @@
awaited_by=[
CoroInfo(
call_stack=[
- FrameInfo("nested", "", 0),
- FrameInfo("nested", "", 0),
- FrameInfo("task_b", "", 0)
+ FrameInfo("nested", "",
LocationInfo(0)),
+ FrameInfo("nested", "",
LocationInfo(0)),
+ FrameInfo("task_b", "",
LocationInfo(0))
],
task_name=4
)
@@ -477,17 +478,17 @@
awaited_by=[
CoroInfo(
call_stack=[
- FrameInfo("nested", "", 0),
- FrameInfo("nested", "", 0),
- FrameInfo("task_c", "", 0)
+ FrameInfo("nested", "",
LocationInfo(0)),
+ FrameInfo("nested", "",
LocationInfo(0)),
+ FrameInfo("task_c", "",
LocationInfo(0))
],
task_name=5
),
CoroInfo(
call_stack=[
- FrameInfo("nested", "", 0),
- FrameInfo("nested", "", 0),
- FrameInfo("task_a", "", 0)
+ FrameInfo("nested", "",
LocationInfo(0)),
+ FrameInfo("nested", "",
LocationInfo(0)),
+ FrameInfo("task_a", "",
LocationInfo(0))
],
task_name=3
)
@@ -500,8 +501,8 @@
awaited_by=[
CoroInfo(
call_stack=[
- FrameInfo("nested", "", 0),
- FrameInfo("nested", "", 0)
+ FrameInfo("nested", "",
LocationInfo(0)),
+ FrameInfo("nested", "",
LocationInfo(0))
],
task_name=6
)
@@ -514,9 +515,9 @@
awaited_by=[
CoroInfo(
call_stack=[
- FrameInfo("nested", "", 0),
- FrameInfo("nested", "", 0),
- FrameInfo("task_b", "", 0)
+ FrameInfo("nested", "",
LocationInfo(0)),
+ FrameInfo("nested", "",
LocationInfo(0)),
+ FrameInfo("task_b", "",
LocationInfo(0))
],
task_name=4
)
@@ -553,33 +554,33 @@
awaited_by=[
CoroInfo(
call_stack=[
- FrameInfo("awaiter3", "", 0),
- FrameInfo("awaiter2", "", 0),
- FrameInfo("awaiter", "", 0)
+ FrameInfo("awaiter3", "", LocationInfo(0)),
+ FrameInfo("awaiter2", "", LocationInfo(0)),
+ FrameInfo("awaiter", "", LocationInfo(0))
],
task_name=4
),
CoroInfo(
call_stack=[
- FrameInfo("awaiter1_3", "", 0),
- FrameInfo("awaiter1_2", "", 0),
- FrameInfo("awaiter1", "", 0)
+ FrameInfo("awaiter1_3", "",
LocationInfo(0)),
+ FrameInfo("awaiter1_2", "",
LocationInfo(0)),
+ FrameInfo("awaiter1", "", LocationInfo(0))
],
task_name=5
),
CoroInfo(
call_stack=[
- FrameInfo("awaiter1_3", "", 0),
- FrameInfo("awaiter1_2", "", 0),
- FrameInfo("awaiter1", "", 0)
+ FrameInfo("awaiter1_3", "",
LocationInfo(0)),
+ FrameInfo("awaiter1_2", "",
LocationInfo(0)),
+ FrameInfo("awaiter1", "", LocationInfo(0))
],
task_name=6
),
CoroInfo(
call_stack=[
- FrameInfo("awaiter3", "", 0),
- FrameInfo("awaiter2", "", 0),
- FrameInfo("awaiter", "", 0)
+ FrameInfo("awaiter3", "", LocationInfo(0)),
+ FrameInfo("awaiter2", "", LocationInfo(0)),
+ FrameInfo("awaiter", "", LocationInfo(0))
],
task_name=7
)
@@ -592,9 +593,9 @@
awaited_by=[
CoroInfo(
call_stack=[
- FrameInfo("_aexit", "", 0),
- FrameInfo("__aexit__", "", 0),
- FrameInfo("main", "", 0)
+ FrameInfo("_aexit", "", LocationInfo(0)),
+ FrameInfo("__aexit__", "",
LocationInfo(0)),
+ FrameInfo("main", "", LocationInfo(0))
],
task_name=2
)
@@ -607,9 +608,9 @@
awaited_by=[
CoroInfo(
call_stack=[
- FrameInfo("_aexit", "", 0),
- FrameInfo("__aexit__", "", 0),
- FrameInfo("main", "", 0)
+ FrameInfo("_aexit", "", LocationInfo(0)),
+ FrameInfo("__aexit__", "",
LocationInfo(0)),
+ FrameInfo("main", "", LocationInfo(0))
],
task_name=2
)
@@ -622,10 +623,10 @@
awaited_by=[
CoroInfo(
call_stack=[
- FrameInfo("_aexit", "", 0),
- FrameInfo("__aexit__", "", 0),
- FrameInfo("blocho_caller", "", 0),
- FrameInfo("bloch", "", 0)
+ FrameInfo("_aexit", "", LocationInfo(0)),
+ FrameInfo("__aexit__", "",
LocationInfo(0)),
+ FrameInfo("blocho_caller", "",
LocationInfo(0)),
+ FrameInfo("bloch", "", LocationInfo(0))
],
task_name=8
)
@@ -638,10 +639,10 @@
awaited_by=[
CoroInfo(
call_stack=[
- FrameInfo("_aexit", "", 0),
- FrameInfo("__aexit__", "", 0),
- FrameInfo("blocho_caller", "", 0),
- FrameInfo("bloch", "", 0)
+ FrameInfo("_aexit", "", LocationInfo(0)),
+ FrameInfo("__aexit__", "",
LocationInfo(0)),
+ FrameInfo("blocho_caller", "",
LocationInfo(0)),
+ FrameInfo("bloch", "", LocationInfo(0))
],
task_name=8
)
@@ -654,10 +655,10 @@
awaited_by=[
CoroInfo(
call_stack=[
- FrameInfo("_aexit", "", 0),
- FrameInfo("__aexit__", "", 0),
- FrameInfo("blocho_caller", "", 0),
- FrameInfo("bloch", "", 0)
+ FrameInfo("_aexit", "", LocationInfo(0)),
+ FrameInfo("__aexit__", "",
LocationInfo(0)),
+ FrameInfo("blocho_caller", "",
LocationInfo(0)),
+ FrameInfo("bloch", "", LocationInfo(0))
],
task_name=9
)
@@ -670,10 +671,10 @@
awaited_by=[
CoroInfo(
call_stack=[
- FrameInfo("_aexit", "", 0),
- FrameInfo("__aexit__", "", 0),
- FrameInfo("blocho_caller", "", 0),
- FrameInfo("bloch", "", 0)
+ FrameInfo("_aexit", "", LocationInfo(0)),
+ FrameInfo("__aexit__", "",
LocationInfo(0)),
+ FrameInfo("blocho_caller", "",
LocationInfo(0)),
+ FrameInfo("bloch", "", LocationInfo(0))
],
task_name=9
)
@@ -797,7 +798,7 @@
coroutine_stack=[],
awaited_by=[
CoroInfo(
- call_stack=[FrameInfo("main2", "", 0)],
+ call_stack=[FrameInfo("main2", "",
LocationInfo(0))],
task_name=5
)
]
@@ -808,7 +809,7 @@
coroutine_stack=[],
awaited_by=[
CoroInfo(
- call_stack=[FrameInfo("main2", "", 0)],
+ call_stack=[FrameInfo("main2", "",
LocationInfo(0))],
task_name=5
)
]
@@ -819,7 +820,7 @@
coroutine_stack=[],
awaited_by=[
CoroInfo(
- call_stack=[FrameInfo("main2", "", 0)],
+ call_stack=[FrameInfo("main2", "",
LocationInfo(0))],
task_name=5
)
]
@@ -841,7 +842,7 @@
coroutine_stack=[],
awaited_by=[
CoroInfo(
- call_stack=[FrameInfo("main", "", 0)],
+ call_stack=[FrameInfo("main", "",
LocationInfo(0))],
task_name=1
)
]
@@ -852,7 +853,7 @@
coroutine_stack=[],
awaited_by=[
CoroInfo(
- call_stack=[FrameInfo("main", "", 0)],
+ call_stack=[FrameInfo("main", "",
LocationInfo(0))],
task_name=1
)
]
@@ -863,7 +864,7 @@
coroutine_stack=[],
awaited_by=[
CoroInfo(
- call_stack=[FrameInfo("main", "", 0)],
+ call_stack=[FrameInfo("main", "",
LocationInfo(0))],
task_name=1
)
]
@@ -916,7 +917,7 @@
coroutine_stack=[],
awaited_by=[
CoroInfo(
- call_stack=[FrameInfo("main", "", 0)],
+ call_stack=[FrameInfo("main", "",
LocationInfo(0))],
task_name=4
)
]
@@ -927,7 +928,7 @@
coroutine_stack=[],
awaited_by=[
CoroInfo(
- call_stack=[FrameInfo("main", "", 0)],
+ call_stack=[FrameInfo("main", "",
LocationInfo(0))],
task_name=4
)
]
@@ -938,7 +939,7 @@
coroutine_stack=[],
awaited_by=[
CoroInfo(
- call_stack=[FrameInfo("main", "", 0)],
+ call_stack=[FrameInfo("main", "",
LocationInfo(0))],
task_name=4
)
]
@@ -979,11 +980,11 @@
coroutine_stack=[],
awaited_by=[
CoroInfo(
- call_stack=[FrameInfo("awaiter2", "", 0)],
+ call_stack=[FrameInfo("awaiter2", "",
LocationInfo(0))],
task_name=4
),
CoroInfo(
- call_stack=[FrameInfo("main", "", 0)],
+ call_stack=[FrameInfo("main", "",
LocationInfo(0))],
task_name=2
)
]
@@ -994,7 +995,7 @@
coroutine_stack=[],
awaited_by=[
CoroInfo(
- call_stack=[FrameInfo("awaiter", "", 0)],
+ call_stack=[FrameInfo("awaiter", "",
LocationInfo(0))],
task_name=3
)
]
@@ -1033,9 +1034,9 @@
awaited_by=[
CoroInfo(
call_stack=[
- FrameInfo("nested", "", 0),
- FrameInfo("nested", "", 0),
- FrameInfo("task_b", "", 0)
+ FrameInfo("nested", "",
LocationInfo(0)),
+ FrameInfo("nested", "",
LocationInfo(0)),
+ FrameInfo("task_b", "",
LocationInfo(0))
],
task_name=4
)
@@ -1048,17 +1049,17 @@
awaited_by=[
CoroInfo(
call_stack=[
- FrameInfo("nested", "", 0),
- FrameInfo("nested", "", 0),
- FrameInfo("task_c", "", 0)
+ FrameInfo("nested", "",
LocationInfo(0)),
+ FrameInfo("nested", "",
LocationInfo(0)),
+ FrameInfo("task_c", "",
LocationInfo(0))
],
task_name=5
),
CoroInfo(
call_stack=[
- FrameInfo("nested", "", 0),
- FrameInfo("nested", "", 0),
- FrameInfo("task_a", "", 0)
+ FrameInfo("nested", "",
LocationInfo(0)),
+ FrameInfo("nested", "",
LocationInfo(0)),
+ FrameInfo("task_a", "",
LocationInfo(0))
],
task_name=3
)
@@ -1071,8 +1072,8 @@
awaited_by=[
CoroInfo(
call_stack=[
- FrameInfo("nested", "", 0),
- FrameInfo("nested", "", 0)
+ FrameInfo("nested", "",
LocationInfo(0)),
+ FrameInfo("nested", "",
LocationInfo(0))
],
task_name=6
)
@@ -1085,9 +1086,9 @@
awaited_by=[
CoroInfo(
call_stack=[
- FrameInfo("nested", "", 0),
- FrameInfo("nested", "", 0),
- FrameInfo("task_b", "", 0)
+ FrameInfo("nested", "",
LocationInfo(0)),
+ FrameInfo("nested", "",
LocationInfo(0)),
+ FrameInfo("task_b", "",
LocationInfo(0))
],
task_name=4
)
@@ -1290,7 +1291,7 @@ def test_cycle_detection(self):
coroutine_stack=[],
awaited_by=[
CoroInfo(
- call_stack=[FrameInfo("main", "", 0)],
+ call_stack=[FrameInfo("main", "",
LocationInfo(0))],
task_name=3
)
]
@@ -1301,7 +1302,7 @@ def test_cycle_detection(self):
coroutine_stack=[],
awaited_by=[
CoroInfo(
- call_stack=[FrameInfo("main", "", 0)],
+ call_stack=[FrameInfo("main", "",
LocationInfo(0))],
task_name=2
)
]
@@ -1331,7 +1332,7 @@ def test_complex_tree(self):
coroutine_stack=[],
awaited_by=[
CoroInfo(
- call_stack=[FrameInfo("main", "", 0)],
+ call_stack=[FrameInfo("main", "",
LocationInfo(0))],
task_name=2
)
]
@@ -1342,7 +1343,7 @@ def test_complex_tree(self):
coroutine_stack=[],
awaited_by=[
CoroInfo(
- call_stack=[FrameInfo("main", "", 0)],
+ call_stack=[FrameInfo("main", "",
LocationInfo(0))],
task_name=3
)
]
@@ -1379,7 +1380,7 @@ def test_complex_table(self):
coroutine_stack=[],
awaited_by=[
CoroInfo(
- call_stack=[FrameInfo("main", "", 0)],
+ call_stack=[FrameInfo("main", "",
LocationInfo(0))],
task_name=2
)
]
@@ -1390,7 +1391,7 @@ def test_complex_table(self):
coroutine_stack=[],
awaited_by=[
CoroInfo(
- call_stack=[FrameInfo("main", "", 0)],
+ call_stack=[FrameInfo("main", "",
LocationInfo(0))],
task_name=3
)
]
@@ -1417,11 +1418,11 @@ def test_deep_coroutine_chain(self):
awaited_by=[
CoroInfo(
call_stack=[
- FrameInfo("c1", "", 0),
- FrameInfo("c2", "", 0),
- FrameInfo("c3", "", 0),
- FrameInfo("c4", "", 0),
- FrameInfo("c5", "", 0)
+ FrameInfo("c1", "", LocationInfo(0)),
+ FrameInfo("c2", "", LocationInfo(0)),
+ FrameInfo("c3", "", LocationInfo(0)),
+ FrameInfo("c4", "", LocationInfo(0)),
+ FrameInfo("c5", "", LocationInfo(0))
],
task_name=11
)
@@ -1461,7 +1462,7 @@ def test_multiple_cycles_same_node(self):
coroutine_stack=[],
awaited_by=[
CoroInfo(
- call_stack=[FrameInfo("call1", "", 0)],
+ call_stack=[FrameInfo("call1", "",
LocationInfo(0))],
task_name=2
)
]
@@ -1472,7 +1473,7 @@ def test_multiple_cycles_same_node(self):
coroutine_stack=[],
awaited_by=[
CoroInfo(
- call_stack=[FrameInfo("call2", "", 0)],
+ call_stack=[FrameInfo("call2", "",
LocationInfo(0))],
task_name=3
)
]
@@ -1483,11 +1484,11 @@ def test_multiple_cycles_same_node(self):
coroutine_stack=[],
awaited_by=[
CoroInfo(
- call_stack=[FrameInfo("call3", "", 0)],
+ call_stack=[FrameInfo("call3", "",
LocationInfo(0))],
task_name=1
),
CoroInfo(
- call_stack=[FrameInfo("call4", "", 0)],
+ call_stack=[FrameInfo("call4", "",
LocationInfo(0))],
task_name=2
)
]
@@ -1511,7 +1512,7 @@ def test_table_output_format(self):
coroutine_stack=[],
awaited_by=[
CoroInfo(
- call_stack=[FrameInfo("foo", "", 0)],
+ call_stack=[FrameInfo("foo", "",
LocationInfo(0))],
task_name=2
)
]
@@ -1555,7 +1556,7 @@ def test_task_awaits_self(self):
coroutine_stack=[],
awaited_by=[
CoroInfo(
- call_stack=[FrameInfo("loopback", "", 0)],
+ call_stack=[FrameInfo("loopback", "",
LocationInfo(0))],
task_name=1
)
]
@@ -1579,7 +1580,7 @@ def test_task_with_missing_awaiter_id(self):
coroutine_stack=[],
awaited_by=[
CoroInfo(
- call_stack=[FrameInfo("coro", "", 0)],
+ call_stack=[FrameInfo("coro", "",
LocationInfo(0))],
task_name=999
)
]
@@ -1603,11 +1604,11 @@ def test_duplicate_coroutine_frames(self):
coroutine_stack=[],
awaited_by=[
CoroInfo(
- call_stack=[FrameInfo("frameA", "", 0)],
+ call_stack=[FrameInfo("frameA", "",
LocationInfo(0))],
task_name=2
),
CoroInfo(
- call_stack=[FrameInfo("frameA", "", 0)],
+ call_stack=[FrameInfo("frameA", "",
LocationInfo(0))],
task_name=3
)
]
@@ -1651,7 +1652,7 @@ def test_task_with_no_name(self):
coroutine_stack=[],
awaited_by=[
CoroInfo(
- call_stack=[FrameInfo("f1", "", 0)],
+ call_stack=[FrameInfo("f1", "",
LocationInfo(0))],
task_name=2
)
]
@@ -1682,8 +1683,8 @@ def test_tree_rendering_with_custom_emojis(self):
awaited_by=[
CoroInfo(
call_stack=[
- FrameInfo("f1", "", 0),
- FrameInfo("f2", "", 0)
+ FrameInfo("f1", "", LocationInfo(0)),
+ FrameInfo("f2", "", LocationInfo(0))
],
task_name=2
)
diff --git
a/Misc/NEWS.d/next/Library/2026-01-17-07-48-27.gh-issue-143952.lqJ55y.rst
b/Misc/NEWS.d/next/Library/2026-01-17-07-48-27.gh-issue-143952.lqJ55y.rst
new file mode 100644
index 00000000000000..1a99d315710459
--- /dev/null
+++ b/Misc/NEWS.d/next/Library/2026-01-17-07-48-27.gh-issue-143952.lqJ55y.rst
@@ -0,0 +1,2 @@
+Fixed :mod:`asyncio` debugging tools to work with new remote debugging API.
+Patch by Bartosz Sławecki.
_______________________________________________
Python-checkins mailing list -- [email protected]
To unsubscribe send an email to [email protected]
https://mail.python.org/mailman3//lists/python-checkins.python.org
Member address: [email protected]
