XX-net/XX-Net · info
check except:%r
Error message
check except:%r
What it means
Checker thread caught an unexpected exception while calling check_ip(ip) for a candidate IP; the IP is skipped (continue) and the loop moves on. This guards the IP-scan loop from crashing.
Source
Thrown at code/default/gae_proxy/local/check_ip.py:136
continue
def write_ip(self, ip, host, handshake):
with self.lock:
self.out_fd.write("%s %s gws %d 0 0\n" % (ip, host, handshake))
self.out_fd.flush()
def checker(self):
while True:
try:
ip = self.get_ip()
except Exception as e:
xlog.info("no ip left")
return
try:
res = self.check_ip.check_ip(ip)
except Exception as e:
xlog.warn("check except:%r", e)
continue
if not res or not res.ok:
xlog.debug("ip:%s fail", ip)
continue
if res.h2:
self.write_ip(ip, res.domain, res.handshake_time)
def run(self):
for i in range(0, 100):
threading.Thread(target=self.checker, name="gae_ip_checker").start()
def check_all():
check = CheckAllIp()
check.run()
exit(0)View on GitHub (pinned to cfa5bc17b6)
Solutions
- Check the %r exception detail in logs; single skips during scanning are normal
- Update XX-Net for checker fixes
- If every IP raises, investigate environment (openssl version, DNS) rather than the IPs
- Sanitize custom IP ranges you add to the scan list
Defensive patterns
Strategy: try-catch
Try / catch
try:
res = self.check_ip.check_ip(ip)
except Exception:
continue # skip this IP, keep scanning Prevention
- Wrap per-IP checks in try/except inside scan loops
- Sanitize custom IP inputs
- Update the checker with the app version
When it happens
Trigger: Any exception escaping check_ip beyond expected failures: DNS/socket edge cases, SSL errors, or coding bugs in the checker for malformed IPs.
Common situations: Odd network conditions during mass IP scanning, library incompatibilities, or malformed IP entries in the candidate list.
Related errors
AI-assisted analysis of XX-net/XX-Net@cfa5bc17b6 (2026-08-27).
Data as JSON: /api/errors/2c31bd7399dc46ea.
Report an issue: GitHub.