jni::Java_bitter_jnibridge_JNIBridge_00024InterfaceProxy_invoke(_JNIEnv*, _jobject*, long, _jclass*, _jobject*, _jobjectArray*)

pid: 0, tid: 20163 >>> com.DarkMatterGames.SpriteNInja <<<

backtrace:
  #00  pc 0x0000000000fec35c  /data/app/~~wJrlIzETZk3FO0W222n_5w==/com.DarkMatterGames.SpriteNInja-pgqWMuCh_07KY5N8XbahVA==/lib/arm64/libunity.so (jni::Java_bitter_jnibridge_JNIBridge_00024InterfaceProxy_invoke(_JNIEnv*, _jobject*, long, _jclass*, _jobject*, _jobjectArray*)) (BuildId: e68f81526271f395)
  #01  pc 0x000000000037ef70  /apex/com.android.art/lib64/libart.so (art_quick_generic_jni_trampoline+144)
  #02  pc 0x0000000000781c0c  /apex/com.android.art/lib64/libart.so (nterp_helper+1948)
  #03  pc 0x00000000002aaaa4  /data/app/~~wJrlIzETZk3FO0W222n_5w==/com.DarkMatterGames.SpriteNInja-pgqWMuCh_07KY5N8XbahVA==/base.apk (bitter.jnibridge.a.invoke+40)
  #04  pc 0x00000000003f4f84  /data/misc/apexdata/com.android.art/dalvik-cache/arm64/boot.oat (java.lang.reflect.Proxy.invoke+84)
  #05  pc 0x0000000000368a40  /apex/com.android.art/lib64/libart.so (art_quick_invoke_static_stub+640)
  #06  pc 0x000000000035baa4  /apex/com.android.art/lib64/libart.so (art::InvokeProxyInvocationHandler(art::ScopedObjectAccessAlreadyRunnable&, char const*, _jobject*, _jobject*, std::__1::vector<jvalue, std::__1::allocator<jvalue> >&)+632)
  #07  pc 0x00000000003587c8  /apex/com.android.art/lib64/libart.so (artQuickProxyInvokeHandler+960)
  #08  pc 0x000000000037ebac  /apex/com.android.art/lib64/libart.so (art_quick_proxy_invoke_handler+76)
  #09  pc 0x000000000094c884  /data/misc/apexdata/com.android.art/dalvik-cache/arm64/boot.oat (android.os.Handler.dispatchMessage+68)
  #10  pc 0x0000000000950294  /data/misc/apexdata/com.android.art/dalvik-cache/arm64/boot.oat (android.os.Looper.loopOnce+980)
  #11  pc 0x000000000094fe08  /data/misc/apexdata/com.android.art/dalvik-cache/arm64/boot.oat (android.os.Looper.loop+936)
  #12  pc 0x00000000006f0470  /data/misc/apexdata/com.android.art/dalvik-cache/arm64/boot.oat (android.app.ActivityThread.main+3184)
  #13  pc 0x0000000000368a40  /apex/com.android.art/lib64/libart.so (art_quick_invoke_static_stub+640)
  #14  pc 0x00000000003644f4  /apex/com.android.art/lib64/libart.so (_jobject* art::InvokeMethod<(art::PointerSize)8>(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, _jobject*, _jobject*, unsigned long)+732)
  #15  pc 0x00000000006c8668  /apex/com.android.art/lib64/libart.so (art::Method_invoke(_JNIEnv*, _jobject*, _jobject*, _jobjectArray*) (.__uniq.165753521025965369065708152063621506277)+32)
  #16  pc 0x000000000031a284  /data/misc/apexdata/com.android.art/dalvik-cache/arm64/boot.oat (art_jni_trampoline+116)
  #17  pc 0x0000000000b242e4  /data/misc/apexdata/com.android.art/dalvik-cache/arm64/boot.oat (com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run+116)
  #18  pc 0x0000000000b2f048  /data/misc/apexdata/com.android.art/dalvik-cache/arm64/boot.oat (com.android.internal.os.ZygoteInit.main+3352)
  #19  pc 0x0000000000368a40  /apex/com.android.art/lib64/libart.so (art_quick_invoke_static_stub+640)
  #20  pc 0x0000000000353f6c  /apex/com.android.art/lib64/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+204)
  #21  pc 0x0000000000351f20  /apex/com.android.art/lib64/libart.so (art::JValue art::InvokeWithVarArgs<_jmethodID*>(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, _jmethodID*, std::__va_list)+512)
  #22  pc 0x000000000073e8d8  /apex/com.android.art/lib64/libart.so (art::JNI<true>::CallStaticVoidMethodV(_JNIEnv*, _jclass*, _jmethodID*, std::__va_list)+104)
  #23  pc 0x00000000000dbca8  /system/lib64/libandroid_runtime.so (_JNIEnv::CallStaticVoidMethod(_jclass*, _jmethodID*, ...)+104)
  #24  pc 0x00000000000e7e3c  /system/lib64/libandroid_runtime.so (android::AndroidRuntime::start(char const*, android::Vector<android::String8> const&, bool)+876)
  #25  pc 0x000000000000254c  /system/bin/app_process64 (main+1260)
  #26  pc 0x00000000000546e8  /apex/com.android.runtime/lib64/bionic/libc.so (__libc_init+104)

