kovidgoyal/kitty · info
Failed to process update check data {raw!r}, with error: {e}
Error message
Failed to process update check data {raw!r}, with error: {e} What it means
The update-check subprocess produced output that kitty could read but could not parse as a release version. The raw payload is logged; the check is abandoned for this run.
Source
Thrown at kitty/boss.py:3511
traceback.print_exc()
return
update_check_process = self.update_check_process
if update_check_process is not None and pid == update_check_process.pid:
self.update_check_process = None
from .update_check import process_current_release
try:
assert update_check_process.stdout is not None
raw = update_check_process.stdout.read().decode('utf-8')
except Exception as e:
log_error(f'Failed to read data from update check process, with error: {e}')
else:
try:
process_current_release(raw)
except Exception as e:
log_error(f'Failed to process update check data {raw!r}, with error: {e}')
def show_bad_config_lines(self, bad_lines: Iterable[BadLine], misc_errors: Iterable[str] = ()) -> None:
def format_bad_line(bad_line: BadLine) -> str:
return f'{bad_line.number}:{bad_line.exception} in line: {bad_line.line}\n'
groups: dict[str, list[BadLine]] = {}
for bl in bad_lines:
groups.setdefault(bl.file, []).append(bl)
ans: list[str] = []
a = ans.append
for file in sorted(groups):
if file:
a(f'In file {file}:')
[a(format_bad_line(x)) for x in groups[file]]
if misc_errors:
a('In final effective configuration:')
for line in misc_errors:View on GitHub (pinned to 6d5d0c4406)
Solutions
- Inspect the logged raw payload to see what was actually returned
- Fix proxy/network so the release URL returns the expected payload
- Disable with `update_check_period 0`
Defensive patterns
Strategy: fallback
Prevention
- Disable update_check_period if behind a proxy that mangles responses
- Treat the log line as a network diagnostics hint, not an app error
When it happens
Trigger: process_current_release() raises on malformed data — e.g. a captive-portal HTML page, proxy error page, or unexpected JSON/text being returned instead of a version string.
Common situations: Corporate proxies, captive portals, DNS hijacking returning HTML for any request.
Related errors
- Failed to read data from update check process, with error: {
- Extra characters at end of search
- not a valid file descriptor number: %#v
- %s is not valid MIME alias specification
- Failed to parse rg help output line: %s
AI-assisted analysis of kovidgoyal/kitty@6d5d0c4406 (2026-08-27).
Data as JSON: /api/errors/41a965f534f500af.
Report an issue: GitHub.