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

[Bug] Many crashes in production [libFirebaseCppApp-11_6_0.so] firebase::Mutex::Acquire() #919

Open
ab-rdarts opened this issue Jan 3, 2024 · 12 comments
Labels
api: core needs-info Need information for the developer stale Don't have recent activity type: question

Comments

@ab-rdarts
Copy link

[REQUIRED] Please fill in the following fields:

  • Unity editor version: 2021.3.29f1
  • Firebase Unity SDK version: 11.6.0
  • Source you installed the SDK: .unitypackage (.unitypackage or Unity Package Manager)
  • Problematic Firebase Component: Core (Auth, Database, etc.)
  • Other Firebase Components in use: Analytics, Crashlytics, Messaging (Auth, Database, etc.)
  • Additional SDKs you are using: Applovin (Facebook, AdMob, etc.)
  • Platform you are using the Unity editor on: Mac (Mac, Windows, or Linux)
  • Platform you are targeting: Android (iOS, Android, and/or desktop)
  • Scripting Runtime: IL2CPP (Mono, and/or IL2CPP)
  • Pre-built SDK from the website or open-source from this repo: website

[REQUIRED] Please describe the issue here:

Production has many crash reports

Steps to reproduce:

Have you been able to reproduce this issue with just the Firebase Unity quickstarts (this GitHub project)?
Not reproduced. Only crash reports on production track. About 4% of all events

What happened? How can we make the problem occur?

[libFirebaseCppApp-11_6_0.so] firebase::Mutex::Acquire()

*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
backtrace:
  #00  pc 0x00000000000b3c94  /apex/com.android.runtime/lib64/bionic/libc.so (pthread_mutex_lock+8)
  #01  pc 0x00000000001a4168  /data/app/~~e91FaJSA3bTRRO8LSZKbmw==/com.hey.color.number.coloring.paint-sE7dz-EnXIkr3vBteON5ng==/lib/arm64/libFirebaseCppApp-11_6_0.so (firebase::Mutex::Acquire()+8)
  #02  pc 0x000000000024ed40  /data/app/~~e91FaJSA3bTRRO8LSZKbmw==/com.hey.color.number.coloring.paint-sE7dz-EnXIkr3vBteON5ng==/lib/arm64/libFirebaseCppApp-11_6_0.so (void firebase::ReferenceCountedFutureImpl::CompleteInternal<std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> >, void firebase::ReferenceCountedFutureImpl::CompleteWithResultInternal<std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> > >(firebase::FutureHandle const&, int, char const*, std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> > const&)::'lambda'(std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> >*)>(firebase::FutureHandle const&, int, char const*, void firebase::ReferenceCountedFutureImpl::CompleteWithResultInternal<std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> > >(firebase::FutureHandle const&, int, char const*, std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> > const&)::'lambda'(std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> >*) const&)+52)
  #03  pc 0x00000000002d6124  /data/app/~~e91FaJSA3bTRRO8LSZKbmw==/com.hey.color.number.coloring.paint-sE7dz-EnXIkr3vBteON5ng==/lib/arm64/libFirebaseCppApp-11_6_0.so (firebase::messaging::CompleteStringCallback(_JNIEnv*, _jobject*, firebase::util::FutureResult, char const*, void*)+352)
  #04  pc 0x0000000000199668  /data/app/~~e91FaJSA3bTRRO8LSZKbmw==/com.hey.color.number.coloring.paint-sE7dz-EnXIkr3vBteON5ng==/lib/arm64/libFirebaseCppApp-11_6_0.so (firebase::util::JniResultCallback_nativeOnResult(_JNIEnv*, _jobject*, _jobject*, unsigned char, unsigned char, _jstring*, long, long)+232)
  #05  pc 0x000000000034aa30  /apex/com.android.art/lib64/libart.so (art_quick_generic_jni_trampoline+144)
  #06  pc 0x00000000005bdb2c  /apex/com.android.art/lib64/libart.so (nterp_helper+7468)
  #07  pc 0x0000000000000c28  /data/data/com.hey.color.number.coloring.paint/cache/oat/arm64/app_resources_lib.vdex (com.google.firebase.app.internal.cpp.JniResultCallback.onCompletion+32)
  #08  pc 0x00000000005bcd54  /apex/com.android.art/lib64/libart.so (nterp_helper+3924)
  #09  pc 0x0000000000000b04  /data/data/com.hey.color.number.coloring.paint/cache/oat/arm64/app_resources_lib.vdex (com.google.firebase.app.internal.cpp.JniResultCallback$TaskCallback.onSuccess+32)
  #10  pc 0x00000000005a3b0c  /data/app/~~e91FaJSA3bTRRO8LSZKbmw==/com.hey.color.number.coloring.paint-sE7dz-EnXIkr3vBteON5ng==/oat/arm64/base.odex (com.google.android.gms.tasks.zzm.run+204)
@paulinon paulinon removed the new New issue. label Jan 3, 2024
@paulinon
Copy link
Contributor

paulinon commented Jan 3, 2024

Hi @ab-rdarts,

Does disposing your Firebase instance when quitting the app make any difference?

void OnApplicationQuit(){
    Firebase.FirebaseApp.DefaultInstance.Dispose();    
}

If it doesn't, could you provide a minimal, reproducible example of your implementation so we can identify what's causing the issue?

@paulinon paulinon added the needs-info Need information for the developer label Jan 3, 2024
@ab-rdarts
Copy link
Author

No we have no such code, is it necessary for android? We will try to add it in the next version, though as I understand OnApplicationQuit will not be called for mobile applications.
Also we have no minimal reproducible example as we see them only in play console production track. Also we have no such crashes with previous version of firebase (10.0.1) but after upgrading to 11.6.0 we see many of them.

@google-oss-bot google-oss-bot added needs-attention Need Googler's attention and removed needs-info Need information for the developer labels Jan 3, 2024
@paulinon paulinon added needs-info Need information for the developer and removed needs-attention Need Googler's attention labels Jan 4, 2024
@ab-rdarts
Copy link
Author

@paulinon new app version with OnApplicationQuit still has the same crashes

[libFirebaseCppApp-11_6_0.so] firebase::Mutex::Acquire()
backtrace:
  #00  pc 0x00000000000bf79c  /apex/com.android.runtime/lib64/bionic/libc.so (pthread_mutex_lock+12)
  #01  pc 0x00000000001a4168  /data/app/~~WEcmsZM0VSP5RBDAE2AevA==/com.hey.color.number.coloring.paint-oAF9PTNA-XxJoZ5hyJtoTQ==/lib/arm64/libFirebaseCppApp-11_6_0.so (firebase::Mutex::Acquire()+8)
  #02  pc 0x000000000024ed40  /data/app/~~WEcmsZM0VSP5RBDAE2AevA==/com.hey.color.number.coloring.paint-oAF9PTNA-XxJoZ5hyJtoTQ==/lib/arm64/libFirebaseCppApp-11_6_0.so (void firebase::ReferenceCountedFutureImpl::CompleteInternal<std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> >, void firebase::ReferenceCountedFutureImpl::CompleteWithResultInternal<std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> > >(firebase::FutureHandle const&, int, char const*, std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> > const&)::'lambda'(std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> >*)>(firebase::FutureHandle const&, int, char const*, void firebase::ReferenceCountedFutureImpl::CompleteWithResultInternal<std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> > >(firebase::FutureHandle const&, int, char const*, std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> > const&)::'lambda'(std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> >*) const&)+52)
  #03  pc 0x00000000002d6124  /data/app/~~WEcmsZM0VSP5RBDAE2AevA==/com.hey.color.number.coloring.paint-oAF9PTNA-XxJoZ5hyJtoTQ==/lib/arm64/libFirebaseCppApp-11_6_0.so (firebase::messaging::CompleteStringCallback(_JNIEnv*, _jobject*, firebase::util::FutureResult, char const*, void*)+352)
  #04  pc 0x0000000000199668  /data/app/~~WEcmsZM0VSP5RBDAE2AevA==/com.hey.color.number.coloring.paint-oAF9PTNA-XxJoZ5hyJtoTQ==/lib/arm64/libFirebaseCppApp-11_6_0.so (firebase::util::JniResultCallback_nativeOnResult(_JNIEnv*, _jobject*, _jobject*, unsigned char, unsigned char, _jstring*, long, long)+232)
  #05  pc 0x000000000034aa30  /apex/com.android.art/lib64/libart.so (art_quick_generic_jni_trampoline+144)
  #06  pc 0x00000000005bdb2c  /apex/com.android.art/lib64/libart.so (nterp_helper+7468)
  #07  pc 0x0000000000000c28  /data/data/com.hey.color.number.coloring.paint/cache/oat/arm64/app_resources_lib.vdex (com.google.firebase.app.internal.cpp.JniResultCallback.onCompletion+32)
  #08  pc 0x00000000005bcd54  /apex/com.android.art/lib64/libart.so (nterp_helper+3924)
  #09  pc 0x0000000000000b04  /data/data/com.hey.color.number.coloring.paint/cache/oat/arm64/app_resources_lib.vdex (com.google.firebase.app.internal.cpp.JniResultCallback$TaskCallback.onSuccess+32)
  #10  pc 0x00000000002537ec  /data/app/~~WEcmsZM0VSP5RBDAE2AevA==/com.hey.color.number.coloring.paint-oAF9PTNA-XxJoZ5hyJtoTQ==/oat/arm64/base.odex (com.google.android.gms.tasks.zzm.run+204)
  #11  pc 0x0000000000a1708c  /data/misc/apexdata/com.android.art/dalvik-cache/arm64/boot.oat (android.os.Handler.dispatchMessage+76)
  #12  pc 0x0000000000a1aeec  /data/misc/apexdata/com.android.art/dalvik-cache/arm64/boot.oat (android.os.Looper.loopOnce+1036)
  #13  pc 0x0000000000a1aa38  /data/misc/apexdata/com.android.art/dalvik-cache/arm64/boot.oat (android.os.Looper.loop+1112)
  #14  pc 0x00000000007803d0  /data/misc/apexdata/com.android.art/dalvik-cache/arm64/boot.oat (android.app.ActivityThread.main+2432)
  #15  pc 0x0000000000334280  /apex/com.android.art/lib64/libart.so (art_quick_invoke_static_stub+640)
  #16  pc 0x00000000003883c0  /apex/com.android.art/lib64/libart.so (_jobject* art::InvokeMethod<(art::PointerSize)8>(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, _jobject*, _jobject*, unsigned long)+1588)
  #17  pc 0x0000000000387d7c  /apex/com.android.art/lib64/libart.so (art::Method_invoke(_JNIEnv*, _jobject*, _jobject*, _jobjectArray*) (.__uniq.165753521025965369065708152063621506277)+32)
  #18  pc 0x00000000003446a8  /data/misc/apexdata/com.android.art/dalvik-cache/arm64/boot.oat (art_jni_trampoline+120)
  #19  pc 0x0000000000d83854  /data/misc/apexdata/com.android.art/dalvik-cache/arm64/boot.oat (com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run+132)
  #20  pc 0x0000000000d8f030  /data/misc/apexdata/com.android.art/dalvik-cache/arm64/boot.oat (com.android.internal.os.ZygoteInit.main+3568)
  #21  pc 0x0000000000334280  /apex/com.android.art/lib64/libart.so (art_quick_invoke_static_stub+640)
  #22  pc 0x00000000004e4298  /apex/com.android.art/lib64/libart.so (art::JValue art::InvokeWithVarArgs<_jmethodID*>(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, _jmethodID*, std::__va_list)+728)
  #23  pc 0x00000000005804e4  /apex/com.android.art/lib64/libart.so (art::JNI<true>::CallStaticVoidMethodV(_JNIEnv*, _jclass*, _jmethodID*, std::__va_list)+156)
  #24  pc 0x00000000000deab4  /system/lib64/libandroid_runtime.so (_JNIEnv::CallStaticVoidMethod(_jclass*, _jmethodID*, ...)+104)
  #25  pc 0x00000000000eaf58  /system/lib64/libandroid_runtime.so (android::AndroidRuntime::start(char const*, android::Vector<android::String8> const&, bool)+852)
  #26  pc 0x0000000000002550  /system/bin/app_process64 (main+1276)
  #27  pc 0x00000000000526d8  /apex/com.android.runtime/lib64/bionic/libc.so (__libc_init+104)

