Skip to content
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

Skia is triggering app crash when using Expo Go #476

Open
3 tasks done
juanmigdr opened this issue Jan 15, 2025 · 1 comment
Open
3 tasks done

Skia is triggering app crash when using Expo Go #476

juanmigdr opened this issue Jan 15, 2025 · 1 comment

Comments

@juanmigdr
Copy link

Prerequisites

  • I have searched the open issues to make sure I'm not opening a duplicate issue
  • I have read through the docs before asking a question
  • I am using the latest version of victory-native-xl

Describe Your Environment

What version of victory-native-xl are you using? (can be found by running npm list --depth 0 victory-native)
"victory-native": "^41.16.0"

What version of React and React Native are you using?
"react": "18.3.1",
"react-native": "0.76.6",

What version of Reanimated and React Native Skia are you using?
"react-native-reanimated": "^3.16.7"
"@shopify/react-native-skia": "1.5.0"

Are you using Expo or React Native CLI?
"expo": "^52.0.25"

What platform are you on? (e.g., iOS, Android)
"Android"

Describe the Problem

Hello, first of all, thank you so much for the library, its great!

The issue in question happens when updating to SDK 52 in expo and using victory-native. Whenever I load a chart and hit 'reload' on expo to reload the app, the app totally crashes.

I have done some investigation and debugging with android tools and this is the error thrown which points to the react-native-skia library (see bottom line of the error log)

