XX-net/XX-Net · warning

check fail:%s except:%r

Error message

check fail:%s except:%r

What it means

CloudFront (not CloudFlare) variant of the IP checker worker: check_ip raised for an IP/host pair and the IP is skipped. Same malformed format string as the cloudflare variant (only 'e' passed for two placeholders).

Source

Thrown at code/default/x_tunnel/local/cloudfront_front/check_ip.py:87

                    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, host=host)
            except Exception as e:
                xlog.warn("check fail:%s except:%r", e)
                continue

            if not res or not res.ok:
                xlog.debug("check fail:%s fail", ip)
                continue

            self.write_ip(ip, res.domain, res.handshake_time)

    def run(self):
        for i in range(0, 10):
            threading.Thread(target=self.checker).start()


def check_all_ip(check_ip):
    check = CheckAllIp(check_ip, "scan1.xx-net.org")
    check.run()

View on GitHub (pinned to cfa5bc17b6)

Solutions

  1. Expected during scanning; no action
  2. Fix format string to ('%s except:%r', ip, e)
  3. Filter dead IPs first

Example fix

// before
xlog.warn("check fail:%s except:%r", e)
// after
xlog.warn("check fail:%s except:%r", ip, e)
Defensive patterns

Strategy: try-catch

Try / catch

try:
    res = check_ip(ip, host=host)
except Exception:
    continue

Prevention

When it happens

Trigger: checker() loop: check_ip(ip, host=host) raises (connect error, TLS failure).

Common situations: Scanning unverified CloudFront candidate IPs; some unreachable.

Related errors


AI-assisted analysis of XX-net/XX-Net@cfa5bc17b6 (2026-08-27). Data as JSON: /api/errors/971e8c3109b78e06. Report an issue: GitHub.