pbakaus/impeccable · error

Poll failed: {}

Error message

Poll failed: {}

What it means

handle_poll_error maps PollError::Other(m) to `Poll failed: <m>` and exits with code 1. This is the fallback arm for any poll failure that is not Auth, ConnRefused, or AckTimeout, carrying the underlying message in `m`.

Source

Thrown at crates/live/src/live_poll.rs:658

                "Try restarting: {} stop && {}\n",
                script_cmd(&env, &cwd, "live-server"),
                script_cmd(&env, &cwd, "live")
            ));
            1
        }
        PollError::ConnRefused => {
            io.err(&format!(
                "Live server not running. Start one with: {}\n",
                script_cmd(&env, &cwd, "live")
            ));
            1
        }
        PollError::AckTimeout(m) => {
            io.err(&format!("{}\n", m));
            1
        }
        PollError::Other(m) => {
            io.err(&format!("Poll failed: {}\n", m));
            1
        }
    }
}

fn arg_value_int(args: &[String], prefix: &str, default: i64) -> i64 {
    match args.iter().find(|a| a.starts_with(prefix)) {
        Some(a) => {
            let raw = a.splitn(2, '=').nth(1).unwrap_or("");
            let n = impeccable_core::js::parse_int(raw, 10);
            if n.is_nan() {
                i64::MIN
            } else {
                n as i64
            }
        }
        None => default,
    }

View on GitHub (pinned to 2bc2879276)

Solutions

  1. Read the interpolated `m` after 'Poll failed:' — it contains the actual cause.
  2. Restart both ends to rule out version/protocol drift: `<live-server> stop && <live>`.
  3. If it persists, rebuild the engine from source and re-run with IMPECCABLE_BIN pointing at the fresh binary, then report with the full message.
Defensive patterns

Strategy: try-catch

Try / catch

const res = await poll().catch(e => e);
if (res && res.kind === 'other') {
  console.error(`Poll failed: ${res.message} — restarting live session`);
  await exec('impeccable live-server stop && impeccable live');
}

Prevention

When it happens

Trigger: Any unexpected error during the live poll loop — malformed server response, protocol mismatch between client and server versions, I/O error reading the socket, or server-side panic surfaced as an error string.

Common situations: Engine binary version mismatch between poller and live-server (protocol drift); proxy or antivirus interfering with localhost sockets; corrupted state files yielding invalid requests.

Related errors


AI-assisted analysis of pbakaus/impeccable@2bc2879276 (2026-09-08). Data as JSON: /api/errors/063a942ca5871eaa. Report an issue: GitHub.