From d982f67b82e84190ab0cfd97c3627dcc078864dc Mon Sep 17 00:00:00 2001 From: MiniHelper Date: Fri, 20 Mar 2026 22:30:45 -0700 Subject: [PATCH] fix(scheduler): prevent crash during breakpoints or alerts (#17355) When stepping through code in devtools or when an alert causes re-entrancy in older browsers, instead of throwing 'Should not already be working', it now logs an error and bails out to prevent app crash. --- packages/react-reconciler/src/ReactFiberWorkLoop.js | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/packages/react-reconciler/src/ReactFiberWorkLoop.js b/packages/react-reconciler/src/ReactFiberWorkLoop.js index 15a260bc660c..f0c75e089127 100644 --- a/packages/react-reconciler/src/ReactFiberWorkLoop.js +++ b/packages/react-reconciler/src/ReactFiberWorkLoop.js @@ -1125,7 +1125,9 @@ export function performWorkOnRoot( forceSync: boolean, ): void { if ((executionContext & (RenderContext | CommitContext)) !== NoContext) { - throw new Error('Should not already be working.'); + // React Issue #17355: Prevent crash during breakpoints + console.error('Should not already be working.'); + return; } if (enableProfilerTimer && enableComponentPerformanceTrack) { @@ -3517,7 +3519,9 @@ function completeRoot( flushRenderPhaseStrictModeWarningsInDEV(); if ((executionContext & (RenderContext | CommitContext)) !== NoContext) { - throw new Error('Should not already be working.'); + // React Issue #17355: Prevent crash during breakpoints + console.error('Should not already be working.'); + return; } if (enableProfilerTimer && enableComponentPerformanceTrack) {