I’ve been getting these logs on my Google Play console, on devices like realme RE5C9F and
samsung m14x

My engine version: 6000.1.4f

Hi, it’s hard to tell what’s going on here without additional context. Could you please report this from within the Editor by navigating to “Help → Report a Bug…” and ensure that your project is attached so we can take a look?

We also started getting this with realme RE5C86L1 and motorola fogo

pid: 0, tid: 4586 >>> com.KickBack.LostEchoAdventure <<<

backtrace:
  #00  pc 0x0000000000d8f2b0  /data/app/~~lhw76xZtVq6n9RM_TFoNSg==/com.KickBack.LostEchoAdventure-LHhvdXLw3T_jNo709yqPPw==/lib/arm64/libunity.so (jni::Java_bitter_jnibridge_JNIBridge_00024InterfaceProxy_invoke(_JNIEnv*, _jobject*, long, _jclass*, _jobject*, _jobjectArray*)) (BuildId: bc04ffecf23155c7)
  #01  pc 0x000000000033f500  /apex/com.android.art/lib64/libart.so (art_quick_generic_jni_trampoline+144)
  #02  pc 0x0000000000689c8c  /apex/com.android.art/lib64/libart.so (nterp_helper+1948)
  #03  pc 0x0000000000176fa0  /data/app/~~lhw76xZtVq6n9RM_TFoNSg==/com.KickBack.LostEchoAdventure-LHhvdXLw3T_jNo709yqPPw==/base.apk (bitter.jnibridge.a.invoke+36)
  #04  pc 0x00000000004b6274  /data/misc/apexdata/com.android.art/dalvik-cache/arm64/boot.oat (java.lang.reflect.Proxy.invoke+84)
  #05  pc 0x0000000000328460  /apex/com.android.art/lib64/libart.so (art_quick_invoke_static_stub+640)
  #06  pc 0x000000000031e6e0  /apex/com.android.art/lib64/libart.so (art::InvokeProxyInvocationHandler(art::ScopedObjectAccessAlreadyRunnable&, char const*, _jobject*, _jobject*, std::__1::vector<jvalue, std::__1::allocator<jvalue>>&)+372)
  #07  pc 0x000000000031f684  /apex/com.android.art/lib64/libart.so (artQuickProxyInvokeHandler+836)
  #08  pc 0x000000000033f11c  /apex/com.android.art/lib64/libart.so (art_quick_proxy_invoke_handler+76)
  #09  pc 0x0000000000b79864  /data/misc/apexdata/com.android.art/dalvik-cache/arm64/boot.oat (android.os.Handler.dispatchMessage+68)
  #10  pc 0x0000000000b806b8  /data/misc/apexdata/com.android.art/dalvik-cache/arm64/boot.oat (android.os.Looper.loopOnce+1224)
  #11  pc 0x0000000000b8014c  /data/misc/apexdata/com.android.art/dalvik-cache/arm64/boot.oat (android.os.Looper.loop+684)
  #12  pc 0x000000000083c95c  /data/misc/apexdata/com.android.art/dalvik-cache/arm64/boot.oat (android.app.ActivityThread.main+2284)
  #13  pc 0x0000000000328460  /apex/com.android.art/lib64/libart.so (art_quick_invoke_static_stub+640)
  #14  pc 0x00000000003224a0  /apex/com.android.art/lib64/libart.so (_jobject* art::InvokeMethod<(art::PointerSize)8>(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, _jobject*, _jobject*, unsigned long)+544)
  #15  pc 0x00000000005c5af8  /apex/com.android.art/lib64/libart.so (art::Method_invoke(_JNIEnv*, _jobject*, _jobject*, _jobjectArray*) (.__uniq.165753521025965369065708152063621506277)+32)
  #16  pc 0x00000000012d3c54  /data/misc/apexdata/com.android.art/dalvik-cache/arm64/boot.oat (art_jni_trampoline+116)
  #17  pc 0x0000000000fcc1d4  /data/misc/apexdata/com.android.art/dalvik-cache/arm64/boot.oat (com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run+116)
  #18  pc 0x0000000000fda778  /data/misc/apexdata/com.android.art/dalvik-cache/arm64/boot.oat (com.android.internal.os.ZygoteInit.main+5256)
  #19  pc 0x0000000000328460  /apex/com.android.art/lib64/libart.so (art_quick_invoke_static_stub+640)
  #20  pc 0x0000000000327098  /apex/com.android.art/lib64/libart.so (art::JValue art::InvokeWithVarArgs<_jmethodID*>(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, _jmethodID*, std::__va_list)+800)
  #21  pc 0x000000000064a850  /apex/com.android.art/lib64/libart.so (art::JNI<true>::CallStaticVoidMethodV(_JNIEnv*, _jclass*, _jmethodID*, std::__va_list)+156)
  #22  pc 0x00000000000dd568  /system/lib64/libandroid_runtime.so (_JNIEnv::CallStaticVoidMethod(_jclass*, _jmethodID*, ...)+104)
  #23  pc 0x00000000000f3e3c  /system/lib64/libandroid_runtime.so (android::AndroidRuntime::start(char const*, android::Vector<android::String8> const&, bool)+1020)
  #24  pc 0x00000000000045cc  /system/bin/app_process64 (main+1260)
  #25  pc 0x000000000008d254  /apex/com.android.runtime/lib64/bionic/libc.so (__libc_init+116)

