react-native-draggable-flatlist icon indicating copy to clipboard operation
react-native-draggable-flatlist copied to clipboard

Application crash on item interaction

Open RobertWHurst opened this issue 1 year ago • 5 comments

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

  1. Create a react native application
  2. Install this package and the [email protected] and [email protected]
  3. 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}
/>
  1. Touch any of the items
  2. 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

RobertWHurst avatar Feb 25 '23 03:02 RobertWHurst

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 avatar Mar 14 '23 09:03 andranikm97

@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 avatar Mar 15 '23 01:03 RobertWHurst

@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.

andranikm97 avatar Mar 15 '23 15:03 andranikm97

Any updates on this issue?

stephenseager avatar Mar 27 '23 13:03 stephenseager

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.

stephenseager avatar Mar 28 '23 15:03 stephenseager