oven-sh/bun · error

no UNIT_DATA in ${path}

Error message

no UNIT_DATA in ${path}

What it means

Error "no UNIT_DATA in ${path}" thrown in oven-sh/bun.

Source

Thrown at scripts/rust-timings.ts:93

}
interface Unit {
  i: number;
  name: string;
  version: string;
  target: string;
  start: number;
  duration: number;
  /** Units unblocked when this unit's rlib is done. */
  unblocked_units: number[];
  /** Units unblocked when this unit's rmeta is done (pipelining). */
  unblocked_rmeta_units: number[];
  sections?: [string, Section][];
}

function parseTimingsHtml(path: string): { units: Unit[]; total: number } {
  const html = readFileSync(path, "utf8");
  const m = html.match(/const UNIT_DATA = (\[[\s\S]*?\n?\]);/);
  if (!m) throw new Error(`no UNIT_DATA in ${path}`);
  const units: Unit[] = JSON.parse(m[1]);
  const total = units.length === 0 ? 0 : Math.max(...units.map(u => u.start + u.duration));
  return { units, total };
}

/**
 * Time at which this unit unblocks downstream rmeta-dependents. For a
 * pipelined rlib that's when the frontend finishes (rmeta written), not
 * when codegen is done.
 */
function rmetaEnd(u: Unit): number {
  const fe = u.sections?.find(s => s[0] === "frontend");
  return u.start + (fe ? fe[1].end : u.duration);
}

function section(u: Unit, name: string): number {
  const s = u.sections?.find(x => x[0] === name);
  return s ? s[1].end - s[1].start : 0;

View on GitHub (pinned to 8c5296ac45)

When it happens

Trigger: Thrown at scripts/rust-timings.ts:93 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of oven-sh/bun@8c5296ac45 (2026-08-16). Data as JSON: /api/errors/f22e2e405fbca67a. Report an issue: GitHub.