You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Add console errors for potential nested infinite loop before throwing
Gather production data in a `enableInfiniteLoopDetection` experiment around existing potential infinite loops.
We disabled `enableInfiniteLoopDetection` with facebook#31088 as it was introducing new crashes that were hard to debug, especially with sibling prewarming.
One issue with the previous rollout is that we were introducing new crashes for components that may have settled after the 50 pass limit, but before a real crash or infinite loop. This happened more frequently after enabling sibling prewarming which in some cases increased render counts that may have already been close to the limit.
This change enables a console error where we used to throw (at 50 nested renders) while continuing to throw an error if that is hit 10 times (500 total nested renders being the new limit for throwing).
This is a temporary mechanism to allow us to collect more data about potential crashes in production, without introducing new crashes ourselves. The goal will be to design a smarter mechanism, maybe not counting prewarming passes for example, and/or adjusting the final limit to make it easier to enable this on existing apps.
0 commit comments