XX-net/XX-Net · warning

APPID_manager, set_appid_not_exist %s

Error message

APPID_manager, set_appid_not_exist %s

What it means

An appid was confirmed not to exist server-side (check_api succeeded and returned ok). It is logged, added to not_exist_appids, and removed from config GAE_APPIDS so it is never used again.

Source

Thrown at code/default/gae_proxy/local/appid_manager.py:91

            except:
                pass

    def report_not_exist(self, appid, ip):
        self.logger.debug("report_not_exist:%s %s", appid, ip)
        th = threading.Thread(target=self.process_appid_not_exist, args=(appid, ip), name="process_appid_not_exist")
        th.start()

    def process_appid_not_exist(self, appid, ip):
        ret = self.check_api(ip, "xxnet-1")
        if ret and ret.ok:
            self.set_appid_not_exist(appid)
        else:
            self.logger.warn("process_appid_not_exist, remove ip:%s", ip)

            self.ip_manager.report_connect_fail(ip, force_remove=True)

    def set_appid_not_exist(self, appid):
        self.logger.warn("APPID_manager, set_appid_not_exist %s", appid)
        with self.lock:
            if appid not in self.not_exist_appids:
                self.not_exist_appids.append(appid)
            try:
                self.config.GAE_APPIDS.remove(appid)
            except:
                pass

            try:
                self.working_appid_list.remove(appid)
            except:
                pass

    def appid_exist(self, appids):
        for appid in appids.split('|'):
            if appid == "":
                continue
            if appid in self.config.GAE_APPIDS:

View on GitHub (pinned to cfa5bc17b6)

Solutions

  1. Fix typos in the GAE_APPIDS config list
  2. Redeploy the GoAgent/XX-Net backend to the appid via the deployment page
  3. Remove deleted/suspended appids from config
  4. Verify each appid serves the backend (curl the appspot URL)
Defensive patterns

Strategy: validation

Validate before calling

import urllib.request
ok = urllib.request.urlopen('https://<appid>.appspot.com').status == 200

Prevention

When it happens

Trigger: process_appid_not_exist verified via a live IP that the appid is invalid — deleted GAE app, typo in appid, or appid not deployed with the GoAgent backend.

Common situations: Appid typo in config, GAE app deleted or suspended, appid never had the XX-Net backend deployed.

Related errors


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