@google-oss-bot google-oss-bot added needs-attention Need Googler's attention and removed needs-info Need information for the developer labels Jan 8, 2024
@wojciech-juszczynski
Copy link

wojciech-juszczynski commented Jan 13, 2024

We see the same issue in our application, no repro, stack trace from the Google Play Console

pid: 0, tid: 18235 >>> com.dna.solitaireapp <<<

backtrace:
  #00  pc 0x00000000000bb578  /apex/com.android.runtime/lib64/bionic/libc.so (pthread_mutex_lock+16)
  #01  pc 0x00000000001a4168  /data/app/~~g-rD5gRtnajEOCU8yyMBVg==/com.dna.solitaireapp-BrO0JLQmgnltstRzPyYScg==/lib/arm64/libFirebaseCppApp-11_6_0.so (firebase::Mutex::Acquire()+8)
  #02  pc 0x000000000024ed40  /data/app/~~g-rD5gRtnajEOCU8yyMBVg==/com.dna.solitaireapp-BrO0JLQmgnltstRzPyYScg==/lib/arm64/libFirebaseCppApp-11_6_0.so (void firebase::ReferenceCountedFutureImpl::CompleteInternal<std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> >, void firebase::ReferenceCountedFutureImpl::CompleteWithResultInternal<std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> > >(firebase::FutureHandle const&, int, char const*, std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> > const&)::'lambda'(std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> >*)>(firebase::FutureHandle const&, int, char const*, void firebase::ReferenceCountedFutureImpl::CompleteWithResultInternal<std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> > >(firebase::FutureHandle const&, int, char const*, std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> > const&)::'lambda'(std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> >*) const&)+52)
  #03  pc 0x00000000002d6124  /data/app/~~g-rD5gRtnajEOCU8yyMBVg==/com.dna.solitaireapp-BrO0JLQmgnltstRzPyYScg==/lib/arm64/libFirebaseCppApp-11_6_0.so (firebase::messaging::CompleteStringCallback(_JNIEnv*, _jobject*, firebase::util::FutureResult, char const*, void*)+352)
  #04  pc 0x0000000000199668  /data/app/~~g-rD5gRtnajEOCU8yyMBVg==/com.dna.solitaireapp-BrO0JLQmgnltstRzPyYScg==/lib/arm64/libFirebaseCppApp-11_6_0.so (firebase::util::JniResultCallback_nativeOnResult(_JNIEnv*, _jobject*, _jobject*, unsigned char, unsigned char, _jstring*, long, long)+232)
  #05  pc 0x000000000034dc30  /apex/com.android.art/lib64/libart.so (art_quick_generic_jni_trampoline+144)
  #06  pc 0x00000000005d12ac  /apex/com.android.art/lib64/libart.so (nterp_helper+7468)
  #07  pc 0x0000000000000db0  /data/data/com.dna.solitaireapp/cache/oat/arm64/app_resources_lib.vdex (com.google.firebase.app.internal.cpp.JniResultCallback.onCompletion+32)
  #08  pc 0x00000000005d04d4  /apex/com.android.art/lib64/libart.so (nterp_helper+3924)
  #09  pc 0x0000000000000c24  /data/data/com.dna.solitaireapp/cache/oat/arm64/app_resources_lib.vdex (com.google.firebase.app.internal.cpp.JniResultCallback$TaskCallback.onSuccess+32)
  #10  pc 0x000000000063e1ac  /data/app/~~g-rD5gRtnajEOCU8yyMBVg==/com.dna.solitaireapp-BrO0JLQmgnltstRzPyYScg==/oat/arm64/base.odex (com.google.android.gms.tasks.zzm.run+204)
  #11  pc 0x0000000000a3036c  /data/misc/apexdata/com.android.art/dalvik-cache/arm64/boot.oat (android.os.Handler.dispatchMessage+76)
  #12  pc 0x0000000000a33c68  /data/misc/apexdata/com.android.art/dalvik-cache/arm64/boot.oat (android.os.Looper.loopOnce+1000)
  #13  pc 0x0000000000a337d8  /data/misc/apexdata/com.android.art/dalvik-cache/arm64/boot.oat (android.os.Looper.loop+1112)
  #14  pc 0x0000000000774880  /data/misc/apexdata/com.android.art/dalvik-cache/arm64/boot.oat (android.app.ActivityThread.main+2432)
  #15  pc 0x0000000000337480  /apex/com.android.art/lib64/libart.so (art_quick_invoke_static_stub+640)
  #16  pc 0x000000000038a568  /apex/com.android.art/lib64/libart.so (_jobject* art::InvokeMethod<(art::PointerSize)8>(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, _jobject*, _jobject*, unsigned long)+1588)
  #17  pc 0x0000000000389f24  /apex/com.android.art/lib64/libart.so (art::Method_invoke(_JNIEnv*, _jobject*, _jobject*, _jobjectArray*) (.__uniq.165753521025965369065708152063621506277)+32)
  #18  pc 0x00000000003346a8  /data/misc/apexdata/com.android.art/dalvik-cache/arm64/boot.oat (art_jni_trampoline+120)
  #19  pc 0x00000000009acd38  /data/misc/apexdata/com.android.art/dalvik-cache/arm64/boot.oat (com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run+136)
  #20  pc 0x00000000009b72cc  /data/misc/apexdata/com.android.art/dalvik-cache/arm64/boot.oat (com.android.internal.os.ZygoteInit.main+3548)
  #21  pc 0x0000000000337480  /apex/com.android.art/lib64/libart.so (art_quick_invoke_static_stub+640)
  #22  pc 0x00000000004eaa3c  /apex/com.android.art/lib64/libart.so (art::JValue art::InvokeWithVarArgs<_jmethodID*>(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, _jmethodID*, std::__va_list)+728)
  #23  pc 0x0000000000591e50  /apex/com.android.art/lib64/libart.so (art::JNI<true>::CallStaticVoidMethodV(_JNIEnv*, _jclass*, _jmethodID*, std::__va_list)+156)
  #24  pc 0x00000000000c1c04  /system/lib64/libandroid_runtime.so (_JNIEnv::CallStaticVoidMethod(_jclass*, _jmethodID*, ...)+124)
  #25  pc 0x00000000000ce470  /system/lib64/libandroid_runtime.so (android::AndroidRuntime::start(char const*, android::Vector<android::String8> const&, bool)+856)
  #26  pc 0x0000000000002570  /system/bin/app_process64 (main+1304)
  #27  pc 0x000000000004a7d4  /apex/com.android.runtime/lib64/bionic/libc.so (__libc_init+100)```

