Skip to content

Expo Android app crashing on Samsung devices on first startup with this library installed #2429

@dariusternovan

Description

@dariusternovan

Description

On certain devices such as Samsung and Huawei phones, my Expo app using this library seems to crash sometimes upon first running after installing or updating it. The crash doesn't happen every time, and it doesn't happen on iOS devices or Android emulators. Upon opening the app after the crash, it never happens again until the user updates it or reinstalls it.

I've tried multiple versions of this library, but the issue persists. The only way I managed to get the app to not crash on my Samsung phone was to remove the library altogether. That, coupled with a similar issue reported on expo's Github repo (which I will link in this post) led to me posting this, as I believe it might be related to this library.

Below are the logs:

03-01 13:45:30.244 15300 15300 F DEBUG : Process uptime: 8s
03-01 13:45:30.244 15300 15300 F DEBUG : Cmdline: com.omcmobile
03-01 13:45:30.244 15300 15300 F DEBUG : pid: 15176, tid: 15176, name: com.omcmobile >>> com.omcmobile <<<
03-01 13:45:30.244 15300 15300 F DEBUG : uid: 10424
03-01 13:45:30.244 15300 15300 F DEBUG : tagged_addr_ctrl: 0000000000000001 (PR_TAGGED_ADDR_ENABLE)
03-01 13:45:30.244 15300 15300 F DEBUG : signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x0000000000000048
03-01 13:45:30.244 15300 15300 F DEBUG : Cause: null pointer dereference
03-01 13:45:30.244 15300 15300 F DEBUG : x0 000000000000000a x1 0000007fc36d9a30 x2 0000007fc36d9ab0 x3 0000000000000003
03-01 13:45:30.244 15300 15300 F DEBUG : x4 000000000000993f x5 00000000140f9468 x6 0000000000000030 x7 0000000000000000
03-01 13:45:30.244 15300 15300 F DEBUG : x8 00000079d18bec10 x9 0000007a475c63f0 x10 0000007a5488a2bc x11 b400007b35e34540
03-01 13:45:30.244 15300 15300 F DEBUG : x12 0000000000000008 x13 0000007fc36dadd8 x14 0000007fc36daec0 x15 0000000000000003
03-01 13:45:30.244 15300 15300 F DEBUG : x16 0000007fc36dae60 x17 000000000000000f x18 0000007d03374000 x19 0000000000000000
03-01 13:45:30.244 15300 15300 F DEBUG : x20 0000000000000000 x21 0000000000000000 x22 0000000000000000 x23 0000007a54e16000
03-01 13:45:30.244 15300 15300 F DEBUG : x24 0000007a38c64168 x25 0000007a377ff6f8 x26 0000007d02f3b000 x27 0000000000000000
03-01 13:45:30.244 15300 15300 F DEBUG : x28 00000079dae7103c x29 0000007fc36dac80
03-01 13:45:30.244 15300 15300 F DEBUG : lr 0000007d0411489c sp 0000007fc36d9a10 pc 00000079d16933bc pst 0000000060001000
03-01 13:45:30.244 15300 15300 F DEBUG : backtrace:
03-01 13:45:30.244 15300 15300 F DEBUG : #00 pc 00000000006703bc /data/app/~~lidyTOIKVn_RxJbohEhEiw==/com.omcmobile-oLZ0ZtP0CEyWvnd2rGFswQ==/base.apk!libjsc.so (BuildId: dad225e5c5aafb43e3fcbfcd576772a6a0f8c19a)
03-01 13:45:30.244 15300 15300 F DEBUG : #1 pc 000000000000089c [vdso]
03-01 13:45:30.244 15300 15300 F DEBUG : #2 pc 00000000004897a0 /apex/com.android.art/lib64/libart.so (NterpGetMethod+252) (BuildId: 28c5aa8a2e8fc5df069f717d6e94f7fe)
03-01 13:45:30.244 15300 15300 F DEBUG : #3 pc 000000000020f540 /apex/com.android.art/lib64/libart.so (nterp_get_method+48) (BuildId: 28c5aa8a2e8fc5df069f717d6e94f7fe)
03-01 13:45:30.244 15300 15300 F DEBUG : #4 pc 000000000020412c /apex/com.android.art/lib64/libart.so (nterp_op_invoke_static+44) (BuildId: 28c5aa8a2e8fc5df069f717d6e94f7fe)
03-01 13:45:30.244 15300 15300 F DEBUG : #5 pc 000000000039503c /data/app/~~lidyTOIKVn_RxJbohEhEiw==/com.omcmobile-oLZ0ZtP0CEyWvnd2rGFswQ==/oat/arm64/base.vdex (com.facebook.react.uimanager.events.EventDispatcherImpl$ScheduleDispatchFrameCallback.post+0)
03-01 13:45:30.244 15300 15300 F DEBUG : #6 pc 000000000020a254 /apex/com.android.art/lib64/libart.so (nterp_helper+3924) (BuildId: 28c5aa8a2e8fc5df069f717d6e94f7fe)
03-01 13:45:30.244 15300 15300 F DEBUG : #7 pc 0000000000394f1a /data/app/~~lidyTOIKVn_RxJbohEhEiw==/com.omcmobile-oLZ0ZtP0CEyWvnd2rGFswQ==/oat/arm64/base.vdex (com.facebook.react.uimanager.events.EventDispatcherImpl$ScheduleDispatchFrameCallback.doFrame+22)
03-01 13:45:30.244 15300 15300 F DEBUG : #8 pc 0000000002010cd8 /memfd:jit-cache (deleted) (com.facebook.react.modules.core.ReactChoreographer$ReactChoreographerDispatcher.doFrame+472)
03-01 13:45:30.244 15300 15300 F DEBUG : #9 pc 000000000020a910 /apex/com.android.art/lib64/libart.so (nterp_helper+5648) (BuildId: 28c5aa8a2e8fc5df069f717d6e94f7fe)
03-01 13:45:30.244 15300 15300 F DEBUG : #10 pc 0000000000372144 /data/app/~~lidyTOIKVn_RxJbohEhEiw==/com.omcmobile-oLZ0ZtP0CEyWvnd2rGFswQ==/oat/arm64/base.vdex (com.facebook.react.modules.core.ChoreographerCompat$FrameCallback$1.doFrame+4)
03-01 13:45:30.244 15300 15300 F DEBUG : #11 pc 0000000000c70f88 /data/misc/apexdata/com.android.art/dalvik-cache/arm64/boot.oat (android.view.Choreographer.doCallbacks+1384)
03-01 13:45:30.244 15300 15300 F DEBUG : #12 pc 0000000000c71be4 /data/misc/apexdata/com.android.art/dalvik-cache/arm64/boot.oat (android.view.Choreographer.doFrame+1764)
03-01 13:45:30.244 15300 15300 F DEBUG : #13 pc 0000000000d0d920 /data/misc/apexdata/com.android.art/dalvik-cache/arm64/boot.oat (android.view.Choreographer$FrameDisplayEventReceiver.run+96)
03-01 13:45:30.244 15300 15300 F DEBUG : #14 pc 0000000000ac8684 /data/misc/apexdata/com.android.art/dalvik-cache/arm64/boot.oat (android.os.Handler.dispatchMessage+84)
03-01 13:45:30.244 15300 15300 F DEBUG : #15 pc 0000000000acc738 /data/misc/apexdata/com.android.art/dalvik-cache/arm64/boot.oat (android.os.Looper.loopOnce+1032)
03-01 13:45:30.244 15300 15300 F DEBUG : #16 pc 0000000000acc1fc /data/misc/apexdata/com.android.art/dalvik-cache/arm64/boot.oat (android.os.Looper.loop+1148)
03-01 13:45:30.244 15300 15300 F DEBUG : #17 pc 00000000007d6ce8 /data/misc/apexdata/com.android.art/dalvik-cache/arm64/boot.oat (android.app.ActivityThread.main+1480)
03-01 13:45:30.244 15300 15300 F DEBUG : #18 pc 0000000000434a00 /apex/com.android.art/lib64/libart.so (art_quick_invoke_static_stub+576) (BuildId: 28c5aa8a2e8fc5df069f717d6e94f7fe)
03-01 13:45:30.244 15300 15300 F DEBUG : #19 pc 0000000000467134 /apex/com.android.art/lib64/libart.so (_jobject* art::InvokeMethod<(art::PointerSize)8>(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, _jobject*, _jobject*, unsigned long)+1960) (BuildId: 28c5aa8a2e8fc5df069f717d6e94f7fe)
03-01 13:45:30.244 15300 15300 F DEBUG : #20 pc 0000000000466964 /apex/com.android.art/lib64/libart.so (art::Method_invoke(_JNIEnv*, _jobject*, _jobject*, _jobjectArray*) (.__uniq.165753521025965369065708152063621506277)+48) (BuildId: 28c5aa8a2e8fc5df069f717d6e94f7fe)
03-01 13:45:30.244 15300 15300 F DEBUG : #21 pc 00000000002f0148 /data/misc/apexdata/com.android.art/dalvik-cache/arm64/boot.oat (art_jni_trampoline+120)
03-01 13:45:30.244 15300 15300 F DEBUG : #22 pc 0000000000a33e40 /data/misc/apexdata/com.android.art/dalvik-cache/arm64/boot.oat (com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run+144)
03-01 13:45:30.244 15300 15300 F DEBUG : #23 pc 0000000000a3ece4 /data/misc/apexdata/com.android.art/dalvik-cache/arm64/boot.oat (com.android.internal.os.ZygoteInit.main+3604)
03-01 13:45:30.244 15300 15300 F DEBUG : #24 pc 0000000000434a00 /apex/com.android.art/lib64/libart.so (art_quick_invoke_static_stub+576) (BuildId: 28c5aa8a2e8fc5df069f717d6e94f7fe)
03-01 13:45:30.245 15300 15300 F DEBUG : #25 pc 000000000057df48 /apex/com.android.art/lib64/libart.so (art::JValue art::InvokeWithVarArgs<_jmethodID*>(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, _jmethodID*, std::__va_list)+900) (BuildId: 28c5aa8a2e8fc5df069f717d6e94f7fe)
03-01 13:45:30.245 15300 15300 F DEBUG : #26 pc 00000000005f194c /apex/com.android.art/lib64/libart.so (art::JNI::CallStaticVoidMethodV(_JNIEnv*, _jclass*, _jmethodID*, std::__va_list)+160) (BuildId: 28c5aa8a2e8fc5df069f717d6e94f7fe)
03-01 13:45:30.245 15300 15300 F DEBUG : #27 pc 00000000000bfad0 /system/lib64/libandroid_runtime.so (_JNIEnv::CallStaticVoidMethod(_jclass*, _jmethodID*, ...)+120) (BuildId: 4fa9fce8b61be3295722122caaa050aa)
03-01 13:45:30.245 15300 15300 F DEBUG : #28 pc 00000000000cbdf8 /system/lib64/libandroid_runtime.so (android::AndroidRuntime::start(char const*, android::Vectorandroid::String8 const&, bool)+852) (BuildId: 4fa9fce8b61be3295722122caaa050aa)
03-01 13:45:30.245 15300 15300 F DEBUG : #29 pc 0000000000002568 /system/bin/app_process64 (main+1300) (BuildId: e5c8e451062a069d911fde2ba7f22a1d)
03-01 13:45:30.245 15300 15300 F DEBUG : #30 pc 000000000004a12c /apex/com.android.runtime/lib64/bionic/libc.so (__libc_init+96) (BuildId: a1a208d119557afc28b4e0783483cba1)

Someone also posted this issue to the expo GitHub repo:
expo/expo#18808

I am experiencing the exact same error as that issue's reported. A commenter suggested that the expo-updates library could cause it, but my app doesn't have that installed.

Steps to reproduce

Use this library on a Samsung device.

Snack or a link to a repository

https://snack.expo.dev/qLMkmNsHf

Gesture Handler version

2.9.0

React Native version

0.70.5

Platforms

Android

JavaScript runtime

JSC

Workflow

Expo managed workflow

Architecture

Paper (Old Architecture)

Build type

Release mode

Device

Real device

Device model

Samsung Galaxy A53 (5G)

Acknowledgements

Yes

Metadata

Metadata

Assignees

No one assigned

    Labels

    Platform: AndroidThis issue is specific to AndroidRepro providedA reproduction with a snack or repo is provided

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions