Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Mounting animation causes hard crash on certain android devices (OnePlus 12) #310

Open
kolyaventuri opened this issue Mar 11, 2025 · 0 comments

Comments

@kolyaventuri
Copy link

Description

  • Mounting (seemingly) any Rive animation on OnePlus devices running OxygenOS (Android 15) hard crashes the app
    • Have not to-date observed on any other Android devices
    • Seems to be related to font fallbacks
    • Animation is not required to play in order to cause the crash-- simply mounting the <RiveContainer /> component causes the app to crash

Provide a Repro

  • Mount any rive animation on a OnePlus device (we have seen this on a OnePlus 12)

Source .riv/.rev file

N/A

Expected behavior

  • Animation should mount without app crashing

Screenshots

N/A

Additional context

Stacktrace:

*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
pid: 0, tid: 11773 >>> com.*** <<<

backtrace:
  #00  pc 0x0000000000092518  /apex/com.android.runtime/lib64/bionic/libc.so (abort+172)
  #01  pc 0x0000000000933d5c  /apex/com.android.art/lib64/libart.so (art::Runtime::Abort(char const*)+344)
  #02  pc 0x00000000000160fc  /apex/com.android.art/lib64/libbase.so (android::base::SetAborter(std::__1::function<void (char const*)>&&)::$_0::__invoke(char const*)+80)
  #03  pc 0x00000000000156d0  /apex/com.android.art/lib64/libbase.so (android::base::LogMessage::~LogMessage()+516)
  #04  pc 0x00000000003025d8  /apex/com.android.art/lib64/libart.so (art::Runtime::DetachCurrentThread(bool)+280)
  #05  pc 0x00000000006d0894  /apex/com.android.art/lib64/libart.so (art::JII::DetachCurrentThread(_JavaVM*)+56)
  #06  pc 0x000000000021d0a4  /data/app/~~5ra3kBePF-L9ReuoT2wjhQ==/com.***-dcoVpR1u_QZuXZ1w_pICZQ==/split_config.arm64_v8a.apk!librive-android.so (rive_android::JNIExceptionHandler::check_and_rethrow(_JNIEnv*)+236) (BuildId: b60165676399bd7d7fdd382cdb4d730713490342)
  #07  pc 0x000000000021d18c  /data/app/~~5ra3kBePF-L9ReuoT2wjhQ==/com.***-dcoVpR1u_QZuXZ1w_pICZQ==/split_config.arm64_v8a.apk!librive-android.so (rive_android::JNIExceptionHandler::CallObjectMethod(_JNIEnv*, _jobject*, _jmethodID*, ...)+120) (BuildId: b60165676399bd7d7fdd382cdb4d730713490342)
  #08  pc 0x000000000021be50  /data/app/~~5ra3kBePF-L9ReuoT2wjhQ==/com.***-dcoVpR1u_QZuXZ1w_pICZQ==/split_config.arm64_v8a.apk!librive-android.so (rive_android::FontHelper::getSystemFontBytes()+200) (BuildId: b60165676399bd7d7fdd382cdb4d730713490342)
  #09  pc 0x000000000021bf90  /data/app/~~5ra3kBePF-L9ReuoT2wjhQ==/com.***-dcoVpR1u_QZuXZ1w_pICZQ==/split_config.arm64_v8a.apk!librive-android.so (rive_android::FontHelper::findFontFallback(rive::Span<unsigned int const>)+124) (BuildId: b60165676399bd7d7fdd382cdb4d730713490342)
  #10  pc 0x00000000002bc300  /data/app/~~5ra3kBePF-L9ReuoT2wjhQ==/com.***-dcoVpR1u_QZuXZ1w_pICZQ==/split_config.arm64_v8a.apk!librive-android.so (HBFont::onShapeText(rive::Span<unsigned int const>, rive::Span<rive::TextRun const>, int) const+1804) (BuildId: b60165676399bd7d7fdd382cdb4d730713490342)
  #11  pc 0x00000000002e6a9c  /data/app/~~5ra3kBePF-L9ReuoT2wjhQ==/com.***-dcoVpR1u_QZuXZ1w_pICZQ==/split_config.arm64_v8a.apk!librive-android.so (rive::Font::shapeText(rive::Span<unsigned int const>, rive::Span<rive::TextRun const>, int) const+56) (BuildId: b60165676399bd7d7fdd382cdb4d730713490342)
  #12  pc 0x00000000002fd440  /data/app/~~5ra3kBePF-L9ReuoT2wjhQ==/com.***-dcoVpR1u_QZuXZ1w_pICZQ==/split_config.arm64_v8a.apk!librive-android.so (rive::Text::update(rive::ComponentDirt)+1396) (BuildId: b60165676399bd7d7fdd382cdb4d730713490342)
  #13  pc 0x000000000022abb0  /data/app/~~5ra3kBePF-L9ReuoT2wjhQ==/com.***-dcoVpR1u_QZuXZ1w_pICZQ==/split_config.arm64_v8a.apk!librive-android.so (rive::Artboard::updatePass(bool)+336) (BuildId: b60165676399bd7d7fdd382cdb4d730713490342)
  #14  pc 0x000000000022afb0  /data/app/~~5ra3kBePF-L9ReuoT2wjhQ==/com.***-dcoVpR1u_QZuXZ1w_pICZQ==/split_config.arm64_v8a.apk!librive-android.so (rive::Artboard::advance(float, rive::AdvanceFlags)+196) (BuildId: b60165676399bd7d7fdd382cdb4d730713490342)
  #15  pc 0x0000000000215f54  /data/app/~~5ra3kBePF-L9ReuoT2wjhQ==/com.***-dcoVpR1u_QZuXZ1w_pICZQ==/split_config.arm64_v8a.apk!librive-android.so (Java_app_rive_runtime_kotlin_core_File_cppArtboardByIndex+44) (BuildId: b60165676399bd7d7fdd382cdb4d730713490342)
  #16  pc 0x000000000038e3c0  /data/misc/apexdata/com.android.art/dalvik-cache/arm64/boot.oat (art_jni_trampoline+112)
  #17  pc 0x0000000000781680  /apex/com.android.art/lib64/libart.so (nterp_helper+5648)
  #18  pc 0x00000000002214f0  /data/app/~~5ra3kBePF-L9ReuoT2wjhQ==/com.***-dcoVpR1u_QZuXZ1w_pICZQ==/base.apk (app.rive.runtime.kotlin.core.File.artboard+8)
  #19  pc 0x0000000000780fc4  /apex/com.android.art/lib64/libart.so (nterp_helper+3924)
  #20  pc 0x000000000022167a  /data/app/~~5ra3kBePF-L9ReuoT2wjhQ==/com.***-dcoVpR1u_QZuXZ1w_pICZQ==/base.apk (app.rive.runtime.kotlin.core.File.getFirstArtboard+2)
  #21  pc 0x0000000000780fc4  /apex/com.android.art/lib64/libart.so (nterp_helper+3924)
  #22  pc 0x000000000021f438  /data/app/~~5ra3kBePF-L9ReuoT2wjhQ==/com.***-dcoVpR1u_QZuXZ1w_pICZQ==/base.apk (app.rive.runtime.kotlin.controllers.RiveFileController.setupScene$kotlin_release+116)
  #23  pc 0x0000000000780fc4  /apex/com.android.art/lib64/libart.so (nterp_helper+3924)
  #24  pc 0x000000000021aa10  /data/app/~~5ra3kBePF-L9ReuoT2wjhQ==/com.***-dcoVpR1u_QZuXZ1w_pICZQ==/base.apk (app.rive.runtime.kotlin.RiveAnimationView$setRiveResource$2.invoke+52)
  #25  pc 0x0000000000780fc4  /apex/com.android.art/lib64/libart.so (nterp_helper+3924)
  #26  pc 0x000000000021a9a0  /data/app/~~5ra3kBePF-L9ReuoT2wjhQ==/com.***-dcoVpR1u_QZuXZ1w_pICZQ==/base.apk (app.rive.runtime.kotlin.RiveAnimationView$setRiveResource$2.invoke+4)
  #27  pc 0x0000000000781de4  /apex/com.android.art/lib64/libart.so (nterp_helper+7540)
  #28  pc 0x000000000021b518  /data/app/~~5ra3kBePF-L9ReuoT2wjhQ==/com.***-dcoVpR1u_QZuXZ1w_pICZQ==/base.apk (app.rive.runtime.kotlin.RiveAnimationView.loadFileFromResource+252)
  #29  pc 0x0000000000780fc4  /apex/com.android.art/lib64/libart.so (nterp_helper+3924)
  #30  pc 0x000000000021c400  /data/app/~~5ra3kBePF-L9ReuoT2wjhQ==/com.***-dcoVpR1u_QZuXZ1w_pICZQ==/base.apk (app.rive.runtime.kotlin.RiveAnimationView.setRiveResource+116)
  #31  pc 0x00000000007816c8  /apex/com.android.art/lib64/libart.so (nterp_helper+5720)
  #32  pc 0x000000000021c364  /data/app/~~5ra3kBePF-L9ReuoT2wjhQ==/com.***-dcoVpR1u_QZuXZ1w_pICZQ==/base.apk (app.rive.runtime.kotlin.RiveAnimationView.setRiveResource$default+192)
  #33  pc 0x0000000000780854  /apex/com.android.art/lib64/libart.so (nterp_helper+2020)
  #34  pc 0x000000000030a69e  /data/app/~~5ra3kBePF-L9ReuoT2wjhQ==/com.***-dcoVpR1u_QZuXZ1w_pICZQ==/base.apk (com.rivereactnative.RiveReactNativeView.reloadIfNeeded+122)
  #35  pc 0x0000000000780fc4  /apex/com.android.art/lib64/libart.so (nterp_helper+3924)
  #36  pc 0x000000000030aeb8  /data/app/~~5ra3kBePF-L9ReuoT2wjhQ==/com.***-dcoVpR1u_QZuXZ1w_pICZQ==/base.apk (com.rivereactnative.RiveReactNativeView.update)
  #37  pc 0x0000000000780fc4  /apex/com.android.art/lib64/libart.so (nterp_helper+3924)
  #38  pc 0x00000000003096fe  /data/app/~~5ra3kBePF-L9ReuoT2wjhQ==/com.***-dcoVpR1u_QZuXZ1w_pICZQ==/base.apk (com.rivereactnative.RiveReactNativeViewManager.onAfterUpdateTransaction+22)
  #39  pc 0x0000000000780fc4  /apex/com.android.art/lib64/libart.so (nterp_helper+3924)
  #40  pc 0x00000000003096d0  /data/app/~~5ra3kBePF-L9ReuoT2wjhQ==/com.***-dcoVpR1u_QZuXZ1w_pICZQ==/base.apk (com.rivereactnative.RiveReactNativeViewManager.onAfterUpdateTransaction+4)
  #41  pc 0x0000000000036080  [anon_shmem:dalvik-jit-code-cache] (com.facebook.react.uimanager.ViewManager.updateProperties+224)
  #42  pc 0x000000000004ec08  [anon_shmem:dalvik-jit-code-cache] (com.facebook.react.uimanager.ViewManager.createViewInstance+600)
  #43  pc 0x0000000000055730  [anon_shmem:dalvik-jit-code-cache] (com.facebook.react.uimanager.ViewManager.createView+112)
  #44  pc 0x00000000000207f4  [anon_shmem:dalvik-jit-code-cache] (com.facebook.react.uimanager.NativeViewHierarchyManager.createView+372)
  #45  pc 0x0000000000047154  [anon_shmem:dalvik-jit-code-cache] (com.facebook.react.uimanager.UIViewOperationQueue$CreateViewOperation.execute+164)
  #46  pc 0x000000000001fb18  [anon_shmem:dalvik-jit-code-cache] (com.facebook.react.uimanager.UIViewOperationQueue$DispatchUIFrameCallback.dispatchPendingNonBatchedOperations+440)
  #47  pc 0x0000000000031c2c  [anon_shmem:dalvik-jit-code-cache] (com.facebook.react.uimanager.UIViewOperationQueue$DispatchUIFrameCallback.doFrameGuarded+140)
  #48  pc 0x0000000000069c24  [anon_shmem:dalvik-jit-code-cache] (com.facebook.react.uimanager.GuardedFrameCallback.doFrame+100)
  #49  pc 0x000000000014efec  [anon_shmem:dalvik-jit-code-cache] (com.facebook.react.modules.core.ReactChoreographer$ReactChoreographerDispatcher.doFrame+364)
  #50  pc 0x000000000005f2f4  [anon_shmem:dalvik-jit-code-cache] (com.facebook.react.modules.core.ChoreographerCompat$FrameCallback$1.doFrame+100)
  #51  pc 0x0000000000b8888c  /data/misc/apexdata/com.android.art/dalvik-cache/arm64/boot.oat (android.view.Choreographer.doCallbacks+1324)
  #52  pc 0x0000000000b8984c  /data/misc/apexdata/com.android.art/dalvik-cache/arm64/boot.oat (android.view.Choreographer.doFrame+3180)
  #53  pc 0x0000000000c2364c  /data/misc/apexdata/com.android.art/dalvik-cache/arm64/boot.oat (android.view.Choreographer$FrameDisplayEventReceiver.run+76)
  #54  pc 0x0000000000a2f704  /data/misc/apexdata/com.android.art/dalvik-cache/arm64/boot.oat (android.os.Handler.dispatchMessage+68)
  #55  pc 0x0000000000a36008  /data/misc/apexdata/com.android.art/dalvik-cache/arm64/boot.oat (android.os.Looper.loopOnce+1224)
  #56  pc 0x0000000000a35a9c  /data/misc/apexdata/com.android.art/dalvik-cache/arm64/boot.oat (android.os.Looper.loop+684)
  #57  pc 0x00000000007afb40  /data/misc/apexdata/com.android.art/dalvik-cache/arm64/boot.oat (android.app.ActivityThread.main+2288)
  #58  pc 0x0000000000368a40  /apex/com.android.art/lib64/libart.so (art_quick_invoke_static_stub+640)
  #59  pc 0x00000000003644d4  /apex/com.android.art/lib64/libart.so (_jobject* art::InvokeMethod<(art::PointerSize)8>(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, _jobject*, _jobject*, unsigned long)+732)
  #60  pc 0x00000000006c9298  /apex/com.android.art/lib64/libart.so (art::Method_invoke(_JNIEnv*, _jobject*, _jobject*, _jobjectArray*) (.__uniq.165753521025965369065708152063621506277)+32)
  #61  pc 0x0000000000394274  /data/misc/apexdata/com.android.art/dalvik-cache/arm64/boot.oat (art_jni_trampoline+116)
  #62  pc 0x0000000000d9e754  /data/misc/apexdata/com.android.art/dalvik-cache/arm64/boot.oat (com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run+116)
  #63  pc 0x0000000000dab8d8  /data/misc/apexdata/com.android.art/dalvik-cache/arm64/boot.oat (com.android.internal.os.ZygoteInit.main+5256)
  #64  pc 0x0000000000368a40  /apex/com.android.art/lib64/libart.so (art_quick_invoke_static_stub+640)
  #65  pc 0x0000000000353f4c  /apex/com.android.art/lib64/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+204)
  #66  pc 0x0000000000351f00  /apex/com.android.art/lib64/libart.so (art::JValue art::InvokeWithVarArgs<_jmethodID*>(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, _jmethodID*, std::__va_list)+512)
  #67  pc 0x000000000073da58  /apex/com.android.art/lib64/libart.so (art::JNI<true>::CallStaticVoidMethodV(_JNIEnv*, _jclass*, _jmethodID*, std::__va_list)+104)
  #68  pc 0x00000000000e142c  /system/lib64/libandroid_runtime.so (_JNIEnv::CallStaticVoidMethod(_jclass*, _jmethodID*, ...)+108)
  #69  pc 0x00000000000f7968  /system/lib64/libandroid_runtime.so (android::AndroidRuntime::start(char const*, android::Vector<android::String8> const&, bool)+1008)
  #70  pc 0x00000000000046fc  /system/bin/app_process64 (main+1596)
  #71  pc 0x000000000008bea4  /apex/com.android.runtime/lib64/bionic/libc.so (__libc_init+120)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant