XX-net/XX-Net · warning
check_update get version failed. e:%r
Error message
check_update get version failed. e:%r
What it means
check_update wraps update_from_github.get_github_versions() in try/except; any exception while fetching release info from GitHub (network error, DNS, non-200/JSON-decode failure) is logged and the update check silently returns.
Source
Thrown at code/default/launcher/update.py:279
elif action == "ignore":
ignore_module(module, new_version)
def check_update():
try:
if update_from_github.update_info == "dont-check":
return
# check_push_update() # server broken
update_rule = config.check_update
if update_rule not in ("stable", "notice-stable", "test", "notice-test"):
return
try:
versions = update_from_github.get_github_versions()
except Exception as e:
xlog.warn("check_update get version failed. e:%r", e)
return
current_version = update_from_github.current_version()
test_version, stable_version = versions[0][1], versions[1][1]
if test_version != config.skip_test_version:
if update_rule == "notice-test":
if compare_versions(current_version, test_version) < 0:
xlog.info("checked new test version %s", test_version)
update_from_github.update_info = '{"type":"test", "version":"%s"}' % test_version
elif update_rule == "test":
if compare_versions(current_version, test_version) < 0:
xlog.info("update to test version %s", test_version)
update_from_github.update_version(test_version)
if stable_version != config.skip_stable_version:
if update_rule == "notice-stable":
if compare_versions(current_version, stable_version) < 0:
xlog.info("checked new stable version %s", stable_version)
update_from_github.update_info = '{"type":"stable", "version":"%s"}' % stable_versionView on GitHub (pinned to cfa5bc17b6)
Solutions
- Verify connectivity to api.github.com / github.com from the machine (curl -I https://github.com)
- Configure a working proxy for the launcher (often required where GitHub is blocked) and retry check update
- If behind rate limits, wait and retry later
- Update the launcher, since manifest/API format changes are fixed in newer versions
Defensive patterns
Strategy: try-catch
Validate before calling
def github_reachable(timeout=10):
import urllib.request
try:
urllib.request.urlopen('https://github.com', timeout=timeout)
return True
except Exception:
return False Try / catch
try:
versions = get_github_versions()
except Exception as e:
log.warning('check_update failed: %r', e)
return None # degrade gracefully, retry next cycle Prevention
- Configure a working proxy where GitHub is blocked
- Retry update checks periodically instead of failing hard
- Keep the launcher updated to track GitHub API changes
When it happens
Trigger: check_update called from update_check_loop, req_update_handler, or on_check_update when get_github_versions raises — typically an API request to github.com failing or returning unexpected content.
Common situations: GitHub unreachable from the user's region/network; TLS interception; GitHub API rate limiting or schema change breaking parsing; missing network before the proxy is up.
Related errors
AI-assisted analysis of XX-net/XX-Net@cfa5bc17b6 (2026-08-27).
Data as JSON: /api/errors/ecd399ad1b82e702.
Report an issue: GitHub.