{"record":{"id":"6a9af85bb2d92ff2","repo":"stablyai/orca","slug":"base-run-already-has-disable-gpu-sandbox-cannot","errorCode":null,"errorMessage":"Base run already has --disable-gpu-sandbox; cannot validate the unfixed Wayland path.","messagePattern":"Base run already has --disable-gpu-sandbox; cannot validate the unfixed Wayland path\\.","errorType":"exception","errorClass":"MissingReproductionError","httpStatus":null,"severity":"warning","filePath":"config/scripts/verify-linux-wayland-gpu-sandbox.mjs","lineNumber":265,"sourceCode":"    )\n    commandLineSwitches = await runWithTimeout(\n      'Electron command-line switches',\n      () =>\n        app.evaluate(({ app: electronApp }) => ({\n          disableGpuSandbox: electronApp.commandLine.hasSwitch('disable-gpu-sandbox'),\n          disableGpu: electronApp.commandLine.hasSwitch('disable-gpu'),\n          ozonePlatform: electronApp.commandLine.getSwitchValue('ozone-platform'),\n          enableFeatures: electronApp.commandLine.getSwitchValue('enable-features')\n        })),\n      rendererSetupTimeoutMs\n    )\n    logPhase(\n      'app.switches',\n      `disableGpuSandbox=${commandLineSwitches.disableGpuSandbox} disableGpu=${commandLineSwitches.disableGpu}`\n    )\n\n    if (mode === 'expect-repro' && commandLineSwitches.disableGpuSandbox) {\n      throw new MissingReproductionError(\n        'Base run already has --disable-gpu-sandbox; cannot validate the unfixed Wayland path.'\n      )\n    }\n    if (mode === 'expect-repro' && commandLineSwitches.disableGpu) {\n      throw new MissingReproductionError(\n        'Base run has --disable-gpu; hardware acceleration is disabled and would mask the GPU sandbox path.'\n      )\n    }\n    if (mode === 'verify-fix' && !commandLineSwitches.disableGpuSandbox) {\n      throw new Error('Expected --disable-gpu-sandbox on Linux Wayland, but it was absent.')\n    }\n    if (mode === 'verify-fix' && commandLineSwitches.disableGpu) {\n      throw new Error('Expected hardware acceleration to remain enabled, but --disable-gpu is set.')\n    }\n\n    logPhase('window.first')\n    page = await runWithTimeout('first renderer window', () => app.firstWindow(), timeoutMs)\n    logPhase('window.load')","sourceCodeStart":247,"sourceCodeEnd":283,"githubUrl":"https://github.com/stablyai/orca/blob/1136503c6a231a16dce8f921f6fadb63d181e8db/config/scripts/verify-linux-wayland-gpu-sandbox.mjs#L247-L283","documentation":"In --mode=expect-repro the script must exercise the UNFIXED Wayland GPU path so it can confirm the bug still reproduces. If the launched Electron app already carries --disable-gpu-sandbox on its command line, the unfixed path is masked and the reproduction is invalid — the script throws MissingReproductionError. This is a test-integrity failure, not an app bug: it means the harness cannot trust a non-crash as evidence.","triggerScenarios":"mode === 'expect-repro' AND electronApp.commandLine.hasSwitch('disable-gpu-sandbox') is true at line 264. Happens when the Electron build/launch args already inject --disable-gpu-sandbox (e.g. a leftover default, a global flags file, or the fix landed and is now always-on).","commonSituations":"The GPU-sandbox fix was merged so the app now always disables the sandbox; a stale electron command-line flags file; running expect-repro against a build that already ships the workaround.","solutions":["Confirm you are testing a build WITHOUT the fix when running --mode=expect-repro (checkout the pre-fix commit or disable the auto-applied switch).","Remove any global Electron flags file or env that injects --disable-gpu-sandbox.","If the fix is now always-on, expect-repro is no longer meaningful — run --mode=verify-fix instead."],"exampleFix":null,"handlingStrategy":"validation","validationCode":"if (mode === 'expect-repro' && electronApp.commandLine.hasSwitch('disable-gpu-sandbox')) {\n  console.error('expect-repro requires the UNFIXED build; the fix is masking the repro.')\n}","typeGuard":null,"tryCatchPattern":"try {\n  await runScenario(app, 'expect-repro')\n} catch (error) {\n  if (error instanceof MissingReproductionError) {\n    // harness integrity failure — do not treat as 'bug fixed'\n    console.error('Reproduction masked:', error.message)\n  }\n  throw error\n}","preventionTips":["Use expect-repro only against a pre-fix build.","Remove any global Electron flags file that injects --disable-gpu-sandbox before the repro run."],"tags":["wayland","gpu-sandbox","reproduction","test-integrity","missing-repro"],"backgroundTag":null,"analyzedSha":"1136503c6a231a16dce8f921f6fadb63d181e8db","analyzedAt":"2026-08-12T23:15:58.167Z","schemaVersion":2},"datasetVersion":"2026-08-12T23:17:12.415Z"}