react-native-draggable-flatlist
react-native-draggable-flatlist copied to clipboard
Application crash on item interaction
Describe the bug I'm rendering a list of items using NestableDraggableFlatlist. When a press is begun over a list item the application crashes with the following backtrace:
02-24 19:19:42.549 1090 1090 D TaplEvents: TIS / TouchInteractionService.onInputEvent: MotionEvent { action=ACTION_DOWN, actionButton=0, id[0]=0, x[0]=518.97217, y[0]=1766.8945, toolType[0]=TOOL_TYPE_FINGER, buttonState=0, classification=NONE, metaState=0, flags=0x0, edgeFlags=0x0, pointerCount=1, historySize=0, eventTime=7478184, downTime=7478184, deviceId=13, source=0x5002, displayId=0, eventId=504081386 }
02-24 19:19:42.577 12946 12946 F libc : Fatal signal 6 (SIGABRT), code -1 (SI_QUEUE) in tid 12946 (ailogroup.hailo), pid 12946 (ailogroup.hailo)
02-24 19:19:42.591 1090 1090 D TaplEvents: TIS / TouchInteractionService.onInputEvent: MotionEvent { action=ACTION_UP, actionButton=0, id[0]=0, x[0]=518.97217, y[0]=1766.8945, toolType[0]=TOOL_TYPE_FINGER, buttonState=0, classification=NONE, metaState=0, flags=0x0, edgeFlags=0x0, pointerCount=1, historySize=0, eventTime=7478225, downTime=7478184, deviceId=13, source=0x5002, displayId=0, eventId=466592816 }
02-24 19:19:42.670 13188 13188 I crash_dump64: obtaining output fd from tombstoned, type: kDebuggerdTombstoneProto
02-24 19:19:42.672 290 290 I tombstoned: received crash request for pid 12946
02-24 19:19:42.673 13188 13188 I crash_dump64: performing dump of process 12946 (target tid = 12946)
02-24 19:19:43.032 0 0 I logd : logdr: UID=10161 GID=10161 PID=13188 n tail=0 logMask=8 pid=12946 start=0ns deadline=0ns
02-24 19:19:43.037 0 0 I logd : logdr: UID=10161 GID=10161 PID=13188 n tail=0 logMask=1 pid=12946 start=0ns deadline=0ns
02-24 19:19:43.070 13188 13188 F DEBUG : *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
02-24 19:19:43.070 13188 13188 F DEBUG : Build fingerprint: 'google/sdk_gphone64_x86_64/emu64x:13/TE1A.220922.012/9302419:userdebug/dev-keys'
02-24 19:19:43.070 13188 13188 F DEBUG : Revision: '0'
02-24 19:19:43.070 13188 13188 F DEBUG : ABI: 'x86_64'
02-24 19:19:43.070 13188 13188 F DEBUG : Timestamp: 2023-02-24 19:19:42.681994800-0800
02-24 19:19:43.071 13188 13188 F DEBUG : Process uptime: 41s
02-24 19:19:43.071 13188 13188 F DEBUG : Cmdline: com.hailogroup.hailo
02-24 19:19:43.072 13188 13188 F DEBUG : pid: 12946, tid: 12946, name: ailogroup.hailo >>> com.hailogroup.hailo <<<
02-24 19:19:43.072 13188 13188 F DEBUG : uid: 10161
02-24 19:19:43.073 13188 13188 F DEBUG : signal 6 (SIGABRT), code -1 (SI_QUEUE), fault addr --------
02-24 19:19:43.073 13188 13188 F DEBUG : rax 0000000000000000 rbx 0000000000003292 rcx 000070530c7b06ff rdx 0000000000000006
02-24 19:19:43.073 13188 13188 F DEBUG : r8 0000000000000000 r9 0000000000000000 r10 00007ffccbff2160 r11 0000000000000203
02-24 19:19:43.074 13188 13188 F DEBUG : r12 0000000000000001 r13 00007ffccbff2858 r14 00007ffccbff2158 r15 0000000000003292
02-24 19:19:43.074 13188 13188 F DEBUG : rdi 0000000000003292 rsi 0000000000003292
02-24 19:19:43.075 13188 13188 F DEBUG : rbp 00007050f4077150 rsp 00007ffccbff2150 rip 000070530c7b06ff
02-24 19:19:43.075 13188 13188 F DEBUG : backtrace:
02-24 19:19:43.075 13188 13188 F DEBUG : #00 pc 000000000005f6ff /apex/com.android.runtime/lib64/bionic/libc.so (abort+191) (BuildId: 007cb2313464df63debf8020e631c990)
02-24 19:19:43.076 13188 13188 F DEBUG : #01 pc 00000000000bbdf1 /data/app/~~TKkhSKj4_fpnpC6FsLQttQ==/com.hailogroup.hailo-gD7JQCyFLGu9l4YLJ98Hlg==/lib/x86_64/libc++_shared.so (BuildId: 0516d55561abea9d0a07bd4694edf00e363f9880)
02-24 19:19:43.076 13188 13188 F DEBUG : #02 pc 00000000000bb28d /data/app/~~TKkhSKj4_fpnpC6FsLQttQ==/com.hailogroup.hailo-gD7JQCyFLGu9l4YLJ98Hlg==/lib/x86_64/libc++_shared.so (BuildId: 0516d55561abea9d0a07bd4694edf00e363f9880)
02-24 19:19:43.077 13188 13188 F DEBUG : #03 pc 00000000000bb07b /data/app/~~TKkhSKj4_fpnpC6FsLQttQ==/com.hailogroup.hailo-gD7JQCyFLGu9l4YLJ98Hlg==/lib/x86_64/libc++_shared.so (__gxx_personality_v0+123) (BuildId: 0516d55561abea9d0a07bd4694edf00e363f9880)
02-24 19:19:43.077 13188 13188 F DEBUG : #04 pc 00000000002e8d14 /data/app/~~TKkhSKj4_fpnpC6FsLQttQ==/com.hailogroup.hailo-gD7JQCyFLGu9l4YLJ98Hlg==/lib/x86_64/libreanimated.so (BuildId: 08150fdcf4a837aa5bf7bc52f82d393a61cd8d9d)
02-24 19:19:43.077 13188 13188 F DEBUG : #05 pc 00000000002e8dae /data/app/~~TKkhSKj4_fpnpC6FsLQttQ==/com.hailogroup.hailo-gD7JQCyFLGu9l4YLJ98Hlg==/lib/x86_64/libreanimated.so (BuildId: 08150fdcf4a837aa5bf7bc52f82d393a61cd8d9d)
02-24 19:19:43.077 13188 13188 F DEBUG : #06 pc 000000000026e672 /data/app/~~TKkhSKj4_fpnpC6FsLQttQ==/com.hailogroup.hailo-gD7JQCyFLGu9l4YLJ98Hlg==/lib/x86_64/libreanimated.so (reanimated::Scheduler::triggerUI()+178) (BuildId: 08150fdcf4a837aa5bf7bc52f82d393a61cd8d9d)
02-24 19:19:43.078 13188 13188 F DEBUG : #07 pc 0000000000277791 /data/app/~~TKkhSKj4_fpnpC6FsLQttQ==/com.hailogroup.hailo-gD7JQCyFLGu9l4YLJ98Hlg==/lib/x86_64/libreanimated.so (reanimated::AndroidScheduler::triggerUI()+49) (BuildId: 08150fdcf4a837aa5bf7bc52f82d393a61cd8d9d)
02-24 19:19:43.078 13188 13188 F DEBUG : #08 pc 000000000027f679 /data/app/~~TKkhSKj4_fpnpC6FsLQttQ==/com.hailogroup.hailo-gD7JQCyFLGu9l4YLJ98Hlg==/lib/x86_64/libreanimated.so (facebook::jni::detail::MethodWrapper<void (reanimated::AndroidScheduler::*)(), &(reanimated::AndroidScheduler::triggerUI()), reanimated::AndroidScheduler, void>::dispatch(facebook::jni::alias_ref<facebook::jni::detail::JTypeFor<facebook::jni::HybridClass<reanimated::AndroidScheduler, facebook::jni::detail::BaseHybridClass>::JavaPart, facebook::jni::JObject, void>::_javaobject*>)+201) (BuildId: 08150fdcf4a837aa5bf7bc52f82d393a61cd8d9d)
02-24 19:19:43.079 13188 13188 F DEBUG : #09 pc 000000000027f71f /data/app/~~TKkhSKj4_fpnpC6FsLQttQ==/com.hailogroup.hailo-gD7JQCyFLGu9l4YLJ98Hlg==/lib/x86_64/libreanimated.so (facebook::jni::detail::CallWithJniConversions<void (*)(facebook::jni::alias_ref<facebook::jni::detail::JTypeFor<facebook::jni::HybridClass<reanimated::AndroidScheduler, facebook::jni::detail::BaseHybridClass>::JavaPart, facebook::jni::JObject, void>::_javaobject*>), void, facebook::jni::detail::JTypeFor<facebook::jni::HybridClass<reanimated::AndroidScheduler, facebook::jni::detail::BaseHybridClass>::JavaPart, facebook::jni::JObject, void>::_javaobject*>::call(facebook::jni::detail::JTypeFor<facebook::jni::HybridClass<reanimated::AndroidScheduler, facebook::jni::detail::BaseHybridClass>::JavaPart, facebook::jni::JObject, void>::_javaobject*, void (*)(facebook::jni::alias_ref<facebook::jni::detail::JTypeFor<facebook::jni::HybridClass<reanimated::AndroidScheduler, facebook::jni::detail::BaseHybridClass>::JavaPart, facebook::jni::JObject, void>::_javaobject*>))+63) (BuildId: 08150fdcf4a837aa5bf7bc52f82d393a61cd8d9d)
02-24 19:19:43.079 13188 13188 F DEBUG : #10 pc 000000000027f4ed /data/app/~~TKkhSKj4_fpnpC6FsLQttQ==/com.hailogroup.hailo-gD7JQCyFLGu9l4YLJ98Hlg==/lib/x86_64/libreanimated.so (facebook::jni::detail::FunctionWrapper<void (*)(facebook::jni::alias_ref<facebook::jni::detail::JTypeFor<facebook::jni::HybridClass<reanimated::AndroidScheduler, facebook::jni::detail::BaseHybridClass>::JavaPart, facebook::jni::JObject, void>::_javaobject*>), facebook::jni::detail::JTypeFor<facebook::jni::HybridClass<reanimated::AndroidScheduler, facebook::jni::detail::BaseHybridClass>::JavaPart, facebook::jni::JObject, void>::_javaobject*, void>::call(_JNIEnv*, _jobject*, void (*)(facebook::jni::alias_ref<facebook::jni::detail::JTypeFor<facebook::jni::HybridClass<reanimated::AndroidScheduler, facebook::jni::detail::BaseHybridClass>::JavaPart, facebook::jni::JObject, void>::_javaobject*>))+61) (BuildId: 08150fdcf4a837aa5bf7bc52f82d393a61cd8d9d)
02-24 19:19:43.079 13188 13188 F DEBUG : #11 pc 0000000000277e70 /data/app/~~TKkhSKj4_fpnpC6FsLQttQ==/com.hailogroup.hailo-gD7JQCyFLGu9l4YLJ98Hlg==/lib/x86_64/libreanimated.so (facebook::jni::detail::MethodWrapper<void (reanimated::AndroidScheduler::*)(), &(reanimated::AndroidScheduler::triggerUI()), reanimated::AndroidScheduler, void>::call(_JNIEnv*, _jobject*)+48) (BuildId: 08150fdcf4a837aa5bf7bc52f82d393a61cd8d9d)
02-24 19:19:43.080 13188 13188 F DEBUG : #12 pc 000000000037d70b /apex/com.android.art/lib64/libart.so (art_quick_generic_jni_trampoline+219) (BuildId: 44bc52550248fc712a381bef164b75c7)
02-24 19:19:43.080 13188 13188 F DEBUG : #13 pc 0000000000369aed /apex/com.android.art/lib64/libart.so (nterp_helper+3837) (BuildId: 44bc52550248fc712a381bef164b75c7)
02-24 19:19:43.081 13188 13188 F DEBUG : #14 pc 00000000000a2dc0 [anon:dalvik-classes2.dex extracted in memory from /data/app/~~TKkhSKj4_fpnpC6FsLQttQ==/com.hailogroup.hailo-gD7JQCyFLGu9l4YLJ98Hlg==/base.apk!classes2.dex] (com.swmansion.reanimated.Scheduler$1.run+28)
02-24 19:19:43.081 13188 13188 F DEBUG : #15 pc 000000000036a7e5 /apex/com.android.art/lib64/libart.so (nterp_helper+7157) (BuildId: 44bc52550248fc712a381bef164b75c7)
02-24 19:19:43.082 13188 13188 F DEBUG : #16 pc 00000000000a2e00 [anon:dalvik-classes2.dex extracted in memory from /data/app/~~TKkhSKj4_fpnpC6FsLQttQ==/com.hailogroup.hailo-gD7JQCyFLGu9l4YLJ98Hlg==/base.apk!classes2.dex] (com.swmansion.reanimated.Scheduler$2.runGuarded+12)
02-24 19:19:43.082 13188 13188 F DEBUG : #17 pc 0000000000369a88 /apex/com.android.art/lib64/libart.so (nterp_helper+3736) (BuildId: 44bc52550248fc712a381bef164b75c7)
02-24 19:19:43.082 13188 13188 F DEBUG : #18 pc 0000000000246230 [anon:dalvik-classes6.dex extracted in memory from /data/app/~~TKkhSKj4_fpnpC6FsLQttQ==/com.hailogroup.hailo-gD7JQCyFLGu9l4YLJ98Hlg==/base.apk!classes6.dex] (com.facebook.react.bridge.GuardedRunnable.run+0)
02-24 19:19:43.083 13188 13188 F DEBUG : #19 pc 0000000002078914 /memfd:jit-cache (deleted) (android.os.Handler.handleCallback+148)
02-24 19:19:43.083 13188 13188 F DEBUG : #20 pc 0000000002016d4c /memfd:jit-cache (deleted) (android.os.Handler.dispatchMessage+124)
02-24 19:19:43.083 13188 13188 F DEBUG : #21 pc 0000000002020ff8 /memfd:jit-cache (deleted) (android.os.Looper.loopOnce+1400)
02-24 19:19:43.083 13188 13188 F DEBUG : #22 pc 0000000000369459 /apex/com.android.art/lib64/libart.so (nterp_helper+2153) (BuildId: 44bc52550248fc712a381bef164b75c7)
02-24 19:19:43.084 13188 13188 F DEBUG : #23 pc 0000000000498f36 /system/framework/framework.jar (android.os.Looper.loop+162)
02-24 19:19:43.085 13188 13188 F DEBUG : #24 pc 0000000000368c28 /apex/com.android.art/lib64/libart.so (nterp_helper+56) (BuildId: 44bc52550248fc712a381bef164b75c7)
02-24 19:19:43.085 13188 13188 F DEBUG : #25 pc 00000000001bc506 /system/framework/framework.jar (android.app.ActivityThread.main+202)
02-24 19:19:43.085 13188 13188 F DEBUG : #26 pc 0000000000372926 /apex/com.android.art/lib64/libart.so (art_quick_invoke_static_stub+806) (BuildId: 44bc52550248fc712a381bef164b75c7)
02-24 19:19:43.085 13188 13188 F DEBUG : #27 pc 00000000003f21d9 /apex/com.android.art/lib64/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+265) (BuildId: 44bc52550248fc712a381bef164b75c7)
02-24 19:19:43.086 13188 13188 F DEBUG : #28 pc 00000000007e4b7c /apex/com.android.art/lib64/libart.so (_jobject* art::InvokeMethod<(art::PointerSize)8>(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, _jobject*, _jobject*, unsigned long)+1452) (BuildId: 44bc52550248fc712a381bef164b75c7)
02-24 19:19:43.086 13188 13188 F DEBUG : #29 pc 0000000000754718 /apex/com.android.art/lib64/libart.so (art::Method_invoke(_JNIEnv*, _jobject*, _jobject*, _jobjectArray*)+56) (BuildId: 44bc52550248fc712a381bef164b75c7)
02-24 19:19:43.087 13188 13188 F DEBUG : #30 pc 000000000009b400 /system/framework/x86_64/boot.oat (art_jni_trampoline+128) (BuildId: f2108335ca6c802e561cdde35cfac810207631cc)
02-24 19:19:43.087 13188 13188 F DEBUG : #31 pc 0000000000369aed /apex/com.android.art/lib64/libart.so (nterp_helper+3837) (BuildId: 44bc52550248fc712a381bef164b75c7)
02-24 19:19:43.088 13188 13188 F DEBUG : #32 pc 00000000003fcae6 /system/framework/framework.jar (com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run+22)
02-24 19:19:43.088 13188 13188 F DEBUG : #33 pc 0000000000864cde /system/framework/x86_64/boot-framework.oat (com.android.internal.os.ZygoteInit.main+3022) (BuildId: be6a33c839db5452577c0e95bb7741e2d6367f96)
02-24 19:19:43.088 13188 13188 F DEBUG : #34 pc 0000000000372926 /apex/com.android.art/lib64/libart.so (art_quick_invoke_static_stub+806) (BuildId: 44bc52550248fc712a381bef164b75c7)
02-24 19:19:43.089 13188 13188 F DEBUG : #35 pc 00000000003f21d9 /apex/com.android.art/lib64/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+265) (BuildId: 44bc52550248fc712a381bef164b75c7)
02-24 19:19:43.089 13188 13188 F DEBUG : #36 pc 00000000007e5531 /apex/com.android.art/lib64/libart.so (art::JValue art::InvokeWithVarArgs<art::ArtMethod*>(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, art::ArtMethod*, __va_list_tag*)+465) (BuildId: 44bc52550248fc712a381bef164b75c7)
02-24 19:19:43.090 13188 13188 F DEBUG : #37 pc 00000000006af924 /apex/com.android.art/lib64/libart.so (art::JNI<true>::CallStaticVoidMethodV(_JNIEnv*, _jclass*, _jmethodID*, __va_list_tag*)+676) (BuildId: 44bc52550248fc712a381bef164b75c7)
02-24 19:19:43.091 13188 13188 F DEBUG : #38 pc 00000000000d4e54 /system/lib64/libandroid_runtime.so (_JNIEnv::CallStaticVoidMethod(_jclass*, _jmethodID*, ...)+164) (BuildId: 2a86b9a46fcc5a9ee4faac00b9a926e8)
02-24 19:19:43.091 13188 13188 F DEBUG : #39 pc 00000000000e19c1 /system/lib64/libandroid_runtime.so (android::AndroidRuntime::start(char const*, android::Vector<android::String8> const&, bool)+897) (BuildId: 2a86b9a46fcc5a9ee4faac00b9a926e8)
02-24 19:19:43.091 13188 13188 F DEBUG : #40 pc 0000000000002faf /system/bin/app_process64 (main+1583) (BuildId: a49f9e708801f6a0a629f488a0e449c9)
02-24 19:19:43.092 13188 13188 F DEBUG : #41 pc 0000000000050cb9 /apex/com.android.runtime/lib64/bionic/libc.so (__libc_init+89) (BuildId: 007cb2313464df63debf8020e631c990)
To Reproduce
- Create a react native application
- Install this package and the [email protected] and [email protected]
- Add an instance of NestableDraggableFlatlist to your app:
<NestableDraggableFlatList
data={[1, 2, 3, 4]}
keyExtractor={i => i}
renderItem={i => <View><Text>Item {i}</Text></View>}
onDragEnd={updateItemPosition}
/>
- Touch any of the items
- Watch the app disappear from your screen.
Platform & Dependencies Please list any applicable dependencies in addition to those below (react-navigation etc).
- react-native-draggable-flatlist version: 4.0.1
- Platform: Android
- React Native: 0.68.5
- Reanimated version: 2.14.4
- React Native Gesture Handler version: 2.9.0
Seeing a similar issue with a non-nested draggable FlatList. After manipulating some elements, the app freezes either while the element is in drag or when it locks in a position. Cannot reproduce this without random gestures.
@RobertWHurst how are you getting these logs? When the application crashes in my case, I am not seeing any error logs at all.
Platform & Deps
Happening on iOS on Expo 46.0.19 and RN 0.69.6
- react-native-draggable-flatlist: 4.0.1
- react-native-reanimated: 2.9.1
- react-native-gesture-handler: 2.8.0
@andranikm97 Indeed, the react-native cli does not output this trace. I got this from adb logcat
which prints system logs from the Android Emulator.
@RobertWHurst thanks! Got some logs from lldb
here just before the crash:
frame #60: 0x0000000102e2c8f4 ReactNativeMobile`std::__1::__hash_table<std::__1::__hash_value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::shared_ptr<reanimated::ShareableValue> >, std::__1::__unordered_map_hasher<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::__hash_value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::shared_ptr<reanimated::ShareableValue> >, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, true>, std::__1::__unordered_map_equal<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::__hash_value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::shared_ptr<reanimated::ShareableValue> >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, true>, std::__1::allocator<std::__1::__hash_value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::shared_ptr<reanimated::ShareableValue> > > >::~__hash_table(this=0x00000002802d8f70) at __hash_table:1511:1
frame #61: 0x0000000102e2c8c8 ReactNativeMobile`std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::shared_ptr<reanimated::ShareableValue>, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, std::__1::shared_ptr<reanimated::ShareableValue> > > >::~unordered_map(this=0x00000002802d8f70 size=4) at unordered_map:1047:5
frame #62: 0x0000000102e2b5e8 ReactNativeMobile`std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::shared_ptr<reanimated::ShareableValue>, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, std::__1::shared_ptr<reanimated::ShareableValue> > > >::~unordered_map(this=0x00000002802d8f70 size=4) at unordered_map:1045:22
frame #63: 0x0000000102e2f6f0 ReactNativeMobile`reanimated::FrozenObject::~FrozenObject(this=0x00000002802d8f68) at FrozenObject.h:16:7
frame #64: 0x0000000102e2b958 ReactNativeMobile`reanimated::FrozenObject::~FrozenObject(this=0x00000002802d8f68) at FrozenObject.h:16:7
frame #65: 0x0000000102ef9d64 ReactNativeMobile`std::__1::__shared_ptr_emplace<reanimated::FrozenObject, std::__1::allocator<reanimated::FrozenObject> >::__on_zero_shared(this=0x00000002802d8f50) at shared_ptr.h:315:24
frame #66: 0x0000000102e37b84 ReactNativeMobile`std::__1::__shared_count::__release_shared(this=0x00000002802d8f50) at shared_ptr.h:177:9
frame #67: 0x0000000102e37b28 ReactNativeMobile`std::__1::__shared_weak_count::__release_shared(this=0x00000002802d8f50) at shared_ptr.h:219:27
frame #68: 0x0000000102e3c26c ReactNativeMobile`std::__1::shared_ptr<reanimated::FrozenObject>::~shared_ptr(this=0x0000000282918dd0) at shared_ptr.h:959:19
frame #69: 0x0000000102e3c09c ReactNativeMobile`std::__1::shared_ptr<reanimated::FrozenObject>::~shared_ptr(this=0x0000000282918dd0) at shared_ptr.h:957:1
frame #70: 0x0000000102ef4fdc ReactNativeMobile`reanimated::FrozenObjectWrapper::~FrozenObjectWrapper(this=0x0000000282918dc0) at ValueWrapper.h:82:7
frame #71: 0x0000000102ef4efc ReactNativeMobile`reanimated::FrozenObjectWrapper::~FrozenObjectWrapper(this=0x0000000282918dc0) at ValueWrapper.h:82:7
frame #72: 0x0000000102ef4f28 ReactNativeMobile`reanimated::FrozenObjectWrapper::~FrozenObjectWrapper(this=0x0000000282918dc0) at ValueWrapper.h:82:7
frame #73: 0x0000000102ef3bcc ReactNativeMobile`std::__1::default_delete<reanimated::ValueWrapper>::operator(this=0x00000002802db998, __ptr=0x0000000282918dc0)(reanimated::ValueWrapper*) const at unique_ptr.h:57:5
frame #74: 0x0000000102ef3b40 ReactNativeMobile`std::__1::unique_ptr<reanimated::ValueWrapper, std::__1::default_delete<reanimated::ValueWrapper> >::reset(this=0x00000002802db998, __p=0x0000000000000000) at unique_ptr.h:318:7
frame #75: 0x0000000102ef3ad0 ReactNativeMobile`std::__1::unique_ptr<reanimated::ValueWrapper, std::__1::default_delete<reanimated::ValueWrapper> >::~unique_ptr(this=0x00000002802db998) at unique_ptr.h:272:19
frame #76: 0x0000000102ef3aa0 ReactNativeMobile`std::__1::unique_ptr<reanimated::ValueWrapper, std::__1::default_delete<reanimated::ValueWrapper> >::~unique_ptr(this=0x00000002802db998) at unique_ptr.h:272:17
frame #77: 0x0000000102ef3a60 ReactNativeMobile`reanimated::ShareableValue::~ShareableValue(this=0x00000002802db950) at ShareableValue.h:23:7
frame #78: 0x0000000102ef3678 ReactNativeMobile`reanimated::ShareableValue::~ShareableValue(this=0x00000002802db950) at ShareableValue.h:23:7
frame #79: 0x0000000102ef36a4 ReactNativeMobile`reanimated::ShareableValue::~ShareableValue(this=0x00000002802db950) at ShareableValue.h:23:7
frame #80: 0x0000000102efdbe0 ReactNativeMobile`std::__1::default_delete<reanimated::ShareableValue>::operator(this=0x00000002829ac618, __ptr=0x00000002802db950)(reanimated::ShareableValue*) const at unique_ptr.h:57:5
frame #81: 0x0000000102efd8bc ReactNativeMobile`std::__1::__shared_ptr_pointer<reanimated::ShareableValue*, std::__1::shared_ptr<reanimated::ShareableValue>::__shared_ptr_default_delete<reanimated::ShareableValue, reanimated::ShareableValue>, std::__1::allocator<reanimated::ShareableValue> >::__on_zero_shared(this=0x00000002829ac600) at shared_ptr.h:267:5
frame #82: 0x0000000102e86bf4 ReactNativeMobile`std::__1::__shared_count::__release_shared(this=0x00000002829ac600) at shared_ptr.h:177:9
frame #83: 0x0000000102e86b98 ReactNativeMobile`std::__1::__shared_weak_count::__release_shared(this=0x00000002829ac600) at shared_ptr.h:219:27
frame #84: 0x0000000102e89964 ReactNativeMobile`std::__1::shared_ptr<reanimated::ShareableValue>::~shared_ptr(this=0x0000000283c51d28) at shared_ptr.h:959:19
frame #85: 0x0000000102e810d4 ReactNativeMobile`std::__1::shared_ptr<reanimated::ShareableValue>::~shared_ptr(this=0x0000000283c51d28) at shared_ptr.h:957:1
frame #86: 0x0000000102e2cb9c ReactNativeMobile`std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, std::__1::shared_ptr<reanimated::ShareableValue> >::~pair(this=0x0000000283c51d10) at pair.h:42:29
frame #87: 0x0000000102e2cb6c ReactNativeMobile`std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, std::__1::shared_ptr<reanimated::ShareableValue> >::~pair(this=0x0000000283c51d10) at pair.h:42:29
frame #88: 0x0000000102e2ca78 ReactNativeMobile`void std::__1::allocator_traits<std::__1::allocator<std::__1::__hash_node<std::__1::__hash_value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::shared_ptr<reanimated::ShareableValue> >, void*> > >::destroy<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, std::__1::shared_ptr<reanimated::ShareableValue> >, void, void>((null)=0x00000002802cb590, __p=0x0000000283c51d10) at allocator_traits.h:319:15
frame #89: 0x0000000102e2c9bc ReactNativeMobile`std::__1::__hash_table<std::__1::__hash_value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::shared_ptr<reanimated::ShareableValue> >, std::__1::__unordered_map_hasher<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::__hash_value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::shared_ptr<reanimated::ShareableValue> >, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, true>, std::__1::__unordered_map_equal<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::__hash_value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::shared_ptr<reanimated::ShareableValue> >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, true>, std::__1::allocator<std::__1::__hash_value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::shared_ptr<reanimated::ShareableValue> > > >::__deallocate_node(this=0x00000002802cb580, __np=0x0000000283c51d00) at __hash_table:1580:9
frame #90: 0x0000000102e2c934 ReactNativeMobile`std::__1::__hash_table<std::__1::__hash_value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::shared_ptr<reanimated::ShareableValue> >, std::__1::__unordered_map_hasher<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::__hash_value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::shared_ptr<reanimated::ShareableValue> >, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, true>, std::__1::__unordered_map_equal<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::__hash_value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::shared_ptr<reanimated::ShareableValue> >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, true>, std::__1::allocator<std::__1::__hash_value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::shared_ptr<reanimated::ShareableValue> > > >::~__hash_table(this=0x00000002802cb580) at __hash_table:1519:5
frame #91: 0x0000000102e2c8f4 ReactNativeMobile`std::__1::__hash_table<std::__1::__hash_value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::shared_ptr<reanimated::ShareableValue> >, std::__1::__unordered_map_hasher<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::__hash_value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::shared_ptr<reanimated::ShareableValue> >, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, true>, std::__1::__unordered_map_equal<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::__hash_value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::shared_ptr<reanimated::ShareableValue> >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, true>, std::__1::allocator<std::__1::__hash_value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::shared_ptr<reanimated::ShareableValue> > > >::~__hash_table(this=0x00000002802cb580) at __hash_table:1511:1
frame #92: 0x0000000102e2c8c8 ReactNativeMobile`std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::shared_ptr<reanimated::ShareableValue>, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, std::__1::shared_ptr<reanimated::ShareableValue> > > >::~unordered_map(this=0x00000002802cb580 size=8) at unordered_map:1047:5
frame #93: 0x0000000102e2b5e8 ReactNativeMobile`std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::shared_ptr<reanimated::ShareableValue>, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, std::__1::shared_ptr<reanimated::ShareableValue> > > >::~unordered_map(this=0x00000002802cb580 size=8) at unordered_map:1045:22
frame #94: 0x0000000102e2f6f0 ReactNativeMobile`reanimated::FrozenObject::~FrozenObject(this=0x00000002802cb578) at FrozenObject.h:16:7
frame #95: 0x0000000102e2b958 ReactNativeMobile`reanimated::FrozenObject::~FrozenObject(this=0x00000002802cb578) at FrozenObject.h:16:7
frame #96: 0x0000000102ef9d64 ReactNativeMobile`std::__1::__shared_ptr_emplace<reanimated::FrozenObject, std::__1::allocator<reanimated::FrozenObject> >::__on_zero_shared(this=0x00000002802cb560) at shared_ptr.h:315:24
frame #97: 0x0000000102eb3cf4 ReactNativeMobile`std::__1::__shared_count::__release_shared(this=0x00000002802cb560) at shared_ptr.h:177:9
frame #98: 0x0000000102eb3c98 ReactNativeMobile`std::__1::__shared_weak_count::__release_shared(this=0x00000002802cb560) at shared_ptr.h:219:27
frame #99: 0x0000000102eb41fc ReactNativeMobile`std::__1::shared_ptr<facebook::jsi::HostObject>::~shared_ptr(this=0x000000028293d7a8) at shared_ptr.h:959:19
frame #100: 0x0000000102eb3bb0 ReactNativeMobile`std::__1::shared_ptr<facebook::jsi::HostObject>::~shared_ptr(this=0x000000028293d7a8) at shared_ptr.h:957:1
frame #101: 0x00000001031b0ab4 ReactNativeMobile`facebook::jsc::detail::HostObjectProxyBase::~HostObjectProxyBase(this=0x000000028293d7a0) at JSCRuntime.cpp:703:8
frame #102: 0x00000001031b0a84 ReactNativeMobile`facebook::jsc::JSCRuntime::createObject(this=0x000000028293d7a0)::HostObjectProxy::~HostObjectProxy() at JSCRuntime.cpp:720:10
frame #103: 0x00000001031b0a58 ReactNativeMobile`facebook::jsc::JSCRuntime::createObject(this=0x000000028293d7a0)::HostObjectProxy::~HostObjectProxy() at JSCRuntime.cpp:720:10
frame #104: 0x00000001031afbc8 ReactNativeMobile`facebook::jsc::JSCRuntime::createObject(obj=0x0000000112500fc0)::HostObjectProxy::finalize(OpaqueJSValue*) at JSCRuntime.cpp:825:7
frame #105: 0x00000001c614fd70 JavaScriptCore`JSC::JSCallbackObject<JSC::JSNonFinalObject>::~JSCallbackObject() + 332
frame #106: 0x00000001c67829e0 JavaScriptCore`JSC::IsoHeapCellType::finishSweep(JSC::MarkedBlock::Handle&, JSC::FreeList*) const + 944
frame #107: 0x00000001c678a904 JavaScriptCore`JSC::MarkedBlock::Handle::sweep(JSC::FreeList*) + 1164
frame #108: 0x00000001c674d830 JavaScriptCore`JSC::Heap::sweepSynchronously() + 160
frame #109: 0x00000001c6756878 JavaScriptCore`JSC::Heap::handleNeedFinalize(unsigned int) + 1632
frame #110: 0x00000001c674e93c JavaScriptCore`JSC::Heap::finishChangingPhase(JSC::GCConductor) + 252
frame #111: 0x00000001c67519f0 JavaScriptCore`JSC::Heap::runEndPhase(JSC::GCConductor) + 4476
frame #112: 0x00000001c674e768 JavaScriptCore`JSC::Heap::runCurrentPhase(JSC::GCConductor, JSC::CurrentThreadState*) + 256
frame #113: 0x00000001c6771368 JavaScriptCore`WTF::ScopedLambdaFunctor<void (JSC::CurrentThreadState&), JSC::Heap::collectInMutatorThread()::$_0>::implFunction(void*, JSC::CurrentThreadState&) + 40
frame #114: 0x00000001c67894fc JavaScriptCore`JSC::callWithCurrentThreadState(WTF::ScopedLambda<void (JSC::CurrentThreadState&)> const&) + 156
frame #115: 0x00000001c675696c JavaScriptCore`JSC::Heap::collectInMutatorThread() + 124
frame #116: 0x00000001c675614c JavaScriptCore`JSC::Heap::stopIfNecessarySlow() + 72
frame #117: 0x00000001c678677c JavaScriptCore`JSC::LocalAllocator::allocateSlowCase(JSC::Heap&, JSC::GCDeferralContext*, JSC::AllocationFailureMode) + 256
frame #118: 0x00000001c6094a64 JavaScriptCore`JSC::JSArray::tryCreate(JSC::VM&, JSC::Structure*, unsigned int, unsigned int) + 1004
frame #119: 0x00000001c6d0f904 JavaScriptCore`JSC::objectConstructorValues(JSC::JSGlobalObject*, JSC::CallFrame*) + 216
frame #120: 0x00000001c60d5c94 JavaScriptCore`llint_function_for_construct_arity_checkTagGateAfter + 156016
Unfortunately no useful native logs from Xcode's console.
Any updates on this issue?
So i did some debugging into this issue and it seems the issue is with the GestureDetector handler.
See the following commit on a fork i created https://github.com/computerjazz/react-native-draggable-flatlist/commit/429da79937bc767bf01bda812e98a52af7c1990e
If i run the gesture handler on the JS thread, i cant seem to repeat the crash.
Alternatively i had a go at replacing the Gesture.pan() with useAnimatedGestureHandler, and this also seemed to resolve the issue, however i lost some functionality around hitSlop and onTouches... events.
Not sure if this is an issue with react-native-gesture-handler itself when its using reanimated, or this libraries usage of it.