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

  1. Run on a host/compositor that provides real GPU acceleration so --disable-gpu is not auto-applied.
  2. Remove any Electron flags file or env that injects --disable-gpu for the expect-repro run.
  3. 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

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


AI-assisted analysis of stablyai/orca@1136503c6a (2026-08-12). Data as JSON: /api/errors/e6dd42316f15d802. Report an issue: GitHub.