-
-
Notifications
You must be signed in to change notification settings - Fork 576
Closed
Labels
Missing reproThis issue need minimum repro scenarioThis issue need minimum repro scenarioPlatform: AndroidThis issue is specific to AndroidThis issue is specific to Android
Description
Description
I am getting the following crash currently in production. Sadly I do not have a way to repro it.
OS Version: Android 14 (AP1A.240305.019.A1)
Report Version: 104
Exception Type: Unknown (SIGABRT)
Application Specific Information:
Abort
Thread 0 Crashed:
0 libc.so 0x7ed5ab8e74 abort
1 libart.so 0x7c0f371c60 art::Runtime::Abort
2 libbase.so 0x7ec1cf57d0 <unknown> + 544417470416
3 libbase.so 0x7ec1cf4d58 android::base::LogMessage::~LogMessage
4 libart.so 0x7c0ee5ae28 art::ClassLinker::FindClass
5 libart.so 0x7c0f154cc0 <unknown> + 532828998848
6 split_config.arm64_v8a.apk 0x7ac7f71034 [inlined] _JNIEnv::FindClass (jni.h:503)
7 split_config.arm64_v8a.apk 0x7ac7f71034 facebook::react::RNSScreenComponentDescriptor::findHeaderHeight (RNSScreenComponentDescriptor.h:133)
8 split_config.arm64_v8a.apk 0x7ac7f6f298 facebook::react::RNSScreenComponentDescriptor::adopt (RNSScreenComponentDescriptor.h:89)
9 split_config.arm64_v8a.apk 0x7ac7f6e9d0 facebook::react::ConcreteComponentDescriptor<T>::cloneShadowNode (ConcreteComponentDescriptor.h:82)
10 split_config.arm64_v8a.apk 0x7ad4094508 facebook::react::YogaLayoutableShadowNode::adoptYogaChild (YogaLayoutableShadowNode.cpp:216)
11 split_config.arm64_v8a.apk 0x7ad4093b4c facebook::react::YogaLayoutableShadowNode::updateYogaChildren (YogaLayoutableShadowNode.cpp:354)
12 split_config.arm64_v8a.apk 0x7ad4094074 facebook::react::YogaLayoutableShadowNode::YogaLayoutableShadowNode (YogaLayoutableShadowNode.cpp:156)
13 split_config.arm64_v8a.apk 0x7ac7f6a4b0 [inlined] facebook::react::ConcreteShadowNode<T>::YogaLayoutableShadowNode (ConcreteShadowNode.h:46)
14 split_config.arm64_v8a.apk 0x7ac7f6a4b0 [inlined] facebook::react::ConcreteViewShadowNode<T>::ConcreteViewShadowNode (ConcreteViewShadowNode.h:66)
15 split_config.arm64_v8a.apk 0x7ac7f6a4b0 [inlined] std::__ndk1::construct_at[abi:v170000]<T> (construct_at.h:38)
16 split_config.arm64_v8a.apk 0x7ac7f6a4b0 [inlined] std::__ndk1::allocator_traits<T>::construct[abi:v170000]<T> (allocator_traits.h:304)
17 split_config.arm64_v8a.apk 0x7ac7f6a4b0 [inlined] std::__ndk1::__shared_ptr_emplace<T>::__shared_ptr_emplace[abi:v170000]<T> (shared_ptr.h:277)
18 split_config.arm64_v8a.apk 0x7ac7f6a4b0 [inlined] std::__ndk1::allocate_shared[abi:v170000]<T> (shared_ptr.h:948)
19 split_config.arm64_v8a.apk 0x7ac7f6a4b0 [inlined] std::__ndk1::make_shared[abi:v170000]<T> (shared_ptr.h:957)
20 split_config.arm64_v8a.apk 0x7ac7f6a4b0 facebook::react::ConcreteComponentDescriptor<T>::cloneShadowNode (ConcreteComponentDescriptor.h:80)
21 split_config.arm64_v8a.apk 0x79db2d4c38 reanimated::cloneShadowTreeWithNewProps (ShadowTreeCloner.cpp:56)
22 split_config.arm64_v8a.apk 0x79db2d427c [inlined] reanimated::ReanimatedCommitHook::shadowTreeWillCommit::lambda::operator() (ReanimatedCommitHook.cpp:48)
23 split_config.arm64_v8a.apk 0x79db2d427c [inlined] std::__ndk1::__invoke[abi:v170000]<T> (invoke.h:394)
24 split_config.arm64_v8a.apk 0x79db2d427c [inlined] std::__ndk1::__invoke_void_return_wrapper<T>::__call<T> (invoke.h:487)
25 split_config.arm64_v8a.apk 0x79db2d427c [inlined] std::__ndk1::__function::__alloc_func<T>::operator()[abi:v170000] (function.h:185)
26 split_config.arm64_v8a.apk 0x79db2d427c std::__ndk1::__function::__func<T>::operator() (function.h:356)
27 split_config.arm64_v8a.apk 0x79db2d2810 [inlined] std::__ndk1::__function::__value_func<T>::operator()[abi:v170000] (function.h:510)
28 split_config.arm64_v8a.apk 0x79db2d2810 [inlined] std::__ndk1::function<T>::operator() (function.h:1156)
29 split_config.arm64_v8a.apk 0x79db2d2810 reanimated::PropsRegistry::for_each (PropsRegistry.cpp:31)
30 split_config.arm64_v8a.apk 0x79db2d3f8c reanimated::ReanimatedCommitHook::shadowTreeWillCommit (ReanimatedCommitHook.cpp:45)
31 split_config.arm64_v8a.apk 0x7acfd8cc10 facebook::react::UIManager::shadowTreeWillCommit (UIManager.cpp:694)
32 split_config.arm64_v8a.apk 0x7acfd75fa8 facebook::react::ShadowTree::tryCommit (ShadowTree.cpp:414)
33 split_config.arm64_v8a.apk 0x7acfd75cbc facebook::react::ShadowTree::commit (ShadowTree.cpp:360)
34 split_config.arm64_v8a.apk 0x7acfd8d1ec [inlined] const::lambda::operator() (UIManager.cpp:170)
35 split_config.arm64_v8a.apk 0x7acfd8d1ec [inlined] std::__ndk1::__invoke[abi:v170000]<T> (invoke.h:394)
36 split_config.arm64_v8a.apk 0x7acfd8d1ec [inlined] std::__ndk1::__invoke_void_return_wrapper<T>::__call<T> (invoke.h:487)
37 split_config.arm64_v8a.apk 0x7acfd8d1ec [inlined] std::__ndk1::__function::__alloc_func<T>::operator()[abi:v170000] (function.h:185)
38 split_config.arm64_v8a.apk 0x7acfd8d1ec std::__ndk1::__function::__func<T>::operator() (function.h:356)
39 split_config.arm64_v8a.apk 0x7acfd74578 [inlined] std::__ndk1::__function::__value_func<T>::operator()[abi:v170000] (function.h:510)
40 split_config.arm64_v8a.apk 0x7acfd74578 [inlined] std::__ndk1::function<T>::operator() (function.h:1156)
41 split_config.arm64_v8a.apk 0x7acfd74578 facebook::react::ShadowTreeRegistry::visit (ShadowTreeRegistry.cpp:50)
42 split_config.arm64_v8a.apk 0x7acfd8a904 facebook::react::UIManager::completeSurface (UIManager.cpp:169)
43 split_config.arm64_v8a.apk 0x7acfd9a310 [inlined] facebook::react::UIManagerBinding::get::lambda::operator() (UIManagerBinding.cpp:506)
44 split_config.arm64_v8a.apk 0x7acfd9a310 [inlined] std::__ndk1::__invoke[abi:v170000]<T> (invoke.h:394)
45 split_config.arm64_v8a.apk 0x7acfd9a310 [inlined] std::__ndk1::__invoke_void_return_wrapper<T>::__call<T> (invoke.h:478)
46 split_config.arm64_v8a.apk 0x7acfd9a310 [inlined] std::__ndk1::__function::__alloc_func<T>::operator()[abi:v170000] (function.h:185)
47 split_config.arm64_v8a.apk 0x7acfd9a310 std::__ndk1::__function::__func<T>::operator() (function.h:356)
48 split_config.arm64_v8a.apk 0x7ab4a72070 facebook::jsi::Runtime::PointerValue::~PointerValue
49 split_config.arm64_v8a.apk 0x7ab4a71cd0 facebook::jsi::Runtime::PointerValue::~PointerValue
50 split_config.arm64_v8a.apk 0x7ab4a787b8 facebook::hermes::HermesRuntime::~HermesRuntime
51 split_config.arm64_v8a.apk 0x7ab4a88a40 std::__ndk1::random_device::random_device
52 split_config.arm64_v8a.apk 0x7ab4a8a3f4 std::__ndk1::random_device::random_device
53 split_config.arm64_v8a.apk 0x7ab4a89aac std::__ndk1::random_device::random_device
54 split_config.arm64_v8a.apk 0x7ab4a788c8 facebook::hermes::HermesRuntime::~HermesRuntime
55 split_config.arm64_v8a.apk 0x7ab4a6a0ec facebook::jsi::Array::setValueAtIndex<T>
56 split_config.arm64_v8a.apk 0x7acfd6ef00 [inlined] facebook::jsi::Function::call (jsi-inl.h:264)
57 split_config.arm64_v8a.apk 0x7acfd6ef00 [inlined] facebook::jsi::Function::call (jsi-inl.h:269)
58 split_config.arm64_v8a.apk 0x7acfd6ef00 facebook::react::Task::execute (Task.cpp:45)
59 split_config.arm64_v8a.apk 0x7acfd6d394 facebook::react::RuntimeScheduler_Modern::executeMacrotask (RuntimeScheduler_Modern.cpp:330)
60 split_config.arm64_v8a.apk 0x7acfd6d288 facebook::react::RuntimeScheduler_Modern::executeTask (RuntimeScheduler_Modern.cpp:291)
61 split_config.arm64_v8a.apk 0x7acfd6cf00 facebook::react::RuntimeScheduler_Modern::startWorkLoop (RuntimeScheduler_Modern.cpp:242)
62 split_config.arm64_v8a.apk 0x7ab8fc3110 std::__ndk1::__shared_ptr_emplace<T>::__on_zero_shared_weak
63 split_config.arm64_v8a.apk 0x7ad41932c4 facebook::react::JMessageQueueThread::~JMessageQueueThread
64 split_config.arm64_v8a.apk 0x7aeaba7804 [inlined] std::__ndk1::__function::__value_func<T>::operator()[abi:v170000] (function.h:510)
65 split_config.arm64_v8a.apk 0x7aeaba7804 [inlined] std::__ndk1::function<T>::operator() (function.h:1156)
66 split_config.arm64_v8a.apk 0x7aeaba7804 [inlined] facebook::jni::JNativeRunnable::run (NativeRunnable.h:44)
67 split_config.arm64_v8a.apk 0x7aeaba7804 facebook::jni::detail::MethodWrapper<T>::dispatch (Registration-inl.h:129)
68 split_config.arm64_v8a.apk 0x7aeaba7744 [inlined] facebook::jni::detail::CallWithJniConversions<T>::call (Registration-inl.h:66)
69 split_config.arm64_v8a.apk 0x7aeaba7744 facebook::jni::detail::FunctionWrapper<T>::call (Registration-inl.h:95)
70 base.odex 0x7afce51194 <unknown> + 528228880788
I suspect that the code is executed on a thread that is not attached to the jvm class loader. I am currently deploying a patch that wraps that code with jni::ThreadScope::WithClassLoader
to see if the crash stops.
Steps to reproduce
N/A
Snack or a link to a repository
N/A
Screens version
3.33.0
React Native version
0.74.3
Platforms
Android
JavaScript runtime
Hermes
Workflow
React Native (without Expo)
Architecture
Fabric (New Architecture)
Build type
Release mode
Device
Real device
Device model
Pixel 8 (AP1A.240305.019.A1) (Android 14)
Acknowledgements
Yes
Metadata
Metadata
Assignees
Labels
Missing reproThis issue need minimum repro scenarioThis issue need minimum repro scenarioPlatform: AndroidThis issue is specific to AndroidThis issue is specific to Android