Bug report
Bug description:
I've reproduced the issue reported in https://discuss.python.org/t/tachyon-97-error-rate/107619
The issue is caused by:
| linetable=read_py_bytes(unwinder, |
| GET_MEMBER(uintptr_t, code_object, unwinder->debug_offsets.code_object.linetable), 4096); |
The linetable for HttpCli.tx_browser and HttpCli.run is above 4096:
2026-06-06T17:13:54.694708000+0200 maurycy@gimel /Users/maurycy/work/cpython (main fded34d*?) % uv run linetable_dist.py ~/Desktop/copyparty
objects=3472 median=51 max=19536 >4096=7
19536 AuthSrv._reload /Users/maurycy/Desktop/copyparty/copyparty/authsrv.py:1762
10640 HttpCli.tx_browser /Users/maurycy/Desktop/copyparty/copyparty/httpcli.py:6749
9131 HttpCli.run /Users/maurycy/Desktop/copyparty/copyparty/httpcli.py:335
6245 <module> /Users/maurycy/Desktop/copyparty/copyparty/util.py:1
5087 Up2k._handle_json /Users/maurycy/Desktop/copyparty/copyparty/up2k.py:3035
4146 SvcHub.__init__ /Users/maurycy/Desktop/copyparty/copyparty/svchub.py:136
4133 HttpCli.handle_plain_upload /Users/maurycy/Desktop/copyparty/copyparty/httpcli.py:3648
3753 HttpCli.dump_to_file /Users/maurycy/Desktop/copyparty/copyparty/httpcli.py:2444
The 4096 limit is too small even for our stdlib:
2026-06-06T17:14:47.179006000+0200 maurycy@gimel /Users/maurycy/work/cpython (main fded34d*?) % uv run linetable_dist.py ~/work/cpython/Lib objects=92035 median=49 max=37416 >4096=37
37416 <module> /Users/maurycy/work/cpython/Lib/html/entities.py:1
20958 <module> /Users/maurycy/work/cpython/Lib/test/test_ast/snippets.py:1
17060 <module> /Users/maurycy/work/cpython/Lib/locale.py:1
11158 <module> /Users/maurycy/work/cpython/Lib/test/test_dis.py:1
10063 SuggestionFormattingTestBase.test_name_error_suggestions_do_not_trigger_for_too_many_locals.<locals>.func /Users/maurycy/work/cpython/Lib/test/test_traceback.py:4899
9953 <module> /Users/maurycy/work/cpython/Lib/stringprep.py:1
9400 <module> /Users/maurycy/work/cpython/Lib/test/re_tests.py:1
5892 <module> /Users/maurycy/work/cpython/Lib/encodings/aliases.py:1
5791 <module> /Users/maurycy/work/cpython/Lib/test/test_socket.py:1
5730 <module> /Users/maurycy/work/cpython/Lib/encodings/mac_arabic.py:1
5730 <module> /Users/maurycy/work/cpython/Lib/encodings/cp866.py:1
5730 <module> /Users/maurycy/work/cpython/Lib/encodings/cp865.py:1
5730 <module> /Users/maurycy/work/cpython/Lib/encodings/cp863.py:1
5730 <module> /Users/maurycy/work/cpython/Lib/encodings/cp862.py:1
5730 <module> /Users/maurycy/work/cpython/Lib/encodings/cp861.py:1
Reproduction
Using real file from stdlib:
importos, _remote_debuggingsrc=open("/Users/maurycy/work/cpython/Lib/html/entities.py").read()
src+="\n_remote_debugging.RemoteUnwinder(os.getpid()).get_stack_trace()\n"exec(compile(src, "entities.py", "exec"))
print("OK")We get:
2026-06-06T17:17:34.919627000+0200 maurycy@gimel /Users/maurycy/work/cpython (main fded34d*?) % uv run repro.py
Traceback (most recent call last):
File "/Users/maurycy/src/github.com/maurycy/cpython/repro.py", line 5, in<module>
exec(compile(src, "entities.py", "exec"))
~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "entities.py", line 2515, in<module>
RuntimeError: Invalid bytes length (37445) at 0xc5091c000
Bonus
(thx Claude)
linetable_dist.py
#!/usr/bin/env python3importwarningsfrompathlibimportPathfromstatisticsimportmedianfromsysimportargvfromtypesimportCodeTypewarnings.simplefilter("ignore")
SKIP= {"venv", "site-packages", "__pycache__"}
defcodes(co):
yieldcoforcinco.co_consts:
ifisinstance(c, CodeType):
yieldfromcodes(c)
rows= []
forarginargv[1:]:
p=Path(arg).expanduser()
forfin [p] ifp.is_file() elsep.rglob("*.py"):
ifSKIP&set(f.parts):
continuetry:
co=compile(f.read_text(errors="replace"), str(f), "exec")
exceptException:
continuerows+= [(len(c.co_linetable), str(f), c.co_qualname, c.co_firstlineno)
forcincodes(co)]
rows.sort(reverse=True)
vals= [sfors, *_inrows]
print(f"objects={len(vals)} median={median(vals):.0f} max={max(vals)} "f">4096={sum(v>4096forvinvals)}")
fors, fn, qual, linenoinrows[:15]:
print(f"{s:8d}{qual:24s}{fn}:{lineno}")CPython versions tested on:
CPython main branch
Operating systems tested on:
macOS
Linked PRs
Bug report
Bug description:
I've reproduced the issue reported in https://discuss.python.org/t/tachyon-97-error-rate/107619
The issue is caused by:
cpython/Modules/_remote_debugging/code_objects.c
Lines 389 to 390 in 884ac3e
The linetable for
HttpCli.tx_browserandHttpCli.runis above 4096:The 4096 limit is too small even for our stdlib:
Reproduction
Using real file from stdlib:
We get:
Bonus
(thx Claude)
linetable_dist.pyCPython versions tested on:
CPython main branch
Operating systems tested on:
macOS
Linked PRs