@Bogdan-sybo
Copy link

We have the same issue. Any news on this?

@wojciech-juszczynski
Copy link

Any updates?

@Bogdan-sybo
Copy link

11.7.0 SDK doesn't seem t have this crash.

@wojciech-juszczynski
Copy link

@Bogdan-sybo thanks!

@argzdev
Copy link

argzdev commented May 14, 2024

Hi folks, just bumping this thread. Is this issue still present in version 11.9.0?

@argzdev argzdev added needs-info Need information for the developer and removed needs-attention Need Googler's attention labels May 14, 2024
@google-oss-bot google-oss-bot added the stale Don't have recent activity label May 21, 2024
@google-oss-bot
Copy link

Hey @ab-rdarts. We need more information to resolve this issue but there hasn't been an update in 5 weekdays. I'm marking the issue as stale and if there are no new updates in the next 5 days I will close it automatically.

If you have more information that will help us get to the bottom of this, just add a comment!

@SachinTichkule
Copy link

I am using firebase 12.0.0 version but it shows in play store anr and crash report.

@google-oss-bot google-oss-bot added stale Don't have recent activity and removed stale Don't have recent activity labels May 22, 2024
@google-oss-bot
Copy link

Hey @ab-rdarts. We need more information to resolve this issue but there hasn't been an update in 5 weekdays. I'm marking the issue as stale and if there are no new updates in the next 5 days I will close it automatically.

If you have more information that will help us get to the bottom of this, just add a comment!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
api: core needs-info Need information for the developer stale Don't have recent activity type: question
Projects
None yet
Development

No branches or pull requests

7 participants