stablyai/orca · warning · MissingReproductionError
Base run has --disable-gpu; hardware acceleration is disable
Error message
Base run has --disable-gpu; hardware acceleration is disabled and would mask the GPU sandbox path.
What it means
In --mode=expect-repro, if the launched Electron app has --disable-gpu set, hardware acceleration is off entirely and the GPU sandbox code path under test would never be exercised — a crash absence here would be meaningless. The script throws MissingReproductionError so a false 'bug fixed' conclusion cannot be drawn. Like 256, this is a harness-integrity guard, not an application defect.
Source
Thrown at config/scripts/verify-linux-wayland-gpu-sandbox.mjs:270
disableGpuSandbox: electronApp.commandLine.hasSwitch('disable-gpu-sandbox'),
disableGpu: electronApp.commandLine.hasSwitch('disable-gpu'),
ozonePlatform: electronApp.commandLine.getSwitchValue('ozone-platform'),
enableFeatures: electronApp.commandLine.getSwitchValue('enable-features')
})),
rendererSetupTimeoutMs
)
logPhase(
'app.switches',
`disableGpuSandbox=${commandLineSwitches.disableGpuSandbox} disableGpu=${commandLineSwitches.disableGpu}`
)
if (mode === 'expect-repro' && commandLineSwitches.disableGpuSandbox) {
throw new MissingReproductionError(
'Base run already has --disable-gpu-sandbox; cannot validate the unfixed Wayland path.'
)
}
if (mode === 'expect-repro' && commandLineSwitches.disableGpu) {
throw new MissingReproductionError(
'Base run has --disable-gpu; hardware acceleration is disabled and would mask the GPU sandbox path.'
)
}
if (mode === 'verify-fix' && !commandLineSwitches.disableGpuSandbox) {
throw new Error('Expected --disable-gpu-sandbox on Linux Wayland, but it was absent.')
}
if (mode === 'verify-fix' && commandLineSwitches.disableGpu) {
throw new Error('Expected hardware acceleration to remain enabled, but --disable-gpu is set.')
}
logPhase('window.first')
page = await runWithTimeout('first renderer window', () => app.firstWindow(), timeoutMs)
logPhase('window.load')
await runWithTimeout(
'renderer domcontentloaded',
() => page.waitForLoadState('domcontentloaded'),
rendererSetupTimeoutMs
)View on GitHub (pinned to 1136503c6a)
Solutions
- Run on a host/compositor that provides real GPU acceleration so --disable-gpu is not auto-applied.
- Remove any Electron flags file or env that injects --disable-gpu for the expect-repro run.
- Confirm the GL stack works (glxinfo/eglinfo) before re-running.
Defensive patterns
Strategy: validation
Validate before calling
if (mode === 'expect-repro' && electronApp.commandLine.hasSwitch('disable-gpu')) {
console.error('expect-repro needs GPU acceleration ON; --disable-gpu masks the repro.')
} Try / catch
try {
await runScenario(app, 'expect-repro')
} catch (error) {
if (error instanceof MissingReproductionError) {
console.error('Harness cannot reproduce; not evidence of a fix:', error.message)
}
throw error
} Prevention
- Run expect-repro on a host with real GPU acceleration (not a GL-less nested compositor).
- Remove any flags/env that injects --disable-gpu.
When it happens
Trigger: mode === 'expect-repro' AND electronApp.commandLine.hasSwitch('disable-gpu') is true at line 269. Caused by software-rendering mode, a flags file forcing --disable-gpu, or a headless/nested compositor with no GL.
Common situations: Running under weston/XVFB without GL acceleration so the launcher forces --disable-gpu; a stale flags file; a CI GPU-less runner.
Related errors
- Base run already has --disable-gpu-sandbox; cannot validate
- Expected hardware acceleration to remain enabled, but --disa
- Timed out polling renderer diagnostics after ${pollTimeoutMs
- Timed out polling ${label} after ${pollTimeoutMs}ms.
- Timed out during ${label} after ${timeoutMs}ms.
AI-assisted analysis of stablyai/orca@1136503c6a (2026-08-12).
Data as JSON: /api/errors/e6dd42316f15d802.
Report an issue: GitHub.