Same problem on Android build with 6000.0.53f1. Significant number of similar crashes reported in Google Play console. Any idea how to fix? Tx.

We have been fighting this issue for almost three weeks and finally got a workaround: Disable Engine Code Stripping.

It seems very much like the issue mentioned in the latest release notes in the known issues.

Note that adding

<linker>
<assembly fullname="UnityEngine.UnityAnalyticsModule" preserve="all"/>
</linker>

to link.xml did not do anything for us.

Bug report was send and the incident number is IN-112030

Good catch!

Are you in a situation where Unity Analytics are Enabled in Built-in Packages and Disabled in Project packages(Services)?
I’m wondering if it isn’t a more elegant solution to Enable Unity Analytics also in Project(Services) packages. This would probably enforce the presence of the package in the build and still strip the unnecessary packages. Otherwise, no idea why this package can be enabled/disabled in 2 different places.

Thank you very much.

LE: Actually Analytics package can be enabled/disabled in Services. Not In Project packages.

The Analytics package gets dragged into the project because of the Unity Purchasing package.
But I don’t think Analytics is the issue here, otherwise the link.xml fix would have solved that.

My hunch is that it has something to do with Unity 6 and the new ApplicationExitInfo thing.
Reasoning is that

  1. its only on Android,
  2. the stacktrace points to something native at application boot. Its even before C# code gets called
  3. we removed all plugins like AdMob, Firebase etc and the build still crashes

