-
Notifications
You must be signed in to change notification settings - Fork 4.7k
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
[SDK 49][0.72.7][Android] expo-dev-client
causes NullPointerException in DevLoadingModule
during hot-reload
#25520
Comments
expo-dev-client
causes NullPointerException in DevLoadingModule
expo-dev-client
causes NullPointerException in DevLoadingModule
expo-dev-client
causes NullPointerException in DevLoadingModule
during hot-reload
I confirm it is happening too with |
Same for me and my team on:
|
I am having the same problem!
|
Same:
|
This happens with me too, although expo-doctor suggests to use
Weird that this warning doesn't show when running |
Hi guys, Hi, I had the same problem, I just downgrade this dependencies to:
And that solves the problem |
Same with |
Same issue here, simply reverting to react-native 0.72.6 fixes it |
I can confirm this is happening to my team also. |
I run the command |
Perhaps the module should start considering use of the |
Same problem! |
I'm using After running The error stoped after this. |
We're developing our expo app in an Nx monorepo along side other bare bones react native apps and this crash started happening once we upgraded For us it's not feasible to downgrade back to |
hi there! this issue was caused by a regression in react-native in the 0.72.7 release. the react-native APIs that expo-dev-client uses are not always stable and we're working with Meta on improving that (see: react-native-community/discussions-and-proposals#759 (comment)). we'll investigate what it would take to work around this regression. |
Thank you for filing this issue! |
# Why Update react-native to the latest 0.72 patch for SDK 49 Related to #25520 Closes ENG-11348 # How - update package versions - `react-native 0.73.6 -> 0.73.10` ## Follow-up In order to fix #25520 we will need to disable the `DevLoadingModule` on Android when using dev-client. That's because in 0.72.7 ,`DevLoadingModule` checks specifically for an instance of `BridgeDevSupportManager` to initialize `mDevLoadingViewManager` and given that DevLauncher uses a custom bridge support manager this check fails and `mDevLoadingViewManager` is never initialized. Because of that, I'll be opening a separate PR specific for this dev-launcher fix. # Test Plan - bare-expo ios / android - fabric ios / android # Checklist <!-- Please check the appropriate items below if they apply to your diff. This is required for changes to Expo modules. --> - [ ] Documentation is up to date to reflect these changes (eg: https://docs.expo.dev and README.md). - [ ] Conforms with the [Documentation Writing Style Guide](https://github.com/expo/expo/blob/main/guides/Expo%20Documentation%20Writing%20Style%20Guide.md) - [ ] This diff will work correctly for `npx expo prebuild` & EAS Build (eg: updated a module plugin).
…tation (#27010) # Why Closes #25520 Closes ENG-11348 In react-native 0.72.7 the `DevLoadingModule` module was enabled but the logic used in its constructor checks specifically for an instance of `BridgeDevSupportManager` to initialize `mDevLoadingViewManager` and given that DevLauncher uses a custom bridge support manager this check fails and `mDevLoadingViewManager` is never initialized, causing a crash when the HMR client invokes it from the JS side. # How Swap out react-native DevLoadingModule with a custom implementation that uses the correct checks for initializing `mDevLoadingViewManager` # Test Plan Run dev-client through BareExpo and ensure hot reloading works # Checklist <!-- Please check the appropriate items below if they apply to your diff. This is required for changes to Expo modules. --> - [ ] Documentation is up to date to reflect these changes (eg: https://docs.expo.dev and README.md). - [ ] Conforms with the [Documentation Writing Style Guide](https://github.com/expo/expo/blob/main/guides/Expo%20Documentation%20Writing%20Style%20Guide.md) - [ ] This diff will work correctly for `npx expo prebuild` & EAS Build (eg: updated a module plugin).
…se of auto setup enabled (#27068) # Why I see the following crash in a build that has dev client disabled via `enableAutoSetup = false` - #25520 <!-- Please describe the motivation for this PR, and link to relevant GitHub issues, forums posts, or feature requests. --> # How <!-- How did you build this feature or fix this bug and why? --> I saw DevLauncherDevSupportManager being set via reactnativehosthandler, even though I have disabled dev client. # Test Plan Try out bare expo with `enableAutoSetup` false. Then edit a file to trigger HMR. I should not see following crash: #25520 <!-- Please describe how you tested this change and how a reviewer could reproduce your test, especially if this PR does not include automated tests! If possible, please also provide terminal output and/or screenshots demonstrating your test/reproduction. --> # Checklist <!-- Please check the appropriate items below if they apply to your diff. This is required for changes to Expo modules. --> - [ ] Documentation is up to date to reflect these changes (eg: https://docs.expo.dev and README.md). - [ ] Conforms with the [Documentation Writing Style Guide](https://github.com/expo/expo/blob/main/guides/Expo%20Documentation%20Writing%20Style%20Guide.md) - [ ] This diff will work correctly for `npx expo prebuild` & EAS Build (eg: updated a module plugin).
…se of auto setup enabled (#27068) # Why I see the following crash in a build that has dev client disabled via `enableAutoSetup = false` - #25520 <!-- Please describe the motivation for this PR, and link to relevant GitHub issues, forums posts, or feature requests. --> # How <!-- How did you build this feature or fix this bug and why? --> I saw DevLauncherDevSupportManager being set via reactnativehosthandler, even though I have disabled dev client. # Test Plan Try out bare expo with `enableAutoSetup` false. Then edit a file to trigger HMR. I should not see following crash: #25520 <!-- Please describe how you tested this change and how a reviewer could reproduce your test, especially if this PR does not include automated tests! If possible, please also provide terminal output and/or screenshots demonstrating your test/reproduction. --> # Checklist <!-- Please check the appropriate items below if they apply to your diff. This is required for changes to Expo modules. --> - [ ] Documentation is up to date to reflect these changes (eg: https://docs.expo.dev and README.md). - [ ] Conforms with the [Documentation Writing Style Guide](https://github.com/expo/expo/blob/main/guides/Expo%20Documentation%20Writing%20Style%20Guide.md) - [ ] This diff will work correctly for `npx expo prebuild` & EAS Build (eg: updated a module plugin).
any solutions here? my dependecies: |
The solution for me was in package.json: Expo SDK: "expo": "~49.0.13" I also removed the option for automatic updates, fixing the version at 0.72.6. This really solved the issue, as mentioned in the previous comment. Before applying this solution, I was encountering the following error:
In Crashlytics, the logged error was:
|
Summary
After bumping react native to
0.72.7
, saving the project will immediately crash the Android app.It's definitely related to this commit. The introduction of
DevLoadingModule
does not play well withexpo-dev-client
.Managed or bare workflow?
bare
What platform(s) does this occur on?
Android
Package versions
Environment
Reproducible demo
https://github.com/thespacemanatee/dev_loading_module_crash_repro
Please checkout branch without-expo-dev-client to see that hot reloading works without
expo-dev-client
Stacktrace (if a crash is involved)
The text was updated successfully, but these errors were encountered: