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

  1. Check the %r exception detail in logs; single skips during scanning are normal
  2. Update XX-Net for checker fixes
  3. If every IP raises, investigate environment (openssl version, DNS) rather than the IPs
  4. 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

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.