tinyhumansai/openhuman · error

[core-state] bootstrap budget exhausted; continuing with bac

Error message

[core-state] bootstrap budget exhausted; continuing with backoff. Suppressing further warnings until recovery:

What it means

CoreStateProvider bootstrap refresh: the retry budget (MAX_BOOTSTRAP_RETRIES) was exhausted, so the warning message escalates and the poller backs off instead of hammering the core, suppressing further warning noise until a successful refresh resets the counter. The app keeps running on the stale/last snapshot; recovery is automatic once the core answers again.

Source

Thrown at app/src/providers/CoreStateProvider.tsx:536

  );

  useEffect(() => {
    let cancelled = false;
    const doRefresh = async () => {
      try {
        await refresh();
        bootstrapFailCountRef.current = 0;
      } catch (error) {
        if (!cancelled) {
          bootstrapFailCountRef.current += 1;
          const safe = sanitizeError(error);
          const debugMessage = coreStatePollFailureDebugMessage(bootstrapFailCountRef.current);
          if (debugMessage) {
            log('%s error=%O', debugMessage, safe);
          }
          const warningMessage = coreStatePollFailureWarningMessage(bootstrapFailCountRef.current);
          if (warningMessage) {
            console.warn(warningMessage, safe);
          }
          if (bootstrapFailCountRef.current >= MAX_BOOTSTRAP_RETRIES) {
            commitState(previous => {
              if (previous.isBootstrapping) {
                return { ...previous, isBootstrapping: false };
              }
              return previous;
            });
          }
        }
      }
    };

    const load = async () => {
      await doRefresh();
      if (!cancelled) {
        const next = getCoreStateSnapshot();
        if (

View on GitHub (pinned to 7491200858)

Solutions

  1. Verify the core process: is it running, did it crash, is the RPC port/token valid
  2. Restart the core (or the app) if it is wedged — recovery re-arms on the next successful refresh
  3. Check core logs for the underlying RPC failure once warning suppression kicks in
Defensive patterns

Strategy: retry

When it happens

Trigger: Thrown at app/src/providers/CoreStateProvider.tsx:536 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of tinyhumansai/openhuman@7491200858 (2026-08-17). Data as JSON: /api/errors/f26a69ab97391155. Report an issue: GitHub.