mitmproxy/mitmproxy · error · ValueError
not a tnetstring: absurdly large length prefix
Error message
not a tnetstring: absurdly large length prefix
What it means
Error "not a tnetstring: absurdly large length prefix" thrown in mitmproxy/mitmproxy.
Source
Thrown at mitmproxy/io/tnetstring.py:176
def load(file_handle: BinaryIO) -> TSerializable:
"""load(file) -> object
This function reads a tnetstring from a file and parses it into a
python object. The file must support the read() method, and this
function promises not to read more data than necessary.
"""
# Read the length prefix one char at a time.
# Note that the netstring spec explicitly forbids padding zeros.
c = file_handle.read(1)
if c == b"": # we want to detect this special case.
raise ValueError("not a tnetstring: empty file")
data_length = b""
while c.isdigit():
data_length += c
if len(data_length) > 12:
raise ValueError("not a tnetstring: absurdly large length prefix")
c = file_handle.read(1)
if c != b":":
raise ValueError("not a tnetstring: missing or invalid length prefix")
data = memoryview(file_handle.read(int(data_length)))
data_type = file_handle.read(1)[0]
return parse(data_type, data)
def parse(data_type: int, data: memoryview) -> TSerializable:
if data_type == ord(b","):
return data.tobytes()
if data_type == ord(b";"):
return str(data, "utf8")
if data_type == ord(b"#"):
try:
return int(data)View on GitHub (pinned to 2ac5b089d9)
When it happens
Trigger: Thrown at mitmproxy/io/tnetstring.py:176 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of mitmproxy/mitmproxy@2ac5b089d9 (2026-08-26).
Data as JSON: /api/errors/9d59117005bd2353.
Report an issue: GitHub.