Skip to content

browseros_server.exe v0.0.79 crash-loops on Windows: HTTP server fails to bind with "Is port 1455 in use?" #498

Description

Summary

browseros_server.exe (v0.0.79) fails to start the HTTP server on Windows, crash-looping indefinitely. The Bun-compiled binary successfully connects to CDP and loads all 60 tools, but crashes at the Bun.serve() step with a misleading error message referencing "port 1455" regardless of the configured server port.

Environment

  • OS: Windows 11 (Build 26200)
  • BrowserOS version: 0.44.0.1 (Chromium 146.0.7821.31)
  • Server version: 0.0.79
  • Server binary: BrowserOSServer\default\resources\bin\browseros_server.exe

Reproduction

The server is launched by Chromium with:

browseros_server.exe --config="...\.browseros\server_config.json" --cdp-port=9154 --server-port=9200 --extension-port=9300

Server config (server_config.json):

{
  "directories": {
    "execution": "C:\Users\<user>\AppData\Local\Chromium\User Data\.browseros",
    "resources": "C:\Users\<user>\AppData\Local\Chromium\Application\146.0.7821.31\BrowserOSServer\default\resources"
  },
  "flags": { "allow_remote_in_mcp": false },
  "instance": {
    "browseros_version": "0.44.0.1",
    "chromium_version": "146.0.7821.31",
    "install_id": "<redacted>"
  },
  "ports": { "cdp": 9154, "extension": 9300, "server": 9200 }
}

Observed behavior

Every launch attempt follows the same pattern:

✅ BrowserOS ID initialized
✅ BrowserOS config fetched (dailyRateLimit: 500)
✅ Controller WebSocket server listening on ws://127.0.0.1:9300
✅ Connected to CDP on port 9154
✅ Loaded 60 unified tools
❌ Failed to start HTTP server (port: 9200, error: "Failed to start server. Is port 1455 in use?")

Stderr output:

[FATAL] Failed to start HTTP server on port 9200: Failed to start server. Is port 1455 in use?
[FATAL] Port 9200 is already in use. Chromium should try a different port.

Exit code: 2

Key observations

  1. Port 9200 is NOT in use — verified via netstat and successfully bound from PowerShell using TcpListener.
  2. "Port 1455" is not a port — the number 1455 appears to be a Windows socket error code leaking into the Bun error message template. This is consistent with oven-sh/bun#12127 where hostname/binding issues produce misleading port error messages.
  3. The crash loop is persistent — the server log (browseros-server.log) contains 5,300+ identical crash-restart cycles, indicating this has been broken since installation. Chromium's proxy on port 9054 returns HTTP 503 "Service Unavailable" as a result.
  4. Everything else works — CDP connection, WebSocket controller extension, and tool loading all succeed. Only the final Bun.serve() HTTP binding fails.

Suspected cause

The compiled Bun binary may be attempting to bind to an IPv6 address (e.g., :: or ::1) that Windows rejects, or there's a Windows-specific socket error in how Bun.serve() initializes the listener in the compiled binary. The error code 1455 maps to ERROR_WORKING_SET_QUOTA in Win32, though it may also be a misinterpreted errno from the socket layer.

Impact

The BrowserOS MCP server is completely non-functional on this Windows installation. The MCP settings page at chrome-extension://.../app.html#/settings/mcp shows:

Streamable HTTP error: Error POSTing to endpoint: Service Unavailable

Workaround attempted

Manually running the server binary with the same arguments produces the identical error. No firewall rules block the ports. The issue appears to be internal to the Bun-compiled binary's HTTP server initialization on Windows.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions