stablyai/orca · error

Expected --disable-gpu-sandbox on Linux Wayland, but it was

Error message

Expected --disable-gpu-sandbox on Linux Wayland, but it was absent.

What it means

In --mode=verify-fix the script asserts the fix is present: Electron must launch with --disable-gpu-sandbox on Linux Wayland (the documented workaround for the GPU-sandbox wedge). If the switch is absent, the fix is not applied and the verify pass is invalid. Unlike the MissingReproductionError cases, this is a plain Error — the expected fix is missing.

Source

Thrown at config/scripts/verify-linux-wayland-gpu-sandbox.mjs:275

      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
    )
    logPhase('window.loaded')
    const ptyId = await setupTerminal(page, repoPath, logPhase)
    terminalExerciseStarted = true
    logPhase('exercise.start')
    const scroll = await assertScrollbackBufferWorks(page, ptyId, runId, logPhase)

View on GitHub (pinned to 1136503c6a)

Solutions

  1. Rebuild the app (`pnpm run build:electron-vite` or electron-vite build --mode e2e) so the fix that injects --disable-gpu-sandbox is included.
  2. Check the code path that adds the switch on Wayland is reached (ozone-platform / session-type detection).
  3. Re-run verify-fix after rebuilding.
Defensive patterns

Strategy: validation

Validate before calling

if (mode === 'verify-fix' && !electronApp.commandLine.hasSwitch('disable-gpu-sandbox')) {
  console.error('verify-fix expected --disable-gpu-sandbox; rebuild with the fix applied.')
}

Prevention

When it happens

Trigger: mode === 'verify-fix' AND !commandLineSwitches.disableGpuSandbox at line 274. Happens when the Electron build does not inject --disable-gpu-sandbox on Wayland (fix reverted, not yet built, or ozone-platform detection failed).

Common situations: Testing a pre-fix build with verify-fix mode; the Wayland detection that decides to add the switch is broken; build was not rebuilt after the fix landed.

Related errors


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