2025-01-15 20:56:35.635 17546-17546 DEBUG                   pid-17546                            A  Cmdline: host.exp.exponent
2025-01-15 20:56:35.635 17546-17546 DEBUG                   pid-17546                            A  pid: 17047, tid: 17054, name: FinalizerDaemon  >>> host.exp.exponent <<<
2025-01-15 20:56:35.635 17546-17546 DEBUG                   pid-17546                            A        #00 pc 0000000000285940  /data/app/~~lk40WOIu4ZKasxWt3bU7MQ==/host.exp.exponent-HV5sgCRrXWG1u1zJGZZ33A==/split_config.arm64_v8a.apk!librnskia.so (offset 0x2554000) (std::__ndk1::__tree<std::__ndk1::__value_type<std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char>>, facebook::jsi::Function>, std::__ndk1::__map_value_compare<std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char>>, std::__ndk1::__value_type<std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char>>, facebook::jsi::Function>, std::__ndk1::less<std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char>>>, true>, std::__ndk1::allocator<std::__ndk1::__value_type<std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char>>, facebook::jsi::Function>>>::destroy(std::__ndk1::__tree_node<std::__ndk1::__value_type<std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char>>, facebook::jsi::Function>, void*>*)+56) (BuildId: 69d452d376fd34cbaf09e66c0463f1559c20f136)
2025-01-15 20:56:35.635 17546-17546 DEBUG                   pid-17546                            A        #01 pc 00000000002841f8  /data/app/~~lk40WOIu4ZKasxWt3bU7MQ==/host.exp.exponent-HV5sgCRrXWG1u1zJGZZ33A==/split_config.arm64_v8a.apk!librnskia.so (offset 0x2554000) (RNJsi::RuntimeAwareCache<std::__ndk1::map<std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char>>, facebook::jsi::Function, std::__ndk1::less<std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char>>>, std::__ndk1::allocator<std::__ndk1::pair<std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char>> const, facebook::jsi::Function>>>>::~RuntimeAwareCache()+72) (BuildId: 69d452d376fd34cbaf09e66c0463f1559c20f136)
2025-01-15 20:56:35.635 17546-17546 DEBUG                   pid-17546                            A        #02 pc 000000000028411c  /data/app/~~lk40WOIu4ZKasxWt3bU7MQ==/host.exp.exponent-HV5sgCRrXWG1u1zJGZZ33A==/split_config.arm64_v8a.apk!librnskia.so (offset 0x2554000) (RNJsi::JsiHostObject::~JsiHostObject()+40) (BuildId: 69d452d376fd34cbaf09e66c0463f1559c20f136)
2025-01-15 20:56:35.635 17546-17546 DEBUG                   pid-17546                            A        #03 pc 000000000030429c  /data/app/~~lk40WOIu4ZKasxWt3bU7MQ==/host.exp.exponent-HV5sgCRrXWG1u1zJGZZ33A==/split_config.arm64_v8a.apk!librnskia.so (offset 0x2554000) (RNSkia::JsiDomNode::invalidate()+544) (BuildId: 69d452d376fd34cbaf09e66c0463f1559c20f136)
2025-01-15 20:56:35.635 17546-17546 DEBUG                   pid-17546                            A        #04 pc 00000000003028ac  /data/app/~~lk40WOIu4ZKasxWt3bU7MQ==/host.exp.exponent-HV5sgCRrXWG1u1zJGZZ33A==/split_config.arm64_v8a.apk!librnskia.so (offset 0x2554000) (RNSkia::JsiDomRenderNode::dispose(bool)+52) (BuildId: 69d452d376fd34cbaf09e66c0463f1559c20f136)
2025-01-15 20:56:35.635 17546-17546 DEBUG                   pid-17546                            A        #05 pc 0000000000304240  /data/app/~~lk40WOIu4ZKasxWt3bU7MQ==/host.exp.exponent-HV5sgCRrXWG1u1zJGZZ33A==/split_config.arm64_v8a.apk!librnskia.so (offset 0x2554000) (RNSkia::JsiDomNode::invalidate()+452) (BuildId: 69d452d376fd34cbaf09e66c0463f1559c20f136)
2025-01-15 20:56:35.635 17546-17546 DEBUG                   pid-17546                            A        #06 pc 00000000003028ac  /data/app/~~lk40WOIu4ZKasxWt3bU7MQ==/host.exp.exponent-HV5sgCRrXWG1u1zJGZZ33A==/split_config.arm64_v8a.apk!librnskia.so (offset 0x2554000) (RNSkia::JsiDomRenderNode::dispose(bool)+52) (BuildId: 69d452d376fd34cbaf09e66c0463f1559c20f136)
2025-01-15 20:56:35.635 17546-17546 DEBUG                   pid-17546                            A        #07 pc 0000000000364dbc  /data/app/~~lk40WOIu4ZKasxWt3bU7MQ==/host.exp.exponent-HV5sgCRrXWG1u1zJGZZ33A==/split_config.arm64_v8a.apk!librnskia.so (offset 0x2554000) (RNSkia::RNSkDomRenderer::~RNSkDomRenderer()+52) (BuildId: 69d452d376fd34cbaf09e66c0463f1559c20f136)
2025-01-15 20:56:35.635 17546-17546 DEBUG                   pid-17546                            A        #08 pc 00000000002776ec  /data/app/~~lk40WOIu4ZKasxWt3bU7MQ==/host.exp.exponent-HV5sgCRrXWG1u1zJGZZ33A==/split_config.arm64_v8a.apk!librnskia.so (offset 0x2554000) (RNSkia::RNSkView::~RNSkView()+92) (BuildId: 69d452d376fd34cbaf09e66c0463f1559c20f136)
2025-01-15 20:56:35.635 17546-17546 DEBUG                   pid-17546                            A        #09 pc 0000000000276f40  /data/app/~~lk40WOIu4ZKasxWt3bU7MQ==/host.exp.exponent-HV5sgCRrXWG1u1zJGZZ33A==/split_config.arm64_v8a.apk!librnskia.so (offset 0x2554000) (RNSkia::JniSkiaDomView::~JniSkiaDomView()+120) (BuildId: 69d452d376fd34cbaf09e66c0463f1559c20f136)
2025-01-15 20:56:35.635 17546-17546 DEBUG                   pid-17546                            A        #10 pc 00000000000215c8  /data/app/~~lk40WOIu4ZKasxWt3bU7MQ==/host.exp.exponent-HV5sgCRrXWG1u1zJGZZ33A==/split_config.arm64_v8a.apk!libfbjni.so (offset 0x16c8000) (BuildId: a22242831a7971267de570e06121acb588ce64cd)
2025-01-15 20:56:35.635 17546-17546 DEBUG                   pid-17546                            A        #12 pc 0000000000dbb578  /data/app/~~lk40WOIu4ZKasxWt3bU7MQ==/host.exp.exponent-HV5sgCRrXWG1u1zJGZZ33A==/oat/arm64/base.odex (com.facebook.jni.HybridData.resetNative+72)
2025-01-15 20:56:35.635 17546-17546 DEBUG                   pid-17546                            A        #14 pc 000000000039d7ca  /data/app/~~lk40WOIu4ZKasxWt3bU7MQ==/host.exp.exponent-HV5sgCRrXWG1u1zJGZZ33A==/base.apk (com.shopify.reactnative.skia.SkiaDomView.finalize+10)

Someone has reported the issue happening to them on iOS after a few refreshes: Shopify/react-native-skia#2834. On Android I am experiencing the issue after the first refresh.

Furthermore, updating the library to the latest version does not work since it is not supported by expo (Run expo-doctor and see it yourself) and even if you upgrade it, you will find a ton of errors straight away.

Expected behavior:
App not crashing after refreshing when using Expo Go

Actual behavior:
App crashes

Additional Information

I didn't prior to upgrading to SDK52

@keithluchtel
Copy link
Member

@juanmigdr do you run into issues when trying to run the example app within this project? Close the repo and try running yarn dev:example.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants