Hi expo team, I did update SDK yesterday. (35 to 36). Android build does not work on android x versions. The application gives error after splash screen. "Application keep stopping". and no error. I'm just getting unsafe lifecycle methods warning from GridList and Hyperlink packages.
I uninstalled and tried these packages, but the problem persists. But there is a detail; The application opens smoothly on first installation. But if you close it through the task manager it won't open again.
Expo CLI 3.11.1 environment info:
System:
OS: macOS 10.15.1
Shell: 5.7.1 - /bin/zsh
Binaries:
Node: 10.17.0 - /usr/local/opt/node@10/bin/node
Yarn: 1.19.1 - /usr/local/bin/yarn
npm: 6.11.3 - /usr/local/opt/node@10/bin/npm
Watchman: 4.9.0 - /usr/local/bin/watchman
IDEs:
Android Studio: 3.5 AI-191.8026.42.35.5900203
Xcode: 11.1/11A1027 - /usr/bin/xcodebuild
npmPackages:
expo: ^36.0.0 => 36.0.0
react: 16.9.0 => 16.9.0
react-native: https://github.com/expo/react-native/archive/sdk-36.0.0.tar.gz => 0.61.4
react-navigation: ^4.0.10 => 4.0.10
npmGlobalPackages:
expo-cli: 3.11.1
I'm having the same issue on Xiaomi Note 7.
Here is what I'm getting at Firebase Crash analytics
Fatal Exception: java.lang.RuntimeException
Expo encountered a fatal error: Error while updating property 'width' in shadow node of type: RCTView
The error changes a bit every time it crashes
Error while updating property <RANDOM_CSS_PROPERY> in shadow node of type: RCTView
Thanx for the fixing to title bug
But please anyone tell me which package may be problem ?
Here is the my package.json before the update.
"@react-native-community/netinfo": "~3.2.1",
"@valdio/react-native-scrollable-tabview": "^0.8.12",
"axios": "^0.19.0",
"babel-preset-react-native": "^4.0.1",
"crypto-js": "^3.1.9-1",
"expo": "^35.0.0",
"expo-asset": "~7.0.0",
"expo-av": "~7.0.1",
"expo-blur": "^7.0.0",
"expo-cli": "^3.7.1",
"expo-constants": "~7.0.0",
"expo-facebook": "~7.0.0",
"expo-font": "~7.0.0",
"expo-google-app-auth": "^7.0.0",
"expo-image-picker": "~7.0.0",
"expo-video-player": "^1.5.1",
"global": "^4.4.0",
"i18next": "^19.0.1",
"laravel-echo": "^1.6.1",
"mobx": "5.13.0",
"mobx-react": "^6.1.3",
"mobx-react-lite": "^1.4.1",
"moment": "^2.24.0",
"pusher-js": "^5.0.2",
"ramda": "^0.26.1",
"react": "16.9.0",
"react-content-loader": "^4.3.2",
"react-hook-form": "^3.28.7",
"react-i18next": "^11.2.2",
"react-native": "https://github.com/expo/react-native/archive/sdk-35.0.0.tar.gz",
"react-native-animatable": "^1.3.3",
"react-native-checkbox-form": "^1.1.5",
"react-native-dotenv": "^0.2.0",
"react-native-dropdownalert": "^4.2.0",
"react-native-expo-image-cache": "^4.1.0",
"react-native-flash-message": "^0.1.15",
"react-native-gesture-handler": "~1.3.0",
"react-native-grid-list": "^1.1.0",
"react-native-hyperlink": "^0.0.16",
"react-native-image-view": "^2.1.8",
"react-native-mentions": "^1.1.4",
"react-native-modal": "^11.5.1",
"react-native-paper": "^2.16.0",
"react-native-picker-select": "^6.3.3",
"react-native-pie": "^0.5.0",
"react-native-raw-bottom-sheet": "^2.0.5",
"react-native-reanimated": "~1.2.0",
"react-native-render-html": "^4.1.2",
"react-native-select-two": "^1.0.6",
"react-native-simple-twitter": "^2.4.1",
"react-native-svg": "9.9.5",
"react-native-swipeable-row": "^0.8.1",
"react-native-timeago": "^0.4.0",
"react-native-vector-icons": "^6.6.0",
"react-native-web": "^0.11.7",
"react-navigation": "^4.0.10",
"react-navigation-hooks": "^1.1.0",
"react-navigation-stack": "^1.5.1",
"react-navigation-tabs": "^2.3.0",
"react-navigation-transitions": "^1.0.12",
"react-twitter-authentication": "^0.0.14",
"react-twitter-login": "^0.0.0",
"socket.io-client": "2.1.1"
I think the best course of action is to test a blank SDK 36 expo init app, and see if the same crash occurs
I'm having the same issue on Xiaomi Note 7.
Here is what I'm getting at Firebase Crash analytics
Fatal Exception: java.lang.RuntimeException Expo encountered a fatal error: Error while updating property 'width' in shadow node of type: RCTViewThe error changes a bit every time it crashes
Error while updating property <RANDOM_CSS_PROPERY> in shadow node of type: RCTView
I am getting this on Samsung Galaxy S10+ and S9+ too, completely breaking the app. Have reverted to SDK 35 and no problem.
A minimal repro would be very helpful here- this is a great guide on how to create one
Application starts once every 10 times on Xiaomi (SDK 36).
I have the same problem on Samsung Galaxy A8. It works time to time...but nearly always crash.
After expo upgrade 35 => 36.
Only in standalone APK (using expokit). If it is running in debug (expo start), than everything works fine.
Downgrade to Expo SDK35 helps..it works now correctly.
Downgrade to Expo SDK35 helps..it works now correctly.
This is not solution, it's just a way to make it work. I think a package is incompatible with SDK36. We need to figure out what this is.
have same crash here, crash after upgrading from 35 to 36
Here are my dependencies
"dependencies": {
"@expo/vector-icons": "^10.0.0",
"axios": "^0.18.0",
"chinese-conv": "^1.0.1",
"ex-react-native-i18n": "0.0.6",
"expo": "^36.0.0",
"expo-ads-admob": "~8.0.0",
"expo-app-auth": "~8.0.0",
"expo-apple-authentication": "~2.0.0",
"expo-constants": "~8.0.0",
"expo-facebook": "~8.0.0",
"expo-file-system": "~8.0.0",
"expo-font": "~8.0.0",
"expo-google-app-auth": "^6.0.0",
"expo-image-manipulator": "~8.0.0",
"expo-image-picker": "~8.0.0",
"expo-localization": "~8.0.0",
"expo-permissions": "~8.0.0",
"expo-sqlite": "~8.0.0",
"lru-cache": "^5.1.1",
"lz-string": "^1.4.4",
"native-base": "^2.13.4",
"parse": "^2.10.0",
"prop-types": "^15.7.2",
"random-useragent": "^0.3.1",
"react": "16.9.0",
"react-native": "https://github.com/expo/react-native/archive/sdk-36.0.0.tar.gz",
"react-native-animatable": "^1.3.0",
"react-native-easy-toast": "^1.1.0",
"react-native-floating-action": "^1.14.2",
"react-native-gesture-handler": "~1.5.0",
"react-native-hyperlink": "0.0.16",
"react-native-image-zoom-viewer": "^2.2.12",
"react-native-maps": "0.26.1",
"react-native-material-dialog": "^0.7.4",
"react-native-popup-menu": "^0.13.2",
"react-native-reanimated": "~1.4.0",
"react-native-webview": "7.4.3",
"react-navigation": "^3.0.9",
"rxjs": "^6.2.1",
"rxjs-compat": "^6.2.1",
"sentry-expo": "~2.0.0"
}
I'm running into this in production too, but I'm not able to reproduce it. Tried dropping the APK into an emulator running api 29 and it worked fine.
I'm running into this in production too, but I'm not able to reproduce it. Tried dropping the APK into an emulator running api 29 and it worked fine.
Are you tried real device ? if your answer 'yes and still work', can you share package.json ?
@serhanozcan I don't have a device that has Android X, but here's my package.json
"@expo/vector-icons": "^10.0.0",
"expo": "^36.0.0",
"expo-constants": "~8.0.0",
"expo-font": "~8.0.0",
"expo-image-manipulator": "~8.0.0",
"expo-image-picker": "~8.0.1",
"expo-keep-awake": "~8.0.0",
"expo-network": "~2.0.0",
"expo-permissions": "~8.0.0",
"expo-secure-store": "~8.0.0",
"fast-deep-equal": "^3.1.1",
"react-native": "https://github.com/expo/react-native/archive/sdk-36.0.0.tar.gz",
"react-native-appearance": "^0.3.1",
"react-native-calendars": "^1.214.0",
"react-native-dialog": "^5.6.0",
"react-native-drawer-layout": "^2.0.0",
"react-native-gesture-handler": "~1.5.2",
"react-native-keyboard-aware-scroll-view": "^0.9.1",
"react-native-modal": "^11.5.3",
"react-native-modal-datetime-picker": "^7.6.0",
"react-native-popup-menu": "^0.15.6",
"react-native-reanimated": "~1.4.0",
"react-native-svg": "9.13.5",
"react-native-swiper": "^1.6.0-rc.3",
"react-navigation": "^4.0.10",
"react-navigation-stack": "^1.10.3",
"react-navigation-tabs": "^2.6.2",
"recyclerlistview": "^2.0.12",
"sentry-expo": "~2.0.1"
Logcat print lot of RCTView fatal error. How can i solve that;
Fatal Exception: java.lang.RuntimeException
Expo encountered a fatal error: Error while updating property 'width' in shadow node of type: RCTView
Fatal Exception: java.lang.RuntimeException
Expo encountered a fatal error: Error while updating property 'height' in shadow node of type: RCTView
Fatal Exception: java.lang.RuntimeException
Expo encountered a fatal error: Error while updating property 'position' in shadow node of type: RCTView
Fatal Exception: java.lang.RuntimeException
Expo encountered a fatal error: Error while updating property 'left' in shadow node of type: RCTView
Fatal Exception: java.lang.RuntimeException
Expo encountered a fatal error: Error while updating property 'padding' in shadow node of type: RCTView
.
.
.
.
I'm checked all project files for syntax but everything is okey. I'm not found like that height:"1"
@benawad react-native-calendars might be the culprit in your case, I'm facing this issue in production too. Making an expo blank project using this package crashes in production on Android devices with sdk 36.
@serhanozcan you can look for JSX conditional rendering like this for example :
{
short &&
<Text>short text</Text>
}
seems to crash when short is undefined or null. Nevertheless, this sometimes works in Expo client when a first crash occurs and you hit the reload button on the blue error screen, but I'm not sure why.
replacing with a ternary condition and/or using truthy syntax might help :
{
short ?
<Text>short text</Text>
:
null
}
{
!!short &&
<Text>short text</Text>
}
Hi, I hope it helps.
"dependencies": {
"@babel/plugin-proposal-decorators": "^7.4.4",
"@expo/vector-icons": "^10.0.0",
"@fortawesome/fontawesome-svg-core": "^1.2.25",
"@fortawesome/free-solid-svg-icons": "^5.11.2",
"@fortawesome/react-native-fontawesome": "^0.1.0",
"@react-native-community/datetimepicker": "^2.1.0",
"expo": "^36.0.0",
"expo-ads-admob": "~8.0.0",
"expo-ads-facebook": "~8.0.0",
"expo-constants": "~8.0.0",
"expo-file-system": "~8.0.0",
"expo-google-sign-in": "~8.0.0",
"expo-linear-gradient": "^8.0.0",
"expo-localization": "~8.0.0",
"expo-permissions": "~8.0.0",
"expo-sqlite": "~8.0.0",
"expo-web-browser": "~8.0.0",
"expokit": "36.0.0",
"i18n-js": "^3.3.0",
"jsc-android": "245459",
"mobx": "^5.10.1",
"mobx-react": "^6.1.1",
"moment": "^2.23.0",
"react": "16.9.0",
"react-dom": "16.9.0",
"react-native": "https://github.com/expo/react-native/archive/sdk-36.0.1.tar.gz",
"react-native-app-intro-slider": "^3.0.0",
"react-native-color-picker": "^0.4.1",
"react-native-elements": "^1.1.0",
"react-native-gesture-handler": "~1.5.1",
"react-native-paper": "^2.13.0",
"react-native-reanimated": "~1.4.0",
"react-native-share": "^1.1.3",
"react-native-svg": "9.13.3",
"react-native-timeline-flatlist": "^0.5.0",
"react-native-unimodules": "^0.7.0",
"react-native-view-shot": "3.0.2",
"react-navigation": "^3.11.1",
"react-navigation-material-bottom-tabs": "^2.1.5",
"react-navigation-stack": "^1.5.1",
"react-navigation-tabs": "^2.1.3",
"victory-native": "^31.0.0"
},
"devDependencies": {
"babel-preset-expo": "^7.0.0",
"expo-cli": "^3.0.4",
"jest-expo": "^36.0.0",
"schedule": "^0.4.0"
},
@bob-user does just having it in the bundle cause the problem or trying to render it?
The app crashes right when users open it for me and I don't render the calendar until a later screen
@benawad The rendering causes the crash. Does the render method of your landing page contain JSX conditional rendering ?
@bob-user It did contain 1, but I'm certain it evaluated to true. Going to remove it and try redeploying anyway, but I don't think it will make a difference.
My app is also breaking in standalone android version after upgrading to sdk 36, but the thing is I have already published my updated app-bundle to playstore, but for some reason it is breaking on my galaxy devices (note8 & S8) but not on a testing device which I have (Oppo F11). I have tried by building apk and install locally on my devices without publishing to playstore, still no good, it works first time when I start the app after installation, but starts crashing after clearing from recents app and starting the app again with the internet available through wifi or sim network. but if i turn off the internet availability app starts working again. and when inside the app I can turn on internet again. P.S one more thing, sometimes app sends logs to sentry with assets failed to download with "failed md5 integrity check" when it crashes.
not sure if all this info is helpful or not, I hope someone could take a guess out of it for where the issue might be. Thanks.
As I said above, the best way to help get this problem diagnosed and solved is with a minimal reproducible example. copy/pasting your project's dependencies isn't too helpful, since it doesn't help to narrow the problem down to Expo. If someone can share steps to reproduce this with a blank expo init project, that would really help in debugging
@summerkiflain I've seen that md5 error message before when asset files had spaces in the names, so you might want to give those a check
+1 Getting the same behavior as @theraku.
Expo encountered a fatal error: Error while updating property 'X' in shadow node of type: RCTViewSorry for no repro atm...
Not totally sure, but noticed all the package.json shared here reference @expo/[email protected] -- I upgraded mine to latest and seems to have resolved the crashes. Hope this helps!
possibly related? https://github.com/expo/vector-icons/issues/92
EDIT: nevermind...the above change allowed for the app to run consistently on expo client, but still getting crash in production app post-initial load.
Ended up downgrading back to 35 in the meantime. Hopefully we can find a solution!
@cruzach all my app assets contain hyphens (-) instead of spaces, I even tried changing those hyphens to underscores (_), generated apk and tested locally, it still crashed on 2nd app loading sending failed asset download error on updated assets.
@wen-kai
+1 Getting the same behavior as @theraku.
- Upgraded from 35 -> 36
- Initial load on expo client via opening release channel works great
- Subsequent loads results in multiple inconsistent errors
Expo encountered a fatal error: Error while updating property 'X' in shadow node of type: RCTView- Only breaks on Android, IOS is okay
Sorry for no repro atm...
exactly same happening for me too, except in my case iOS hangs on splash screen.
I solved it by looking carefully in the rendered component. There was a property that wasn't supported justifyContent: 'stretch' that found its way to the codebase somehow.
React-native should print a helpful error message that links to the line of code in question
I've updated to SDK 36. According to the Google Play Console, nearly 50% of users crashed. I've been overhauling all the codes for two days. But I couldn't solve the problem. When I downloaded the SDK to 35, the whole problem was fixed. There is definitely a problem with SDK 36. Especially in Android 9 and Android X crashes are increasing.
(I wrote the comment in translation. Sorry for my spelling mistakes.)
I think the best course of action is to test a blank SDK 36
expo initapp, and see if the same crash occurs
I have tried with that also but it is crashing some times irrespective of android version. And one more thing after building the app, the splash screen gets blink for a second. Please help...
Expo SDK 36
Android 10, Android 6, Android 9
@haikyuu running your app locally in production mode (use expo start --no-dev --minify) should help with that
As you guys can see, it's hard to diagnose this problem without repros because a lot of times the crash is due to a fatal JS error
same problem
java.lang.RuntimeException
host.exp.exponent.experience.BaseExperienceActivity$2.run
google play 50,000 users have 627 this problem
sentry get
This presentation change has been interrupted by a newer change request.
but my tried 6 android phones all work fine
The main difference between expo 35 and expo 36 is the upgrade from React Native 0.59 to 0.61.
So checking the react native release notes might help to find out what is breaking the app.
Hello @all, anyone got a definite solution to this?
Atenção todos! Nada acima resolve, descobri por acaso que o tema dark do Android ocasiona erros aleatórios, desabilitar essa função resolve o problema mas isso deve ser resolvido urgentemente. Alguns usuários habilitam os temas como automático então receberão erro à noite com o tema dark acionado.
@ser
Oi equipe expo, eu atualizei o SDK ontem. (35 a 36). A versão do Android não funciona nas versões do Android x. O aplicativo dá erro após a tela inicial. "Aplicação continua parando". e sem erro. Estou apenas recebendo aviso de métodos de ciclo de vida inseguros nos pacotes GridList e Hyperlink.
Eu desinstalei e tentei esses pacotes, mas o problema persiste. Mas há um detalhe; O aplicativo abre sem problemas na primeira instalação. Mas se você fechá-lo através do gerenciador de tarefas, ele não será aberto novamente.
Informações sobre o ambiente do Expo CLI 3.11.1:
Sistema:
OS: macOS 10.15.1
Shell: 5.7.1 - / bin / zsh
Binários:
Nó: 10.17.0 - / usr / local / opt / node @ 10 / bin / node
Fio: 1.19.1 - / usr / local / bin / yarn
npm: 6.11.3 - / usr / local / opt / node @ 10 / bin / npm
Watchman: 4.9.0 - IDs de / usr / local / bin / watchman
:
Android Studio : 3,5 AI-191.8026.42.35.5900203
Xcode: 11,1 / 11A1027 - / usr / bin / xcodebuild
npmPackages:
expo: ^ 36.0.0 => 36.0.0
reagir: 16.9.0 => 16.9.0
reagir nativo: https: //github.com/expo/react-native/archive/sdk-36.0.0.tar.gz => 0.61.4 react
-navigation: ^ 4.0.10 => 4.0.10
npmGlobalPackages:
expo-cli: 3.11.1
https://github.com/expo/expo/issues/6523#issuecomment-571001942
The main difference between expo 35 and expo 36 is the upgrade from React Native 0.59 to 0.61.
So checking the react native release notes might help to find out what is breaking the app.
@atominvention I have switched from expo to React Native now and my app is using react native 0.61 and It is working fine as expected. I don't know what's wrong with expo 36....
@emersonwdesigner yes! Turning off dark mode allows the expo36 app to load successfully and function normally. When I turn it back on it crashes again with the above intermittent errors. Turn it back off and it loads fine. Will see if enforcing light mode in config resolves.
Update: tried enforcing light mode via userInterfaceStyle in app.json, but still getting the crashes when dark mode enabled on the Android device. Can confirm turning off dark mode resolves the crashing, but can't find a way to prevent it for users who have dark mode enabled, regardless of userInterfaceStyle config.
@emersonwdesigner mano, vc não tem noção do alívio que sua descoberta me trouxe, estava quase na terceira semana quebrando cabeça com esse crash que era muito aleatório e com msg de erro não intuitiva, muito obrigado pelo aviso, desativei dark mode e simplesmente parou os problemas do meu app!
@wen-kai did you install the react-native-appearance package? I had the exact same issues as you described and after setting "userInterfaceStyle": "light" in the app.json and installing the react-native-appearance package the crash did not occur anymore!
@brfreek nice! did you test on a standalone version? it seems to work on expo client with "userInterfaceStyle": "light" but when i build and install an apk on my device it still crashes oddly...
Here's a gif of what happens dark vs light mode. Note the strange screen flash when opening app with dark mode. Works as expected on Expo Client.

@wen-kai Sorry I thought that it acted as expected but after a few tries the app crashes again...
same problem on device XiaoMi (Android 10) darkmode
Same issue on dark mode (Xiaomi MI9T, Android 10)
a lot of my users are facing the same issue on Android/standalone.
Finally got the crash myself (S10e, Android 9).
Logcat points to react-native-svg (I am using v9.13.3) - maybe this is helpful for the Expo devs:
01-08 17:40:03.482 27765 27895 E unknown:ViewManager: Error while updating prop width
01-08 17:40:03.482 27765 27895 E unknown:ViewManager: java.lang.reflect.InvocationTargetException
01-08 17:40:03.482 27765 27895 E unknown:ViewManager: at java.lang.reflect.Method.invoke(Native Method)
01-08 17:40:03.482 27765 27895 E unknown:ViewManager: at com.facebook.react.uimanager.ViewManagersPropertyCache$PropSetter.updateShadowNodeProp(ViewManagersPropertyCache.java:3)
01-08 17:40:03.482 27765 27895 E unknown:ViewManager: at com.facebook.react.uimanager.ViewManagerPropertyUpdater$FallbackShadowNodeSetter.setProperty(ViewManagerPropertyUpdater.java:2)
01-08 17:40:03.482 27765 27895 E unknown:ViewManager: at com.facebook.react.uimanager.ViewManagerPropertyUpdater.updateProps(ViewManagerPropertyUpdater.java:14)
01-08 17:40:03.482 27765 27895 E unknown:ViewManager: at com.facebook.react.uimanager.ReactShadowNodeImpl.updateProperties(ReactShadowNodeImpl.java:1)
01-08 17:40:03.482 27765 27895 E unknown:ViewManager: at com.facebook.react.uimanager.UIImplementation.createView(UIImplementation.java:11)
01-08 17:40:03.482 27765 27895 E unknown:ViewManager: at com.facebook.react.uimanager.UIManagerModule.createView(UIManagerModule.java:5)
01-08 17:40:03.482 27765 27895 E unknown:ViewManager: at java.lang.reflect.Method.invoke(Native Method)
01-08 17:40:03.482 27765 27895 E unknown:ViewManager: at com.facebook.react.bridge.JavaMethodWrapper.invoke(JavaMethodWrapper.java:18)
01-08 17:40:03.482 27765 27895 E unknown:ViewManager: at com.facebook.react.bridge.JavaModuleWrapper.invoke(JavaModuleWrapper.java:2)
01-08 17:40:03.482 27765 27895 E unknown:ViewManager: at com.facebook.react.bridge.queue.NativeRunnable.run(Native Method)
01-08 17:40:03.482 27765 27895 E unknown:ViewManager: at android.os.Handler.handleCallback(Handler.java:873)
01-08 17:40:03.482 27765 27895 E unknown:ViewManager: at android.os.Handler.dispatchMessage(Handler.java:99)
01-08 17:40:03.482 27765 27895 E unknown:ViewManager: at com.facebook.react.bridge.queue.MessageQueueThreadHandler.dispatchMessage(MessageQueueThreadHandler.java:1)
01-08 17:40:03.482 27765 27895 E unknown:ViewManager: at android.os.Looper.loop(Looper.java:214)
01-08 17:40:03.482 27765 27895 E unknown:ViewManager: at com.facebook.react.bridge.queue.MessageQueueThreadImpl$4.run(MessageQueueThreadImpl.java:8)
01-08 17:40:03.482 27765 27895 E unknown:ViewManager: at java.lang.Thread.run(Thread.java:764)
01-08 17:40:03.482 27765 27895 E unknown:ViewManager: Caused by: java.lang.NullPointerException: Attempt to invoke interface method 'boolean com.facebook.react.bridge.Dynamic.isNull()' on a null object reference
01-08 17:40:03.482 27765 27895 E unknown:ViewManager: at com.facebook.react.uimanager.LayoutShadowNode$MutableYogaValue.setFromDynamic(LayoutShadowNode.java:1)
01-08 17:40:03.482 27765 27895 E unknown:ViewManager: at com.facebook.react.uimanager.LayoutShadowNode.setWidth(LayoutShadowNode.java:2)
01-08 17:40:03.482 27765 27895 E unknown:ViewManager: ... 17 more
01-08 17:40:03.507 27765 27765 D AndroidRuntime: Shutting down VM
01-08 17:40:03.508 27765 27765 E AndroidRuntime: FATAL EXCEPTION: main
01-08 17:40:03.508 27765 27765 E AndroidRuntime: Process: at.lszb.app, PID: 27765
01-08 17:40:03.508 27765 27765 E AndroidRuntime: java.lang.RuntimeException: Expo encountered a fatal error: Error while updating property 'width' in shadow node of type: RNSVGSvgView
01-08 17:40:03.508 27765 27765 E AndroidRuntime: at host.exp.exponent.experience.a$b.run(BaseExperienceActivity.java:7)
01-08 17:40:03.508 27765 27765 E AndroidRuntime: at android.os.Handler.handleCallback(Handler.java:873)
01-08 17:40:03.508 27765 27765 E AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java:99)
01-08 17:40:03.508 27765 27765 E AndroidRuntime: at android.os.Looper.loop(Looper.java:214)
01-08 17:40:03.508 27765 27765 E AndroidRuntime: at android.app.ActivityThread.main(ActivityThread.java:7037)
01-08 17:40:03.508 27765 27765 E AndroidRuntime: at java.lang.reflect.Method.invoke(Native Method)
01-08 17:40:03.508 27765 27765 E AndroidRuntime: at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:494)
01-08 17:40:03.508 27765 27765 E AndroidRuntime: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:965)
+1 - Xiaomi mi9T in dark mode.
Atenção todos! Nada acima resolve, descobri por acaso que o tema dark do Android ocasiona erros aleatórios, desabilitar essa função resolve o problema mas isso deve ser resolvido urgentemente. Alguns usuários habilitam os temas como automático então receberão erro à noite com o tema dark acionado.
Cara, muito obrigado, estava há 3 dias com esse problema sem encontrar nada para resolução do mesmo.
Eu estou usando o Xiaomi Redmi 7.
Aguardando uma solução...
Man, thank you very much, I was 3 days ago with this problem finding nothing to solve it.
I am using Xiaomi Redmi 7.
Awaiting a solution ...
@strohmann, could you provide more details? For example, what functionality from react-native-svg do you use? It would be best if you could create a repo or a snack.
Unfortunately, I couldn't reproduce the crash. I've tested it on Android 10 and 9.
it's hard for me to provide a repo as it took me several days to experience the crash at least once on my own device. And I'm not 100% sure that my exception callstack matches the ones of my users (I don't have their callstacks).
I'm using only basic components of react-native-svg: Path, Polygon, Line, Circle... nothing special.
But maybe a dependency of mine is using more functionality of it (react-native-vector-icons?):
"dependencies": {
"@mapbox/sphericalmercator": "^1.1.0",
"@react-native-community/netinfo": "4.6.0",
"base-64": "^0.1.0",
"ex-react-native-i18n": "^0.0.6",
"expo": "^36.0.2",
"expo-av": "~8.0.0",
"expo-constants": "~8.0.0",
"expo-device": "~2.0.0",
"expo-font": "~8.0.0",
"expo-intent-launcher": "~8.0.0",
"expo-linear-gradient": "~8.0.0",
"expo-localization": "~8.0.0",
"expo-location": "~8.0.0",
"expo-network": "~2.0.0",
"expo-permissions": "~8.0.0",
"expo-sensors": "~8.0.0",
"expo-video-player": "^1.5.1",
"expo-web-browser": "~8.0.0",
"mobx": "^5.14.2",
"mobx-react": "^6.1.4",
"moment": "^2.24.0",
"react": "16.9.0",
"react-dom": "16.9.0",
"react-native": "https://github.com/expo/react-native/archive/sdk-36.0.0.tar.gz",
"react-native-appearance": "~0.3.1",
"react-native-gesture-handler": "~1.5.0",
"react-native-maps": "0.26.1",
"react-native-parse-html": "^2.2.6",
"react-native-reanimated": "~1.4.0",
"react-native-root-toast": "^3.2.0",
"react-native-safe-area-context": "0.6.0",
"react-native-svg": "9.13.3",
"react-native-tab-view": "^2.10.0",
"react-native-vector-icons": "^6.6.0",
"react-native-web": "^0.11.7",
"react-native-webview": "7.4.3",
"react-navigation": "3.13.0",
"reanimated-bottom-sheet": "^1.0.0-alpha.18",
"rollbar-react-native": "^0.6.1",
"sentry-expo": "^2.0.1",
"set-cookie-parser": "^2.4.0"
}
I can confirm the crash is caused by dark mode too.
Looks like if I fresh install an app with expo 36 is fine.
But if I install an old version of the app with expo 35 first and then update to a new one with expo 36, the app will crash.
wasn't crashing the whole day, until I published a new version - crashed at the start right at the first run after publishing. This time the callstack is
java.lang.RuntimeException: Expo encountered a fatal error: Error while updating property 'fontSize' in shadow node of type: RCTText
I have the feeling the crashes are related to the automatic update process. Maybe the app tries to apply/restart the new version at a "bad time"?
Here is my relevant part of app.json:
"updates": {
"enabled": true,
"checkAutomatically": "ON_LOAD",
"fallbackToCacheTimeout": 10000
}
@strohmann I have seen crashes because of bad OTA updates, but those caused errors like the following for me:
12-26 21:58:33.473 10444 10444 E AndroidRuntime: FATAL EXCEPTION: main
12-26 21:58:33.473 10444 10444 E AndroidRuntime: java.lang.RuntimeException: Expo encountered a fatal error: Attempting to call JS function on a bad application bundle: RCTDeviceEventEmitter.emit()
12-26 21:58:35.786 10651 10651 E AndroidRuntime: FATAL EXCEPTION: main
12-26 21:58:35.786 10651 10651 E AndroidRuntime: java.lang.RuntimeException: Unable to resume activity {com.example.myapp/host.exp.exponent.MainActivity}: java.lang.RuntimeException: Expo encountered a fatal error: Attempting to call JS function on a bad application bundle: AppRegistry.runApplication()
12-26 21:58:35.786 10651 10651 E AndroidRuntime: Caused by: java.lang.RuntimeException: Expo encountered a fatal error: Attempting to call JS function on a bad application bundle: AppRegistry.runApplication()
and
12-26 21:58:44.934 10907 10907 E AndroidRuntime: FATAL EXCEPTION: main
12-26 21:58:44.934 10907 10907 E AndroidRuntime: java.lang.RuntimeException: Unable to resume activity {com.example.myapp/host.exp.exponent.MainActivity}: java.lang.RuntimeException: Expo encountered a fatal error: com.facebook.react.devsupport.JSException: Unexpected end of script
12-26 21:58:44.934 10907 10907 E AndroidRuntime: Caused by: java.lang.RuntimeException: Expo encountered a fatal error: com.facebook.react.devsupport.JSException: Unexpected end of script
rather than:
Error while updating property 'fontSize' in shadow node of type: RCTText
My app also cracked when upgrading to Expo 36. waiting a solution
@lukmccall this appears to be a reliable repro:
https://github.com/expo/expo/issues/6746
We also had problems with Expo 36 and Darkmode. With a delayed app start, the crashes seem to be gone:
export default function App() {
const [ loadingComplete, setLoadingComplete ] = useState(false)
useEffect(() => {
async function loadFonts() {
await Font.loadAsync({
'avenir-black': require('./assets/fonts/AvenirLTStd-Black.otf'),
'avenir-book': require('./assets/fonts/AvenirLTStd-Book.otf'),
'avenir-medium': require('./assets/fonts/Avenir-Medium.ttf')
});
//setLoadingComplete(true);
setTimeout( () => { setLoadingComplete(true) }, 50);
}
loadFonts()
}, []);
if (!loadingComplete) {
return (
<Loading />
)
}
return (
<Provider store={store}>
<Router />
</Provider>
)
}
@Ingmarst thanks for sharing ! It solved my problem 👍
Is this a expo-font issue ? Or a breaking change that need our code to be updated ?
EDIT: The update reduced by 80-90% the number of crashes but not all of it.
Don't think it's expo font since I'm getting the issue without loading any fonts
I was having the same issue with new SDK but later figured out that the main issue was with moment.js locale. More details - https://github.com/facebook/react-native/issues/16540
I was having the same with issue new SDK but later figured out that the main issue was with
moment.jslocale. More details - facebook/react-native#16540
@alaminopu We are having the same issue. Indeed we have moment.js too as people above, but we don't set locale anywhere... The problem for us is failed integrity check
[ { [Error: Downloaded file for asset 'IntCircularProWeb-Medium.ttf' Located at https://cloudfront.net/~assets/... failed MD5 integrity check]
Dear Expo dev (@cruzach in particular who participated in this issue): is it possible to have a quick feedback about how severe you consider this issue, if the reproduction that was submitted in https://github.com/expo/expo/issues/6746 is usable, if you'll release a fix before SDK37?
At my company we've been holding on the upgrade because of it, we'd love to be able to make an informed decision on this matter but the available data is pretty scarce...
Thanks for all the work on this project!
+1 too Xiaomi Note 8 Dark Mode.
App is fine using Expo app but the build version crashed.
But if I open the app in expo first than open the installed build version the issue gone.
Is there any chance this is related to custom font or a bug within the Expo?
Anyone from @expo team is aware of that situation? it is a lot time already without any response. I'm starting to think the expo is for hobbyist and not for production with real products. It is a critical bug, and we aren't able to disable some features to stop the crashs.
We are aware of this, and are still looking into it. As you can see from the comments here, there still isn't a reliable way to reproduce this. There's a lot of noise in this thread, and many people are reporting different error messages and different workarounds. I've tried to reproduce this both on Android 9 and 10, still no crashes 🙁
We are aware of this, and are still looking into it. As you can see from the comments here, there still isn't a reliable way to reproduce this. There's a lot of noise in this thread, and many people are reporting different error messages and different workarounds. I've tried to reproduce this both on Android 9 and 10, still no crashes 🙁
Hi, Thanks for this. Did you reproduce this using dark mode already?
Yes, was just able to repro thanks to @mrdj07 in https://github.com/expo/expo/issues/6746
Since this thread has gotten so long it might be better to close this in favor of that issue, since it describes the exact approach to reproduce the crashes locally
@cruzach thanks for looking into that, is there any estimates on fix ?
no ETA yet, but now that we are able to consistently reproduce it, shouldn't be too far off
@Ingmarst this is worked but flashing the splash screen. I tried many ways but I couldn't run it properly.
I got same issue sdk 36. I tried to fix all warnings and removed all unused package. Happens after building on standalone app when it start the splash screen then crash. I might need to downgrade to sdk35 atm.
Update: I tried changing my theme from dark to light it works. I don't have "userInterfaceStyle" set up on my app.json.
@rosnaib11 Did you face any same problem with iOS build in production mode after migrating to sdk 36?(I have migrated from sdk 34 to sdk 36)
@ymanjuy No, I haven't tried it IOS production yet.
@cruzach Any update on this? We have to downgrade to SDK 35 for the Android build, but there are certain features of SDK 36 that we need. So a fix for this will be highly appreciated! Thank you! :)
I've noticed the problem occurs only when Night Mode on. We shall dig deeper in that direction to find a sustainable fix.
The cause has been found, but the correct fix is still being worked out.
We also had problems with Expo 36 and Darkmode. With a delayed app start, the crashes seem to be gone:
export default function App() { const [ loadingComplete, setLoadingComplete ] = useState(false) useEffect(() => { async function loadFonts() { await Font.loadAsync({ 'avenir-black': require('./assets/fonts/AvenirLTStd-Black.otf'), 'avenir-book': require('./assets/fonts/AvenirLTStd-Book.otf'), 'avenir-medium': require('./assets/fonts/Avenir-Medium.ttf') }); //setLoadingComplete(true); setTimeout( () => { setLoadingComplete(true) }, 50); } loadFonts() }, []); if (!loadingComplete) { return ( <Loading /> ) } return ( <Provider store={store}> <Router /> </Provider> ) }
Adding the timeout delay in App.js before anything is rendered got it (Android 10 + Dark Mode with Expo 36) working for me too. I made it 2 seconds, just to be safe, not sure if there is a meaningful number to set for it or not --- but it is working.
Hi all- just a quick note to say this is fixed in production now. You'll need to rebuild your SDK 36 app to get the fix, which can be done by rerunning expo build:android, installing [email protected] or updating to [email protected] depending on your build method. If you continue to run into a similar issue or other crash, please open a new ticket and fill out the template there fully, rather than commenting further here. Thanks! 🙂
Hi all- just a quick note to say this is fixed in production now. You'll need to rebuild your SDK 36 app to get the fix, which can be done by rerunning
expo build:android, installing[email protected]or updating to[email protected]depending on your build method. If you continue to run into a similar issue or other crash, please open a new ticket and fill out the template there fully, rather than commenting further here. Thanks! 🙂
Are the builds on the expo site also fixed for those using version 36 of the sdk?
If you use expo build:android to create your builds, you'll need to rerun it and get a new build in order to get the fix. Previously built APKs will not have the fix, but it's on our production build servers now.
Okay, that was exactly what I wanted to know.
I will generate right now and do tests.
Thanks!
36.0.1 and same issue. dark mode crash is still here
@boraerbasoglu if you're still seeing these crashes, please open a new issue with reproducible demo. Previously, a blank expo init project would crash due to this error, so ideally your repro would be almost as plain as that
36.0.1 and same issue. dark mode crash is still here
Did you make a new build? For me it was resolved, I was already using the latest version of the SDK.
I've done tests, but I used the build from the expo.io site
Upgrade to 36.0.1 and run a new build fixed the issue.
Thank you Expo Team
Upgrade to 36.0.1 and run a new build fixed the issue.
Thank you Expo Team
Thanks 36.0.2 solved my problem.
Hi,
I have upgraded to sdk 36.0.2,
deleted the npm_modules folder and reinstalled,
created a new build,
but It did not solve the problem,
can you check if there is something else to do?
@torsh4 are you getting errors like this?
Fatal Exception: java.lang.RuntimeException
Expo encountered a fatal error: Error while updating property 'width' in shadow node of type: RCTView
If not, what do your errors say after "Expo encountered a fatal error"?
@wodin
I do not get any errors.
The only thing is that the splash screen blinks.
The adb command "adb logcat AndroidRuntime:E *:S" does not get any errors when the app on the device blinks.
Thanks!
@torsh4 Ah, then that's expected at the moment. This bug is not about the blinking problem. I don't know of a fix for that.
@wodin to be more accurate the blink means that the app crash and the immediately loads again.
Is there a ticket for the problem you described?
Oh, I see. Either way, this bug is about apps that crash with an error message similar to the one I posted above.
There's another crash that happens if an OTA update gets truncated for some reason. Here's some info about that one:
https://github.com/expo/expo/issues/5839#issuecomment-572296759
You might want to try setting up Sentry to see if you're getting a crash in the JavaScript code.
Also, if the app keeps crashing every time you open it, try clearing the app's cache/data.
Hi all!
After updating to 36.0.2 anyone has problems creating a build?
I'm receiving this error:
Unsupported SDK version: our app builders don't have support for 36.0.2 version yet. Submitting the app to the Google Play Store may result in an unexpected behaviour.
I really appreciate the help. Thanks in advance!
@matias91 - the version in app.json should still be 36.0.0, 36.0.2 just corresponds to the package in package.json
Thanks, @brentvatne! and sorry for my mistake.
Sadly my app is still crashing on Android :(
I'll continue researching.
Is there a solution for this yet? Testing a new 'expo init' app crashes on Android 7.0 and 8.0.
@Beissner - I can't reproduce this, can you share the build id related to this or some more information on what's happening for you?
@Beissner
if you upgraded your expo sdk try following steps;
1 - app.json stay same version:
"sdkVersion": "36.0.0"
2 - update manually expo package in your package.json:
"expo": "^36.0.2"
3 - Remove if you using AppLoading and add manually like this in App.js;
const [isLoadingComplete, setLoadingComplete] = useState(false);
//THIS LOADING ASSETS WITH ASYNC;
const loadResourcesAsync = async () => {
await Font.loadAsync({
Light: require("./path/fonts.ttf")
});
await Promise.all(Font);
setLoadingComplete(true);
};
//ASSETS FUNCTION TRIGGERED WHEN COMPONENTDIDMOUNT
//If you using class component use the componentDidMount()
useEffect(() => {
loadResourcesAsync();
}, []);
!isLoadingComplete ? //if assets is loading returning false
<View>
<Text>Loading...</Text> // you can add here some loading indicator or what you want
</View>
:
<View>
<Text>My APP</Text>
</View>
This method worked perfectly for me. I hope the problem is solved.
Thanks @serhanozcan. That worked for a new project, but not for my old one. I'm still seeing "Expo has stopped" before the app ever launches (happens on both a real device and emulator). Could it be a cache problem?
I also tried downgrading a new blank app to SDK 35 (since there are other issues with images/videos on SDK 36 on Android 5.0) and I'm still unable to open it.
UPDATE: Building a new project with SDK 35 works.
I try set fallbackTimeout to 50000 in app.json
it's work for me :D :D
36.0.0, same issue.
36.0.1, same issue.
36.0.2, same issue.
Solution: downgrade to SDK 35. :(
@caioedut - can you create a new issue with a minimal reproducible example? (https://stackoverflow.com/help/mcve)
Most helpful comment
no ETA yet, but now that we are able to consistently reproduce it, shouldn't be too far off