XX-net/XX-Net · warning

req %s get response timeout

Error message

req %s get response timeout

What it means

CloudFrontFront.request got no response within the timeout; returns ('', 602, {}) synthetic timeout, mirroring the cloudflare variant.

Source

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

            host = self.last_host
        else:
            self.last_host = host

        if host not in self.dispatchs:
            http_dispatcher = HttpsDispatcher(
                logger, self.config, self.ip_manager, self.connect_manager
            )
            self.dispatchs[host] = http_dispatcher

        dispatcher = self.dispatchs[host]
        return dispatcher

    def request(self, method, host, path="/", headers={}, data="", timeout=120):
        dispatcher = self.get_dispatcher(host)
        headers = dict(headers)
        response = dispatcher.request(method, host, path, headers, data, timeout=timeout)
        if not response:
            self.logger.warn("req %s get response timeout", path)
            return "", 602, {}

        status = response.status
        content = response.task.read_all()
        if status == 200:
            self.logger.debug("%s %s%s status:%d trace:%s", method, response.worker.ssl_sock.host, path, status,
                       response.task.get_trace())
        else:
            self.logger.warn("%s %s%s status:%d trace:%s", method, response.worker.ssl_sock.host, path, status,
                       response.task.get_trace())
        return content, status, response

    def stop(self):
        logger.info("terminate")
        self.connect_manager.set_ssl_created_cb(None)
        for host in self.dispatchs:
            dispatcher = self.dispatchs[host]
            dispatcher.stop()

View on GitHub (pinned to cfa5bc17b6)

Solutions

  1. Retry with backoff; front rotates workers
  2. Increase timeout
  3. Re-check front IPs with check_ip tooling
  4. Verify outbound 443 connectivity
Defensive patterns

Strategy: retry

Try / catch

content, status, resp = front.request(...)
if status == 602:
    retry_with_backoff()

Prevention

When it happens

Trigger: request/get call dispatcher.request and response is None after timeout (default 120s).

Common situations: CloudFront IPs blocked, congested link, or timeout too aggressive.

Understand the failure class

Related errors


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