My assumption that the issue is based on Analytics conflicting state (enabled in Built In and disabled in Services) results from the resolution note for issue UUM-95408 assigned to the Known Issue note you discovered in the Release Notes:

Resolution Note (fix version 6000.3.0a4):

Update com.unity.services.cloud-diagnostics to 1.0.11. Fix crash on startup caused by a code stripping issue in UnityAnalyics module when “Strip Engine Code” setting is enabled on Android and the com.unity.services.cloud-diagnostics package is enabled but the analytics package is not.

Well, digging a bit what means “com.unity.services.cloud-diagnostics 1.0.11”, because my Unity version cannot recognize this package version (1.0.10), I found the there is a version 1.0.11 and even a 2.0 for this package. However, there is a also a big warning on top of the Cloud diagnostics doc page:

Attention: Cloud Diagnostics has been deprecated as of August 13, 2025, and is no longer a supported package. We encourage you to migrate to the new diagnostics experience, which provides more enhanced reports and device information, including information on Application Not Responding (ANR) errors for Android.

Indeed, we use IAP package but, we want to avoid using Analytics because we have an app for kids and we want to avoid data collection. It worked until IAP 4.12 but, it seems Analytics is really enforced from 4.13.

Did you noticed a significant build size increase after disabling Strip Engine Code?

Not so much; 2.88MB

Seems reasonable. I guess it depends also on how much you manually trimmed the packages you don’t use.

I guess I’ll make also a build with Strip engine Code disabled and I’ll keep an eye on Unity 6.0.x new releases because the bug is marked as fixed and in review.

Thanks again.

I still don’t think its the same issue as UUM-95408 because the link.xml would have fixed it.
Yes its behavior seems the same and the disable Strip Engine Code fixes it too.

Let’s hope @Oyvind_F can find some time to help us explain and possibly look into my bug report.

Hey, I don’t work with Android myself, but thanks for submitting a report :slight_smile:

I’ve linked the report to this thread. Any further updates will be made on the ticket you submitted. Be sure to check the ticket for updates every once in a while in case our QA engineer needs more info.

getting same crash.
I am using unity analytics package and still getting the crash.
Updating with disabling Strip Engine Code.
Will notify as soon as data collected in new build.

issue is still there but with [disabling Strip Engine Code], overall crashes ratio came down to around 0.2% from 3-4%.
[base.apk] bitter.jnibridge.a.invoke crash ratio also dropped

If it’s still happening, I would say that it doesn’t sound very good. The frequency of this bug varies significantly for us. We had a burst of crashes 1-2 weeks ago and in the last few days is quiet.

It looks like disabling Strip Engine Code doesn’t fix the issue. At least in your situation when you say that anyway, you have Analytics enabled.

Thank you for the update.

@lukas_unity211 How’s your build with Strip Engine Code disabled is doing?

Way better and around where we were before Unity6:

But you are right, disabling Strip Engine Code doesn’t fix it entirely:

Note that we have ~20 games and this is one with the lowest DAU so safer to test with before we roll out the same update to the other 19. Which we haven’t done yet.

Btw the bug report is now “In review” :crossed_fingers:

I’m getting this same crash in one of my products, so I tried disabling code stripping, as even just a reduction in crashes would be welcome until a proper fix is available.

APK size went up by about 3% (7MB), which I can live with; but the non-stripped build now makes unwanted calls to Google Firebase logging, which I can’t.

I’m assuming it’s Unity Purchasing that’s making those calls just because it can now, without Analytics getting stripped.

Hmm… Now I’m not so sure that it wasn’t always making that firebaselogging call, and I just never picked up on it…

Edit: Okay, after more testing, I’m 99% confident that code stripping removes the code needed for firebase logging, so it is NOT called. I just scared myself. :hot_face:

This crash is showing on google play console but firebase crashlytics didn’t picking this crash.
i will share crash reports from both play console and firebase crashlytics.

Unity QA can’t find the issue and is looking for more help.

Can you guys also submit a bug report with the project attached and leave the case number in a comment? Maybe they can spot some similarities between our projects and find the issue that way.