rive-app / rive-app/rive-android
ANR: [split_config.armeabi_v7a.apk] rive::ClippingShape::onAddedClean
Nobody has claimed this yet.
- Dominant language
- Kotlin
- Stars
- 538
- Forks
- 66
- PR merge metrics
- No merged PRs in 30d
Description
Description
We're seeing this error reported by Android Vitals. Stack trace is:
"main" tid=1 Native
#00 pc 0x00000000002034e0 /data/app/~~swlZ9xGle388k1O8MPO78A==/io.blueheart.socialanxiety-h8g37lmUm8wmW4YDBKeFzA==/split_config.arm64_v8a.apk (rive::ClippingShape::onAddedClean+108) (BuildId: 2f494393cfaaee8d79090be125ccb7f8536b17cc)
#01 pc 0x000000000019ca60 /data/app/~~swlZ9xGle388k1O8MPO78A==/io.blueheart.socialanxiety-h8g37lmUm8wmW4YDBKeFzA==/split_config.arm64_v8a.apk (rive::Artboard::initialize+536) (BuildId: 2f494393cfaaee8d79090be125ccb7f8536b17cc)
#02 pc 0x00000000001bc75c /data/app/~~swlZ9xGle388k1O8MPO78A==/io.blueheart.socialanxiety-h8g37lmUm8wmW4YDBKeFzA==/split_config.arm64_v8a.apk (BuildId: 2f494393cfaaee8d79090be125ccb7f8536b17cc)
#03 pc 0x00000000001b8d04 /data/app/~~swlZ9xGle388k1O8MPO78A==/io.blueheart.socialanxiety-h8g37lmUm8wmW4YDBKeFzA==/split_config.arm64_v8a.apk (rive::File::read+3752) (BuildId: 2f494393cfaaee8d79090be125ccb7f8536b17cc)
#04 pc 0x00000000001b794c /data/app/~~swlZ9xGle388k1O8MPO78A==/io.blueheart.socialanxiety-h8g37lmUm8wmW4YDBKeFzA==/split_config.arm64_v8a.apk (rive::File::import+1328) (BuildId: 2f494393cfaaee8d79090be125ccb7f8536b17cc)
#05 pc 0x0000000000181ed4 /data/app/~~swlZ9xGle388k1O8MPO78A==/io.blueheart.socialanxiety-h8g37lmUm8wmW4YDBKeFzA==/split_config.arm64_v8a.apk (rive_android::Import+92) (BuildId: 2f494393cfaaee8d79090be125ccb7f8536b17cc)
#06 pc 0x000000000017a5c4 /data/app/~~swlZ9xGle388k1O8MPO78A==/io.blueheart.socialanxiety-h8g37lmUm8wmW4YDBKeFzA==/split_config.arm64_v8a.apk (Java_app_rive_runtime_kotlin_core_File_import+76) (BuildId: 2f494393cfaaee8d79090be125ccb7f8536b17cc)
at app.rive.runtime.kotlin.core.File.import (Native method)
at app.rive.runtime.kotlin.core.File.<init> (File.kt:34)
at app.rive.runtime.kotlin.RiveAnimationView.loadFileFromResource (RiveAnimationView.kt:435)
at app.rive.runtime.kotlin.RiveAnimationView.setRiveResource (RiveAnimationView.kt:774)
at app.rive.runtime.kotlin.RiveAnimationView.setRiveResource$default (RiveAnimationView.kt:751)
at com.rivereactnative.RiveReactNativeView.reloadIfNeeded (RiveReactNativeView.kt:713)
at com.rivereactnative.RiveReactNativeView.update (RiveReactNativeView.kt:575)
at com.rivereactnative.RiveReactNativeViewManager.onAfterUpdateTransaction (RiveReactNativeViewManager.kt:346)
at com.rivereactnative.RiveReactNativeViewManager.onAfterUpdateTransaction (RiveReactNativeViewManager.kt:11)
at com.facebook.react.uimanager.ViewManager.updateProperties (ViewManager.java:102)
at com.facebook.react.uimanager.ViewManager.createViewInstance (ViewManager.java:218)
at com.facebook.react.uimanager.ViewManager.createView (ViewManager.java:145)
at com.facebook.react.fabric.mounting.SurfaceMountingManager.createViewUnsafe (SurfaceMountingManager.java:674)
at com.facebook.react.fabric.mounting.SurfaceMountingManager.createView (SurfaceMountingManager.java:635)
at com.facebook.react.fabric.mounting.mountitems.IntBufferBatchMountItem.execute (IntBufferBatchMountItem.java:129)
at com.facebook.react.fabric.mounting.MountItemDispatcher.executeOrEnqueue (MountItemDispatcher.java:370)
at com.facebook.react.fabric.mounting.MountItemDispatcher.dispatchMountItems (MountItemDispatcher.java:265)
at com.facebook.react.fabric.mounting.MountItemDispatcher.tryDispatchMountItems (MountItemDispatcher.java:122)
at com.facebook.react.fabric.FabricUIManager$DispatchUIFrameCallback.doFrameGuarded (FabricUIManager.java:1396)
at com.facebook.react.uimanager.GuardedFrameCallback.doFrame (GuardedFrameCallback.kt:25)
at com.facebook.react.modules.core.ReactChoreographer.frameCallback$lambda$1 (ReactChoreographer.kt:59)
at com.facebook.react.modules.core.ReactChoreographer.$r8$lambda$nSkFhrr5T7rop_XKwzlLov4NLLw (unavailable)
at com.facebook.react.modules.core.ReactChoreographer$$ExternalSyntheticLambda0.doFrame (D8$$SyntheticClass)
at android.view.Choreographer$CallbackRecord.run (Choreographer.java:1299)
at android.view.Choreographer$CallbackRecord.run (Choreographer.java:1309)
at android.view.Choreographer.doCallbacks (Choreographer.java:923)
at android.view.Choreographer.doFrame (Choreographer.java:847)
at android.view.Choreographer$FrameDisplayEventReceiver.run (Choreographer.java:1283)
at android.os.Handler.handleCallback (Handler.java:942)
at android.os.Handler.dispatchMessage (Handler.java:99)
at android.os.Looper.loopOnce (Looper.java:226)
at android.os.Looper.loop (Looper.java:313)
at android.app.ActivityThread.main (ActivityThread.java:8757)
at java.lang.reflect.Method.invoke (Native method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:571)
at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1067)
Provide a Repro
I cannot repro myself.
Source .riv/.rev file
Can be provided on request.
Device & Versions (please complete the following information)
- Device: occurs on a very broad range of devices so doesn't seem device specific
- SDK Level: Mostly reported on Android 14 (SDK 34) but also reported on Android 12 (SDK 31), Android 13 (SDK 33) and Android 15 (SDK 35)
Additional context
rive-react-native 9.3.4
expo 53 (new architecture enabled)
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the native stack at rive::ClippingShape::onAddedClean and follow Artboard::initialize through rive::File::import and Import; the Kotlin entry points are File.kt:34 and RiveAnimationView.kt:435. Obtain the source .riv file and reproduce the ANR on the reported Android versions. Done means identifying and fixing the crash, with verification that the animation imports without the ANR.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- android, kotlin, react-native
- Domain
- computer-graphics, mobile
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100