XX-net/XX-Net · info

request http://localhost:8084/quit/ e:%r

Error message

request http://localhost:8084/quit/ e:%r

What it means

During /quit handling on android/ios, the launcher fires a best-effort GET to http://localhost:8084/quit/ to stop a companion process; failure is logged and swallowed (pass).

Source

Thrown at code/default/launcher/web_control.py:317

            elif url_path == '/installed_app':
                self.req_get_installed_app()
            elif url_path == '/init_module':
                self.req_init_module_handler()
            elif url_path == '/quit':
                content = b'System: %s Exited successfully.' % utils.to_bytes(sys_platform.platform)
                try:
                    self.send_response('text/html', content)
                    self.wfile.flush()
                except:
                    pass

                xlog.info("start quit")
                if sys_platform.platform in ["android", "ios"]:
                    try:
                        xlog.info("request http://localhost:8084/quit/")
                        simple_http_client.request("GET", "http://localhost:8084/quit/", timeout=1)
                    except Exception as e:
                        xlog.warn("request http://localhost:8084/quit/ e:%r", e)
                        pass

                sys_platform.on_quit()
            elif url_path == "/debug":
                self.req_debug_handler()
            elif url_path == "/log_files":
                self.req_log_files()
            elif url_path == "/mem_info":
                self.req_mem_info_handler()
            elif url_path == "/gc":
                self.req_gc_handler()
            elif url_path == '/restart':
                self.send_response('text/html', '{"status":"success"}')
                update_from_github.restart_xxnet()
            else:
                self.send_not_found()
                xlog.info('%s "%s %s HTTP/1.1" 404 -', self.address_string(), self.command, self.path)

View on GitHub (pinned to cfa5bc17b6)

Solutions

  1. Ignore: quit proceeds regardless.
  2. If the companion should be running, check its logs/port 8084 binding.
  3. Align the hardcoded port with the companion's configured port.
Defensive patterns

Strategy: fallback

Try / catch

try:
    simple_http_client.request('GET','http://localhost:8084/quit/', timeout=1)
except Exception:
    pass  # best-effort; shutdown continues

Prevention

When it happens

Trigger: Quit on a mobile platform when nothing listens on 8084 or it doesn't answer within the 1s timeout.

Common situations: The companion service already exited, was never started, or the port changed. Harmless — shutdown continues via sys_platform.on_quit().

Related errors


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