commit 7b6d9e19d5164dff1c41b41333426ba0bb00b6db
parent 04b79e143f1822d644cbe64f2dc106cf8f751f49
Author: Alexandru Marc <amarc@mozilla.com>
Date: Tue, 30 Sep 2025 20:39:23 +0300
Revert "Bug 1991502 - Ensure we retry launching the GPU process after early launch errors. r=gfx-reviewers,bradwerth" for causing xpcshell failures @ test_ipcshell.js
This reverts commit a7b1b356be396377b98cf8511a15ab2a82af6823.
Diffstat:
1 file changed, 4 insertions(+), 23 deletions(-)
diff --git a/gfx/ipc/GPUProcessManager.cpp b/gfx/ipc/GPUProcessManager.cpp
@@ -392,11 +392,9 @@ nsresult GPUProcessManager::EnsureGPUReady(
if (!mProcess->WaitForLaunch()) {
// If this fails, we should have fired OnProcessLaunchComplete and
- // removed the process. The algorithm either allows us another attempt
- // or it will have disabled the GPU process.
- MOZ_ASSERT(!mProcess);
- MOZ_ASSERT(!mGPUChild);
- continue;
+ // removed the process.
+ MOZ_ASSERT(!mProcess && !mGPUChild);
+ return NS_ERROR_FAILURE;
}
}
@@ -576,25 +574,8 @@ GPUProcessManager::CreateUiCompositorController(nsBaseWidget* aWidget,
void GPUProcessManager::OnProcessLaunchComplete(GPUProcessHost* aHost) {
MOZ_ASSERT(mProcess && mProcess == aHost);
- // By definition, the process failing to launch is an unstable attempt. While
- // we did not get to the point where we are using the features, we should just
- // follow the same fallback procedure.
if (!mProcess->IsConnected()) {
- ++mUnstableProcessAttempts;
- mozilla::glean::gpu_process::unstable_launch_attempts.Set(
- mUnstableProcessAttempts);
- if (mUnstableProcessAttempts >
- uint32_t(StaticPrefs::layers_gpu_process_max_restarts())) {
- char disableMessage[64];
- SprintfLiteral(disableMessage,
- "Failed to connect GPU process after %d attempts",
- mTotalProcessAttempts);
- if (!MaybeDisableGPUProcess(disableMessage, /* aAllowRestart */ true)) {
- // Fallback wants the GPU process. Reset our counter.
- MOZ_DIAGNOSTIC_ASSERT(gfxConfig::IsEnabled(Feature::GPU_PROCESS));
- mUnstableProcessAttempts = 0;
- }
- }
+ DisableGPUProcess("Failed to connect GPU process");
return;
}