[Bug]: iOS crash during dev reload — NavModule event emitters called with invalid bridge
Les mainteneurs répondent en général sous 5 jours
Évaluation
Cette issue n'a pas encore été évaluée.
Description
Bug Description
During React Native development reloads (e.g. CMD+R or fast refresh), the app crashes on iOS because callback methods in NavModule.mm attempt to emit events through the React Native bridge after it has been invalidated/torn down.
The crash occurs because navigation callbacks (onLocationChanged, onArrival, onRemainingTimeOrDistanceChanged, onRouteChanged, onReroutingRequestedByOffRoute, onStartGuidance, onTurnByTurn) continue to fire after the bridge is destroyed during reload, and the emit* calls throw exceptions when the bridge is unavailable.
Steps to Reproduce
- Start a React Native app using
@googlemaps/react-native-navigation-sdkon iOS - Begin an active navigation session (so callbacks are firing)
- Trigger a development reload (CMD+R or save a file with fast refresh)
- App crashes
Expected Behavior
The app should gracefully handle the bridge being unavailable during reload without crashing.
Suggested Fix
Wrap each emit* call in the INavigationCallback methods in NavModule.mm with a try-catch block to silently ignore exceptions when the bridge is invalid during reload. The affected methods are:
onLocationChanged:onArrival:onRemainingTimeOrDistanceChangedWithNavigator:onRouteChangedonReroutingRequestedByOffRouteonStartGuidanceonTurnByTurn:
Example fix for one method:
- (void)onLocationChanged:(NSDictionary *)mappedLocation {
try {
[self emitOnLocationChanged:@{@"location" : mappedLocation}];
} catch (...) {
// Bridge may be invalid during dev reload - ignore to prevent crash
}
}
The same pattern applies to all 7 callback methods listed above.
Environment
- SDK version: 0.14.1
- Platform: iOS
- React Native: 0.76+
- Langage dominant
- TypeScript
- Étoiles
- 226
- Forks
- 39
- Merge moyen
- 1 j 20 h
- PR mergées (30 j)
- 7
Préparer son environnement
- Aucun Dockerfile ni fichier Docker Compose
- Propose un modèle de pull request
- Lire le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de googlemaps/react-native-navigation-sdk
-
[Support Request]: Status of Expo config plugin release (prebuild fails on 0.19.0)Peut-être pris @jokerttu l’a pris il y a 2 jours. Ouverte
googlemaps/react-native-navigation-sdk#711 · 1 personne assignée ·
Les mainteneurs répondent en général sous 5 jours
-
[Bug]: In-navigation notification can't be stoppedPeut-être pris @jokerttu l’a pris il y a 8 jours. Ouvertetriage me type: bug
googlemaps/react-native-navigation-sdk#696 · 1 personne assignée ·
Les mainteneurs répondent en général sous 5 jours
-
[Bug]: [iOS] Navigation SDK init/quota retry loop pins the main thread; React Native's Settings module and addMarker's temporary GMSMarker add to the costPeut-être pris @illuminati1911 l’a pris il y a 15 jours. Ouvertetriage me type: bug
googlemaps/react-native-navigation-sdk#687 · 1 personne assignée ·
Les mainteneurs répondent en général sous 5 jours
-
[Bug]: iOS crash in GMSObjectDataCache Core Data save (fatal optimistic locking failure)Peut-être à nouveau libre @illuminati1911 l’a pris il y a 61 jours, et aucune pull request n’est ouverte. Ouvertenative sdk issue
googlemaps/react-native-navigation-sdk#647 · 1 commentaire · 1 personne assignée ·
Les mainteneurs répondent en général sous 5 jours
-
[Bug]: CarPlay map view never sets GMSMapViewOptions.screen, so the navigation header and footer are sized for the phonePeut-être à nouveau libre @jokerttu l’a pris il y a 74 jours, et aucune pull request n’est ouverte. Ouverte
googlemaps/react-native-navigation-sdk#640 · 4 commentaires · 1 réaction · 1 personne assignée ·
Les mainteneurs répondent en général sous 5 jours
Toutes les issues de googlemaps/react-native-navigation-sdk
Issues similaires
-
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
home-assistant/frontend#55841 ·
Les mainteneurs répondent en général sous 1 jour
-
community first-timers-only good first issue hacktoberfest help wanted low hanging fruit up-for-grabs
Difficulté 1/5 Moins d'une heure Accessibilité débutants 76/100
lingdojo/kana-dojo#33905 · 1 commentaire · 5 réactions ·
Les mainteneurs répondent en général sous 1 jour
-
bug(semester-planning): the edit application dialog cannot save with an empty «Annet fra bedriften»Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
Les mainteneurs répondent en général sous 1 jour
-
blocklist removal
Difficulté 2/5 1-3 heures Accessibilité débutants 66/100
MetaMask/eth-phishing-detect#311215 ·
Les mainteneurs répondent en général sous 1 jour
-
Explore filter: multi-select value list with allowNewOptions stops accepting values and drops earlier onesPeut-être pris @isaac-jaynes-imperva l’a pris aujourd’hui. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
apache/superset#46146 · 1 commentaire ·
Les mainteneurs répondent en général sous 2 jours