stablyai/orca · error · Error
Electron trial did not report a result (status ${result.stat
Error message
Electron trial did not report a result (status ${result.status}) What it means
Thrown by runTrial when Electron exited status 0 but no line beginning with RESULT_PREFIX was found in stdout, AND either this is the last attempt (MAX_LAUNCH_ATTEMPTS) or there is stderr/stdout noise. The benchmark relies on runInternal printing `ORCA_HANG_WATCHDOG_BENCH_RESULT=<json>`; its absence means the measurement path completed silently or was redirected.
Source
Thrown at config/scripts/hang-watchdog-memory-benchmark.mjs:354
env,
encoding: 'utf8',
timeout: 90_000
})
} finally {
rmSync(launcherDir, { recursive: true, force: true })
}
if (result.status !== 0) {
throw new Error(
`Electron trial failed (${result.error?.message ?? result.signal ?? result.status}):\n` +
`${result.stderr || result.stdout}`
)
}
const line = result.stdout.split('\n').find((candidate) => candidate.startsWith(RESULT_PREFIX))
if (line) {
return { ...JSON.parse(line.slice(RESULT_PREFIX.length)), launchAttempts: attempt }
}
if (attempt === MAX_LAUNCH_ATTEMPTS || result.stderr || result.stdout) {
throw new Error(`Electron trial did not report a result (status ${result.status})`)
}
}
throw new Error('Electron trial exhausted launcher attempts')
}
function runBenchmark() {
if (process.platform !== 'darwin') {
throw new Error('The production watchdog is macOS-only; run this benchmark on macOS')
}
if (!existsSync(entryPath)) {
throw new Error(`Missing ${entryPath}; run pnpm exec electron-vite build first`)
}
const options = parseArgs(process.argv.slice(2))
const builtEntry = readFileSync(entryPath, 'utf8')
const hasChildContract = builtEntry.includes('ORCA_HANG_WATCHDOG_PARENT_PID')
const hasWorkerContract = builtEntry.includes('workerData') && builtEntry.includes('parentPort')
if (
(options.boundary === 'child' && !hasChildContract) ||View on GitHub (pinned to 1136503c6a)
Solutions
- Inspect the captured stdout/stderr quoted in a sibling run (the [68] error path also surfaces them).
- Ensure the watchdog under test does not write to stdout — it should use IPC/markers only.
- Rebuild the entry and re-run; a stale build can behave inconsistently.
- If noise is the cause, suppress non-result stdout in the launcher.
Defensive patterns
Strategy: try-catch
Validate before calling
// Ensure the watchdog under test does not write to stdout, which can trip the noise condition // (validate at build time, not runtime)
Try / catch
try {
const result = runTrial(executable, boundary)
} catch (error) {
if (/did not report a result/.test(error.message)) {
// Inspect launcher stdout/stderr manually; suppress non-result output from the watchdog
console.error('No RESULT line printed — check for stdout pollution or an early return in runInternal')
}
throw error
} Prevention
- Keep the watchdog under test from writing to stdout — use IPC and marker files only.
- Ensure runInternal always reaches the RESULT_PREFIX write in its try block.
When it happens
Trigger: runInternal finished without writing the result line (early return, swallowed exception inside app.whenReady), stdout was captured/redirected away from the parent, or the result JSON threw during JSON.stringify. The presence of any stderr/stdout forces the throw immediately even on non-final attempts.
Common situations: A bug in runInternal that returns without writing the result, console.log noise from the watchdog under test polluting stdout before the result line and tripping the stderr/stdout condition, or a buffering issue truncating stdout.
Related errors
- Electron trial failed (${result.error?.message ?? result.sig
- Electron trial exhausted launcher attempts
- Electron did not expose GC; keep --js-flags=--expose-gc in t
- The production watchdog is macOS-only; run this benchmark on
- Unsupported boundary: ${boundary}
AI-assisted analysis of stablyai/orca@1136503c6a (2026-08-12).
Data as JSON: /api/errors/d4bdf277ecd39f4c.
Report an issue: GitHub.