Skip to content

Bug: OpenAI pool-filler fails - Chrome on port 9336 not reachable (ProtocolException) #544

@Delqhi

Description

@Delqhi

Symptom

Pool filler reports POOL LOW! 1 tokens but fails to generate new tokens. Every attempt fails with:

fast_runner.py FAILED (rc=1)
stderr: nodriver.core.connection.ProtocolException: Failed to open new tab - no browser is open [code: -32000]

Pool reaches 5 consecutive failures then aborts. OCI circuit breaker opens after 3 failures (cooldown 521s).

Root Cause

The fast_runner.py tries to connect to Chrome on port 9336 via CDP. When Chrome on port 9336 is not running or not responsive, the connection fails. The runner says Rotator Chrome already alive on port 9336, reusing... but then fails to open a new tab = Chrome process exists but is in a broken state (crashed renderer, locked profile, etc.).

Evidence

[2026-03-29 00:34:39]   runner: Rotator Chrome already alive on port 9336, reusing...
[2026-03-29 00:34:39]   runner: successfully removed temp profile /var/folders/4k/...
[2026-03-29 00:34:39] fast_runner.py FAILED (rc=1)
[2026-03-29 00:34:39]   stderr: ProtocolException: Failed to open new tab - no browser is open [code: -32000]
[2026-03-29 00:34:39] Failure 1/3, backoff 30s...
# (repeats 3x then circuit breaker opens)

Current OCI circuit breaker state:

{"failures": 2, "last_failure": 1774740735.069933}

Fix Required

  1. Chrome health check before reuse: Before declaring Chrome on port 9336 as alive, actually verify it can open a tab (CDP ping)
  2. Auto-recovery: If tab open fails with -32000, kill Chrome on port 9336 and restart it fresh
  3. Circuit breaker reset: Add a manual or time-based circuit breaker reset mechanism
  4. Fallback: If both local and OCI fail, delay and retry instead of hard abort

Immediate Workaround

# Kill Chrome on port 9336
pkill -f 'remote-debugging-port=9336'
# Reset circuit breaker
echo '{"failures": 0}' > ~/.config/opencode/oci_circuit_breaker.json
# Restart pool filler
launchctl kickstart -k gui/$(id -u)/com.sin.opencode-pool-filler

Labels

bug, pool-filler, chrome, nodriver

Metadata

Metadata

Assignees

No one assigned

    Labels

    area/compatCompatibility with OpenCode, DCPinvalidThis doesn't seem right

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions