twilio / video-quickstart-android

Twilio Video Quickstart for Android
MIT License
212 stars 159 forks source link

Crash while loading native library #581

Closed guness closed 3 years ago

guness commented 3 years ago

Crash report regarding to native library loading

It happens only one device for now, but since device is relatively new, it has potential to grow.

Steps to Reproduce

I haven't been able to reproduce in my hand, just reporting what we received on crash reports.

Reproduces how Often

We can say rarely.

Logs


Caused by l.a.a.b
libtwilio_video_android_so.so

com.getkeepsafe.relinker.ApkLibraryInstaller.installLibrary (ApkLibraryInstaller.java:128)
com.getkeepsafe.relinker.ReLinkerInstance.loadLibraryInternal (ReLinkerInstance.java:180)
com.getkeepsafe.relinker.ReLinkerInstance.loadLibrary (ReLinkerInstance.java:136)
com.getkeepsafe.relinker.ReLinker.loadLibrary (ReLinker.java:70)
com.getkeepsafe.relinker.ReLinker.loadLibrary (ReLinker.java:51)
com.twilio.video.MediaFactory.instance (MediaFactory.java:44)
com.twilio.video.LocalAudioTrack.create (LocalAudioTrack.java:99)
com.twilio.video.LocalAudioTrack.create (LocalAudioTrack.java:43)

Versions

Video Android SDK

5.8.0

Android API

Android 10

Android Device

Huawei ELS-NX9

aaalaniz commented 3 years ago

Hey @guness

I have a couple of follow-up questions.

  1. Can you provide a symbolicated stack trace?
  2. Are you using apk splits or app bundles?

Thanks!

guness commented 3 years ago

@aaalaniz

com.getkeepsafe.relinker.MissingLibraryException -> l.a.a.b:
    1:1:void <init>(java.lang.String):20:20 -> <init>

We have app bundles.

Also unfortunately this device is not in the list of devices on Play Store.

aaalaniz commented 3 years ago

Hey @guness

I have a couple of follow up questions.

  1. Do you know the device's ABI? If the ABI is not one of our supported ABIs (arm64-v8a, armeabi-v7a, x86, or x86_64) then this issue could occur.
  2. Does your application follow our proguard guidance? This could also be an instance where proguard is obfuscating the name of the native library which would result in this MissingLibraryException.

Thanks!

guness commented 3 years ago

@aaalaniz from device specs, this has HiSilicon Kirin 990 5G. On wiki it says

64-bit high-performance mobile ARM

  1. I believe we follow, as this happening only one device. Also posting our config related:

# Twilio specific rules # -keep class tvi.webrtc.** { *; } -dontwarn tvi.webrtc.** -keep class com.twilio.video.** { *; } -keep class com.twilio.common.** { *; } -keepattributes InnerClasses

All I can say, this is happening on only a few users and but happening always.