rive-app / rive-android

A runtime for interactive animations on Android
https://rive.app
MIT License
332 stars 30 forks source link

Crash on some devices while initialising Rive #283

Open kancic opened 1 year ago

kancic commented 1 year ago

Description

I keep seeing this crash in Firebase on some devices, and I cannot reproduce it. It happens while initialising Rive in the Application's onCreate:

Fatal Exception: java.lang.UnsatisfiedLinkError: dlopen failed: library "libndk_translation_proxy_libGLESv3.so" not found
       at java.lang.Runtime.load(Runtime.java:332)
       at java.lang.System.load(System.java:1069)
       at com.getkeepsafe.relinker.SystemLibraryLoader.loadPath(SystemLibraryLoader.java:31)
       at com.getkeepsafe.relinker.ReLinkerInstance.loadLibraryInternal(ReLinkerInstance.java:204)
       at com.getkeepsafe.relinker.ReLinkerInstance.loadLibrary(ReLinkerInstance.java:136)
       at com.getkeepsafe.relinker.ReLinker.loadLibrary(ReLinker.java:70)
       at com.getkeepsafe.relinker.ReLinker.loadLibrary(ReLinker.java:51)
       at app.rive.runtime.kotlin.core.Rive.init(Rive.kt:30)

Device & Versions

PhilippNowak96 commented 1 year ago

We are also seeing this on a Nexus 5X in Crashlytics

chip2n commented 1 year ago

We are also seeing this, Nexus 5X and Rive 4.0.0

umberto-sonnino commented 1 year ago

This might be related to our library using GLES3. Do you know if the devices you're seeing this on are restricted to GLES2?

kancic commented 1 year ago

They should support GLES3

kancic commented 1 year ago

And I have this in my manifest

<uses-feature
        android:glEsVersion="0x00030000"
        android:required="true" />
PhilippNowak96 commented 1 year ago

Looks like it's mainly happening on devices Google uses for testing when you upload your app to the Playstore. We just uploaded a new release with partial rollout and the crash timestamp does not match to a real user already having the app, although we don't see anything in the prelaunch reports or something like that.

umberto-sonnino commented 1 year ago

Looks like it's mainly happening on devices Google uses for testing when you upload your app to the Playstore. We just uploaded a new release with partial rollout and the crash timestamp does not match to a real user already having the app, although we don't see anything in the prelaunch reports or something like that.

Oh, interesting. I'm curious if other folks in the thread have seen a similar pattern or if they have reports from actual devices.