-
Notifications
You must be signed in to change notification settings - Fork 24.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Report early js exceptions on the js thread #46116
Conversation
This pull request was exported from Phabricator. Differential Revision: D61339213 |
Summary: Pull Request resolved: facebook#46116 If your app raises an early js exception, and you cold start it, often you'll see this error: ``` SurfaceRegistryBinding::startSurface failed. Global was not installed. ``` {F1807125099} The reason why is because two different threads race to redbox: * The nativemodule thread: the early js error (reported [here](https://fburl.com/code/vcrqzsdp)) * The javascript thread: the SurfaceRegistryBinding error (a subsequent native -> js call) After this diff, the early js error will **not jump onto the nativemodule thread** to report this error. This ensures that we "always" (to the best of my knowledge) see the early js error first. Changelog: [Internal] Reviewed By: mdvacca Differential Revision: D61339213
This pull request was exported from Phabricator. Differential Revision: D61339213 |
46483d3
to
cfbe6e4
Compare
This pull request was exported from Phabricator. Differential Revision: D61339213 |
cfbe6e4
to
1fab238
Compare
Summary: Pull Request resolved: facebook#46116 If your app raises an early js exception, and you cold start it, often you'll see this error: ``` SurfaceRegistryBinding::startSurface failed. Global was not installed. ``` {F1807125099} The reason why is because two different threads race to redbox: * The nativemodule thread: the early js error (reported [here](https://fburl.com/code/vcrqzsdp)) * The javascript thread: the SurfaceRegistryBinding error (a subsequent native -> js call) After this diff, the early js error will **not jump onto the nativemodule thread** to report this error. This ensures that we "always" (to the best of my knowledge) see the early js error first. Changelog: [Internal] Reviewed By: mdvacca Differential Revision: D61339213
Summary: Pull Request resolved: facebook#46116 If your app raises an early js exception, and you cold start it, often you'll see this error: ``` SurfaceRegistryBinding::startSurface failed. Global was not installed. ``` {F1807125099} The reason why is because two different threads race to redbox: * The nativemodule thread: the early js error (reported [here](https://fburl.com/code/vcrqzsdp)) * The javascript thread: the SurfaceRegistryBinding error (a subsequent native -> js call) After this diff, the early js error will **not jump onto the nativemodule thread** to report this error. This ensures that we "always" (to the best of my knowledge) see the early js error first. Changelog: [Internal] Reviewed By: mdvacca Differential Revision: D61339213
This pull request was exported from Phabricator. Differential Revision: D61339213 |
1fab238
to
5f40a80
Compare
This pull request has been merged in a949e0d. |
This pull request was successfully merged by @RSNara in a949e0d When will my fix make it into a release? | How to file a pick request? |
Summary:
If your app raises an early js exception, and you cold start it, often you'll see this error:
{F1807125099}
The reason why is because two different threads race to redbox:
After this diff, the early js error will not jump onto the nativemodule thread to report this error.
This ensures that we "always" (to the best of my knowledge) see the early js error first.
Changelog: [Internal]
Reviewed By: mdvacca
Differential Revision: D61339213