firebase-cpp-sdk icon indicating copy to clipboard operation
firebase-cpp-sdk copied to clipboard

[Bug][Android] Accessing data of previously authenticated user results in JNI DETECTED ERROR IN APPLICATION: use of deleted global reference

Open solodon4 opened this issue 3 years ago • 3 comments

[REQUIRED] Please fill in the following fields:

  • Pre-built SDK from the website or open-source from this repo: prebuilt
  • Firebase C++ SDK version: 8.3.0
  • Problematic Firebase Component: Auth
  • Other Firebase Components in use: Analytics, Auth, Crashlytics, DynamicLinks, Performance, RemoteConfig, Storage
  • Platform you are using the C++ SDK on: Mac
  • Platform you are targeting: Android

[REQUIRED] Please describe the issue here:

I am trying to obtain user's profile information right after initializing firebase::Auth as described here:

    // Initialize Firebase Auth
    ::firebase::InitResult auth_res;
    authenticator = ::firebase::auth::Auth::GetAuth(app,&auth_res);
    assert(auth_res == ::firebase::InitResult::kInitResultSuccess);
    assert(authenticator);

    // It's possible for current_user() to be non-null if the previous run left us in a signed-in state.
    if (::firebase::auth::User* user = authenticator->current_user())
        dbg::log(dbg::info, "Auth: current user uid(%s) name(%s) already signed in", user->uid().c_str(), user->display_name().c_str());

Very frequently when the user has been signed in on the previous run, the code crashes in user->uid() above. In this situation, the user would have been authenticated with Play Games sign-in and I have had successfully obtained Firebase Auth token on the previous run.

Here is the relevant stack trace:

tgkill 0x00000000b6d3e194
pthread_kill 0x00000000b6d3bda4
raise 0x00000000b6d15a42
__libc_android_abort 0x00000000b6d12bf4
abort 0x00000000b6d107bc
art::Runtime::Abort() 0x00000000b4ba8474
art::LogMessage::~LogMessage() 0x00000000b497ca2c
art::JavaVMExt::JniAbort(char const*, char const*) 0x00000000b4ad7150
art::JavaVMExt::JniAbortF(char const*, char const*, ...) 0x00000000b4ad754e
art::Thread::DecodeJObject(_jobject*) const 0x00000000b4bc4d1e
art::ScopedCheck::Check(art::ScopedObjectAccess&, bool, char const*, art::JniValueType*) (.constprop.95) 0x00000000b4988b22
art::CheckJNI::CallMethodV(char const*, _JNIEnv*, _jobject*, _jclass*, _jmethodID*, std::__va_list, art::Primitive::Type, art::InvokeType) 0x00000000b4997940
art::CheckJNI::CallObjectMethodV(_JNIEnv*, _jobject*, _jmethodID*, std::__va_list) 0x00000000b4998ec8
_JNIEnv::CallObjectMethod(_jobject*, _jmethodID*, ...) jni.h:618
firebase::auth::GetUserProperty(firebase::auth::AuthData*, _jobject*, firebase::auth::userinfo::Method, firebase::auth::PropertyType) 0x000000009df6a008
firebase::auth::GetUID(firebase::auth::AuthData*, _jobject*) 0x000000009df68770
firebase::auth::User::uid() const 0x000000009df68766
<= my code from the example above =>

And here is the full error from logcat:

E/art: JNI ERROR (app bug): attempt to use stale global reference 0x20097e (should be 0x97e)
A/art: art/runtime/java_vm_ext.cc:410] JNI DETECTED ERROR IN APPLICATION: use of deleted global reference 0x20097e
A/art: art/runtime/java_vm_ext.cc:410]     from void org.cocos2dx.lib.Cocos2dxRenderer.nativeInit(int, int)
A/art: art/runtime/java_vm_ext.cc:410] "GLThread 6547" prio=5 tid=36 Runnable
A/art: art/runtime/java_vm_ext.cc:410]   | group="main" sCount=0 dsCount=0 obj=0x13164380 self=0xb9316e80
A/art: art/runtime/java_vm_ext.cc:410]   | sysTid=1592 nice=0 cgrp=default sched=0/0 handle=0x9c9d4930
A/art: art/runtime/java_vm_ext.cc:410]   | state=R schedstat=( 463715986 145468945 1225 ) utm=17 stm=29 core=3 HZ=100
A/art: art/runtime/java_vm_ext.cc:410]   | stack=0x9c8d2000-0x9c8d4000 stackSize=1038KB
A/art: art/runtime/java_vm_ext.cc:410]   | held mutexes= "mutator lock"(shared held)
A/art: art/runtime/java_vm_ext.cc:410]   native: #00 pc 0035a447  /system/lib/libart.so (_ZN3art15DumpNativeStackERNSt3__113basic_ostreamIcNS0_11char_traitsIcEEEEiPKcPNS_9ArtMethodEPv+126)
A/art: art/runtime/java_vm_ext.cc:410]   native: #01 pc 0033afcf  /system/lib/libart.so (_ZNK3art6Thread4DumpERNSt3__113basic_ostreamIcNS1_11char_traitsIcEEEE+138)
A/art: art/runtime/java_vm_ext.cc:410]   native: #02 pc 0024de43  /system/lib/libart.so (_ZN3art9JavaVMExt8JniAbortEPKcS2_+750)
A/art: art/runtime/java_vm_ext.cc:410]   native: #03 pc 0024e54b  /system/lib/libart.so (_ZN3art9JavaVMExt9JniAbortFEPKcS2_z+62)
A/art: art/runtime/java_vm_ext.cc:410]   native: #04 pc 0033bd1b  /system/lib/libart.so (_ZNK3art6Thread13DecodeJObjectEP8_jobject+678)
A/art: art/runtime/java_vm_ext.cc:410]   native: #05 pc 000ffb1f  /system/lib/libart.so (_ZN3art11ScopedCheck5CheckERNS_18ScopedObjectAccessEbPKcPNS_12JniValueTypeE.constprop.95+890)
A/art: art/runtime/java_vm_ext.cc:410]   native: #06 pc 0010e93d  /system/lib/libart.so (_ZN3art8CheckJNI11CallMethodVEPKcP7_JNIEnvP8_jobjectP7_jclassP10_jmethodIDSt9__va_listNS_9Primitive4TypeENS_10InvokeTypeE+496)
A/art: art/runtime/java_vm_ext.cc:410]   native: #07 pc 0010fec5  /system/lib/libart.so (_ZN3art8CheckJNI17CallObjectMethodVEP7_JNIEnvP8_jobjectP10_jmethodIDSt9__va_list+28)
A/art: art/runtime/java_vm_ext.cc:410]   native: #08 pc 00997fbc  /data/app/com.example.app-1/lib/arm/libMyGame.so (???)
A/art: art/runtime/java_vm_ext.cc:410]   native: #09 pc 014df007  /data/app/com.example.app-1/lib/arm/libMyGame.so (???)
A/art: art/runtime/java_vm_ext.cc:410]   native: #10 pc 014dd76d  /data/app/com.example.app-1/lib/arm/libMyGame.so (_ZNK8firebase4auth4User3uidEv+20)
A/art: art/runtime/java_vm_ext.cc:410]   native: #11 pc 00c0c4b0  /data/app/com.example.app-1/lib/arm/libMyGame.so (_ZN6others10initializeEv+564)
A/art: art/runtime/java_vm_ext.cc:410]   native: #12 pc 009cc108  /data/app/com.example.app-1/lib/arm/libMyGame.so (_ZN11AppDelegate29applicationDidFinishLaunchingEv+2512)
A/art: art/runtime/java_vm_ext.cc:410]   native: #13 pc 00fc4b3b  /data/app/com.example.app-1/lib/arm/libMyGame.so (_ZN7cocos2d11Application3runEv+8)
A/art: art/runtime/java_vm_ext.cc:410]   native: #14 pc 00fc6fcd  /data/app/com.example.app-1/lib/arm/libMyGame.so (Java_org_cocos2dx_lib_Cocos2dxRenderer_nativeInit+260)
A/art: art/runtime/java_vm_ext.cc:410]   native: #15 pc 01086d55  /data/app/com.example.app-1/oat/arm/base.odex (void org.cocos2dx.lib.Cocos2dxRenderer.nativeInit(int, int)+80)
A/art: art/runtime/java_vm_ext.cc:410]   native: #16 pc 01087d3f  /data/app/com.example.app-1/oat/arm/base.odex (void org.cocos2dx.lib.Cocos2dxRenderer.onSurfaceCreated(javax.microedition.khronos.opengles.GL10, javax.microedition.khronos.egl.EGLConfig)+74)
A/art: art/runtime/java_vm_ext.cc:410]   native: #17 pc 00d5bc09  /system/framework/arm/boot.oat (???)
A/art: art/runtime/java_vm_ext.cc:410]   at org.cocos2dx.lib.Cocos2dxRenderer.nativeInit(Native method)
A/art: art/runtime/java_vm_ext.cc:410]   at org.cocos2dx.lib.Cocos2dxRenderer.onSurfaceCreated(Cocos2dxRenderer.java:74)
A/art: art/runtime/java_vm_ext.cc:410]   at android.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1503)
A/art: art/runtime/java_vm_ext.cc:410]   at android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1240)
A/art: art/runtime/java_vm_ext.cc:410] 
A/art: art/runtime/runtime.cc:366] Runtime aborting...
A/art: art/runtime/runtime.cc:366] Aborting thread:
A/art: art/runtime/runtime.cc:366] "GLThread 6547" prio=5 tid=36 Native
A/art: art/runtime/runtime.cc:366]   | group="" sCount=0 dsCount=0 obj=0x13164380 self=0xb9316e80
A/art: art/runtime/runtime.cc:366]   | sysTid=1592 nice=0 cgrp=default sched=0/0 handle=0x9c9d4930
A/art: art/runtime/runtime.cc:366]   | state=R schedstat=( 545791033 156080823 1321 ) utm=25 stm=29 core=0 HZ=100
A/art: art/runtime/runtime.cc:366]   | stack=0x9c8d2000-0x9c8d4000 stackSize=1038KB
A/art: art/runtime/runtime.cc:366]   | held mutexes= "abort lock"
A/art: art/runtime/runtime.cc:366]   native: #00 pc 0035a447  /system/lib/libart.so (_ZN3art15DumpNativeStackERNSt3__113basic_ostreamIcNS0_11char_traitsIcEEEEiPKcPNS_9ArtMethodEPv+126)
A/art: art/runtime/runtime.cc:366]   native: #01 pc 0033afcf  /system/lib/libart.so (_ZNK3art6Thread4DumpERNSt3__113basic_ostreamIcNS1_11char_traitsIcEEEE+138)
A/art: art/runtime/runtime.cc:366]   native: #02 pc 0031f33d  /system/lib/libart.so (_ZNK3art10AbortState10DumpThreadERNSt3__113basic_ostreamIcNS1_11char_traitsIcEEEEPNS_6ThreadE+20)
A/art: art/runtime/runtime.cc:366]   native: #03 pc 0031f5b9  /system/lib/libart.so (_ZN3art7Runtime5AbortEv+540)
A/art: art/runtime/runtime.cc:366]   native: #04 pc 000f3a29  /system/lib/libart.so (_ZN3art10LogMessageD2Ev+2092)
A/art: art/runtime/runtime.cc:366]   native: #05 pc 0024e14d  /system/lib/libart.so (_ZN3art9JavaVMExt8JniAbortEPKcS2_+1528)
A/art: art/runtime/runtime.cc:366]   native: #06 pc 0024e54b  /system/lib/libart.so (_ZN3art9JavaVMExt9JniAbortFEPKcS2_z+62)
A/art: art/runtime/runtime.cc:366]   native: #07 pc 0033bd1b  /system/lib/libart.so (_ZNK3art6Thread13DecodeJObjectEP8_jobject+678)
A/art: art/runtime/runtime.cc:366]   native: #08 pc 000ffb1f  /system/lib/libart.so (_ZN3art11ScopedCheck5CheckERNS_18ScopedObjectAccessEbPKcPNS_12JniValueTypeE.constprop.95+890)
A/art: art/runtime/runtime.cc:366]   native: #09 pc 0010e93d  /system/lib/libart.so (_ZN3art8CheckJNI11CallMethodVEPKcP7_JNIEnvP8_jobjectP7_jclassP10_jmethodIDSt9__va_listNS_9Primitive4TypeENS_10InvokeTypeE+496)
A/art: art/runtime/runtime.cc:366]   native: #10 pc 0010fec5  /system/lib/libart.so (_ZN3art8CheckJNI17CallObjectMethodVEP7_JNIEnvP8_jobjectP10_jmethodIDSt9__va_list+28)
A/art: art/runtime/runtime.cc:366]   native: #11 pc 00997fbc  /data/app/com.example.app-1/lib/arm/libMyGame.so (???)
A/art: art/runtime/runtime.cc:366]   native: #12 pc 014df007  /data/app/com.example.app-1/lib/arm/libMyGame.so (???)
A/art: art/runtime/runtime.cc:366]   native: #13 pc 014dd76d  /data/app/com.example.app-1/lib/arm/libMyGame.so (_ZNK8firebase4auth4User3uidEv+20)
A/art: art/runtime/runtime.cc:366]   native: #14 pc 00c0c4b0  /data/app/com.example.app-1/lib/arm/libMyGame.so (_ZN6others10initializeEv+564)
A/art: art/runtime/runtime.cc:366]   native: #15 pc 009cc108  /data/app/com.example.app-1/lib/arm/libMyGame.so (_ZN11AppDelegate29applicationDidFinishLaunchingEv+2512)
A/art: art/runtime/runtime.cc:366]   native: #16 pc 00fc4b3b  /data/app/com.example.app-1/lib/arm/libMyGame.so (_ZN7cocos2d11Application3runEv+8)
A/art: art/runtime/runtime.cc:366]   native: #17 pc 00fc6fcd  /data/app/com.example.app-1/lib/arm/libMyGame.so (Java_org_cocos2dx_lib_Cocos2dxRenderer_nativeInit+260)
A/art: art/runtime/runtime.cc:366]   native: #18 pc 01086d55  /data/app/com.example.app-1/oat/arm/base.odex (void org.cocos2dx.lib.Cocos2dxRenderer.nativeInit(int, int)+80)
A/art: art/runtime/runtime.cc:366]   native: #19 pc 01087d3f  /data/app/com.example.app-1/oat/arm/base.odex (void org.cocos2dx.lib.Cocos2dxRenderer.onSurfaceCreated(javax.microedition.khronos.opengles.GL10, javax.microedition.khronos.egl.EGLConfig)+74)
A/art: art/runtime/runtime.cc:366]   native: #20 pc 00d5bc09  /system/framework/arm/boot.oat (???)
A/art: art/runtime/runtime.cc:366]   at org.cocos2dx.lib.Cocos2dxRenderer.nativeInit(Native method)
A/art: art/runtime/runtime.cc:366]   at org.cocos2dx.lib.Cocos2dxRenderer.onSurfaceCreated(Cocos2dxRenderer.java:74)
A/art: art/runtime/runtime.cc:366]   at android.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1503)
A/art: art/runtime/runtime.cc:366]   at android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1240)
A/art: art/runtime/runtime.cc:366] Dumping all threads without appropriate locks held: thread list lock mutator lock
A/art: art/runtime/runtime.cc:366] All threads:
A/art: art/runtime/runtime.cc:366] DALVIK THREADS (64):
A/art: art/runtime/runtime.cc:366] "GLThread 6547" prio=5 tid=36 Runnable
A/art: art/runtime/runtime.cc:366]   | group="" sCount=0 dsCount=0 obj=0x13164380 self=0xb9316e80
A/art: art/runtime/runtime.cc:366]   | sysTid=1592 nice=0 cgrp=default sched=0/0 handle=0x9c9d4930
A/art: art/runtime/runtime.cc:366]   | state=R schedstat=( 609403219 160232753 1339 ) utm=29 stm=31 core=0 HZ=100
A/art: art/runtime/runtime.cc:366]   | stack=0x9c8d2000-0x9c8d4000 stackSize=1038KB
A/art: art/runtime/runtime.cc:366]   | held mutexes= "abort lock" "mutator lock"(shared held)
A/art: art/runtime/runtime.cc:366]   native: #00 pc 0035a447  /system/lib/libart.so (_ZN3art15DumpNativeStackERNSt3__113basic_ostreamIcNS0_11char_traitsIcEEEEiPKcPNS_9ArtMethodEPv+126)
A/art: art/runtime/runtime.cc:366]   native: #01 pc 0033afcf  /system/lib/libart.so (_ZNK3art6Thread4DumpERNSt3__113basic_ostreamIcNS1_11char_traitsIcEEEE+138)
A/art: art/runtime/runtime.cc:366]   native: #02 pc 00344935  /system/lib/libart.so (_ZN3art14DumpCheckpoint3RunEPNS_6ThreadE+424)
A/art: art/runtime/runtime.cc:366]   native: #03 pc 00345499  /system/lib/libart.so (_ZN3art10ThreadList13RunCheckpointEPNS_7ClosureE+200)
A/art: art/runtime/runtime.cc:366]   native: #04 pc 0034599d  /system/lib/libart.so (_ZN3art10ThreadList4DumpERNSt3__113basic_ostreamIcNS1_11char_traitsIcEEEE+124)
A/art: art/runtime/runtime.cc:366]   native: #05 pc 0031f52d  /system/lib/libart.so (_ZN3art7Runtime5AbortEv+400)
A/art: art/runtime/runtime.cc:366]   native: #06 pc 000f3a29  /system/lib/libart.so (_ZN3art10LogMessageD2Ev+2092)
A/art: art/runtime/runtime.cc:366]   native: #07 pc 0024e14d  /system/lib/libart.so (_ZN3art9JavaVMExt8JniAbortEPKcS2_+1528)
A/art: art/runtime/runtime.cc:366]   native: #08 pc 0024e54b  /system/lib/libart.so (_ZN3art9JavaVMExt9JniAbortFEPKcS2_z+62)
A/art: art/runtime/runtime.cc:366]   native: #09 pc 0033bd1b  /system/lib/libart.so (_ZNK3art6Thread13DecodeJObjectEP8_jobject+678)
A/art: art/runtime/runtime.cc:366]   native: #10 pc 000ffb1f  /system/lib/libart.so (_ZN3art11ScopedCheck5CheckERNS_18ScopedObjectAccessEbPKcPNS_12JniValueTypeE.constprop.95+890)
A/art: art/runtime/runtime.cc:366]   native: #11 pc 0010e93d  /system/lib/libart.so (_ZN3art8CheckJNI11CallMethodVEPKcP7_JNIEnvP8_jobjectP7_jclassP10_jmethodIDSt9__va_listNS_9Primitive4TypeENS_10InvokeTypeE+496)
A/art: art/runtime/runtime.cc:366]   native: #12 pc 0010fec5  /system/lib/libart.so (_ZN3art8CheckJNI17CallObjectMethodVEP7_JNIEnvP8_jobjectP10_jmethodIDSt9__va_list+28)
A/art: art/runtime/runtime.cc:366]   native: #13 pc 00997fbc  /data/app/com.example.app-1/lib/arm/libMyGame.so (???)
A/art: art/runtime/runtime.cc:366]   native: #14 pc 014df007  /data/app/com.example.app-1/lib/arm/libMyGame.so (???)
A/art: art/runtime/runtime.cc:366]   native: #15 pc 014dd76d  /data/app/com.example.app-1/lib/arm/libMyGame.so (_ZNK8firebase4auth4User3uidEv+20)
A/art: art/runtime/runtime.cc:366]   native: #16 pc 00c0c4b0  /data/app/com.example.app-1/lib/arm/libMyGame.so (_ZN6others10initializeEv+564)
A/art: art/runtime/runtime.cc:366]   native: #17 pc 009cc108  /data/app/com.example.app-1/lib/arm/libMyGame.so (_ZN11AppDelegate29applicationDidFinishLaunchingEv+2512)
A/art: art/runtime/runtime.cc:366]   native: #18 pc 00fc4b3b  /data/app/com.example.app-1/lib/arm/libMyGame.so (_ZN7cocos2d11Application3runEv+8)
A/art: art/runtime/runtime.cc:366]   native: #19 pc 00fc6fcd  /data/app/com.example.app-1/lib/arm/libMyGame.so (Java_org_cocos2dx_lib_Cocos2dxRenderer_nativeInit+260)
A/art: art/runtime/runtime.cc:366]   native: #20 pc 01086d55  /data/app/com.example.app-1/oat/arm/base.odex (void org.cocos2dx.lib.Cocos2dxRenderer.nativeInit(int, int)+80)
A/art: art/runtime/runtime.cc:366]   native: #21 pc 01087d3f  /data/app/com.example.app-1/oat/arm/base.odex (void org.cocos2dx.lib.Cocos2dxRenderer.onSurfaceCreated(javax.microedition.khronos.opengles.GL10, javax.microedition.khronos.egl.EGLConfig)+74)
A/art: art/runtime/runtime.cc:366]   native: #22 pc 00d5bc09  /system/framework/arm/boot.oat (???)
A/art: art/runtime/runtime.cc:366]   at org.cocos2dx.lib.Cocos2dxRenderer.nativeInit(Native method)
A/art: art/runtime/runtime.cc:366]   at org.cocos2dx.lib.Cocos2dxRenderer.onSurfaceCreated(Cocos2dxRenderer.java:74)
A/art: art/runtime/runtime.cc:366]   at android.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1503)
A/art: art/runtime/runtime.cc:366]   at android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1240)
A/art: art/runtime/runtime.cc:366] 
A/art: art/runtime/runtime.cc:366] "main" prio=5 tid=1 Native
A/art: art/runtime/runtime.cc:366]   | group="" sCount=1 dsCount=0 obj=0x748c7258 self=0xb8e93e58
A/art: art/runtime/runtime.cc:366]   | sysTid=997 nice=-4 cgrp=default sched=0/0 handle=0xb6fc1b34
A/art: art/runtime/runtime.cc:366]   | state=S schedstat=( 1413192536 500167447 3043 ) utm=106 stm=35 core=3 HZ=100
A/art: art/runtime/runtime.cc:366]   | stack=0xbe319000-0xbe31b000 stackSize=8MB
A/art: art/runtime/runtime.cc:366]   | held mutexes=
A/art: art/runtime/runtime.cc:366]   native: #00 pc 00042ad8  /system/lib/libc.so (__epoll_pwait+20)
A/art: art/runtime/runtime.cc:366]   native: #01 pc 0001959f  /system/lib/libc.so (epoll_pwait+26)
A/art: art/runtime/runtime.cc:366]   native: #02 pc 000195ad  /system/lib/libc.so (epoll_wait+6)
A/art: art/runtime/runtime.cc:366]   native: #03 pc 00012d6b  /system/lib/libutils.so (_ZN7android6Looper9pollInnerEi+102)
A/art: art/runtime/runtime.cc:366]   native: #04 pc 00012feb  /system/lib/libutils.so (_ZN7android6Looper8pollOnceEiPiS1_PPv+130)
A/art: art/runtime/runtime.cc:366]   native: #05 pc 00084595  /system/lib/libandroid_runtime.so (_ZN7android18NativeMessageQueue8pollOnceEP7_JNIEnvP8_jobjecti+22)
A/art: art/runtime/runtime.cc:366]   native: #06 pc 00000575  /system/framework/arm/boot.oat (Java_android_os_MessageQueue_nativePollOnce__JI+96)
A/art: art/runtime/runtime.cc:366]   at android.os.MessageQueue.nativePollOnce(Native method)
A/art: art/runtime/runtime.cc:366]   at android.os.MessageQueue.next(MessageQueue.java:323)
A/art: art/runtime/runtime.cc:366]   at android.os.Looper.loop(Looper.java:135)
A/art: art/runtime/runtime.cc:366]   at android.app.ActivityThread.main(ActivityThread.java:5476)
A/art: art/runtime/runtime.cc:366]   at java.lang.reflect.Method.invoke!(Native method)
A/art: art/runtime/runtime.cc:366]   at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
A/art: art/runtime/runtime.cc:366]   at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
A/art: art/runtime/runtime.cc:366] 
A/art: art/runtime/runtime.cc:366] "Signal Catcher" prio=5 tid=2 WaitingInMainSignalCatcherLoop
A/art: art/runtime/runtime.cc:366]   | group="" sCount=1 dsCount=0 obj=0x12d230a0 self=0xb90bb750
A/art: art/runtime/runtime.cc:366]   | sysTid=1002 nice=0 cgrp=default sched=0/0 handle=0xb4475930
A/art: art/runtime/runtime.cc:366]   | state=S schedstat=( 4640049 22071559 102 ) utm=0 stm=0 core=3 HZ=100
A/art: art/runtime/runtime.cc:366]   | stack=0xb4379000-0xb437b000 stackSize=1014KB
A/art: art/runtime/runtime.cc:366]   | held mutexes=
A/art: art/runtime/runtime.cc:366]   native: #00 pc 00042dac  /system/lib/libc.so (__rt_sigtimedwait+12)
A/art: art/runtime/runtime.cc:366]   native: #01 pc 0001c097  /system/lib/libc.so (sigwait+22)
A/art: art/runtime/runtime.cc:366]   native: #02 pc 00325ed7  /system/lib/libart.so (_ZN3art13SignalCatcher13WaitForSignalEPNS_6ThreadERNS_9SignalSetE+62)
A/art: art/runtime/runtime.cc:366]   native: #03 pc 00326fa7  /system/lib/libart.so (_ZN3art13SignalCatcher3RunEPv+202)
A/art: art/runtime/runtime.cc:366]   native: #04 pc 000416a3  /system/lib/libc.so (_ZL15__pthread_startPv+30)
A/art: art/runtime/runtime.cc:366]   native: #05 pc 00019275  /system/lib/libc.so (__start_thread+6)
A/art: art/runtime/runtime.cc:366]   (no managed stack frames)
A/art: art/runtime/runtime.cc:366] 
A/art: art/runtime/runtime.cc:366] "JDWP" prio=5 tid=3 WaitingInMainDebuggerLoop
A/art: art/runtime/runtime.cc:366]   | group="" sCount=1 dsCount=0 obj=0x12d260a0 self=0xb90bc928
A/art: art/runtime/runtime.cc:366]   | sysTid=1003 nice=0 cgrp=default sched=0/0 handle=0xb4371930
A/art: art/runtime/runtime.cc:366]   | state=S schedstat=( 57798119 29164636 143 ) utm=5 stm=0 core=0 HZ=100
A/art: art/runtime/runtime.cc:366]   | stack=0xb4275000-0xb4277000 stackSize=1014KB
A/art: art/runtime/runtime.cc:366]   | held mutexes=
A/art: art/runtime/runtime.cc:366]   native: #00 pc 00042cc8  /system/lib/libc.so (__pselect6+20)
A/art: art/runtime/runtime.cc:366]   native: #01 pc 0001b3e5  /system/lib/libc.so (select+60)
A/art: art/runtime/runtime.cc:366]   native: #02 pc 003e738b  /system/lib/libart.so (_ZN3art4JDWP12JdwpAdbState15ProcessIncomingEv+206)
A/art: art/runtime/runtime.cc:366]   native: #03 pc 002599f3  /system/lib/libart.so (_ZN3art4JDWP9JdwpState3RunEv+298)
A/art: art/runtime/runtime.cc:366]   native: #04 pc 0025a85f  /system/lib/libart.so (_ZN3art4JDWPL15StartJdwpThreadEPv+10)
A/art: art/runtime/runtime.cc:366]   native: #05 pc 000416a3  /system/lib/libc.so (_ZL15__pthread_startPv+30)
A/art: art/runtime/runtime.cc:366]   native: #06 pc 00019275  /system/lib/libc.so (__start_thread+6)
A/art: art/runtime/runtime.cc:366]   (no managed stack frames)
A/art: art/runtime/runtime.cc:366] 
A/art: art/runtime/runtime.cc:366] "ReferenceQueueDaemon" prio=5 tid=4 Waiting
A/art: art/runtime/runtime.cc:366]   | group="" sCount=1 dsCount=0 obj=0x12d1f700 self=0xb90b70d8
A/art: art/runtime/runtime.cc:366]   | sysTid=1004 nice=0 cgrp=default sched=0/0 handle=0xb426b930
A/art: art/runtime/runtime.cc:366]   | state=S schedstat=( 6412238 31107083 121 ) utm=0 stm=0 core=0 HZ=100
A/art: art/runtime/runtime.cc:366]   | stack=0xb4169000-0xb416b000 stackSize=1038KB
A/art: art/runtime/runtime.cc:366]   | held mutexes=
A/art: art/runtime/runtime.cc:366]   native: #00 pc 000168f0  /system/lib/libc.so (syscall+28)
A/art: art/runtime/runtime.cc:366]   native: #01 pc 000f5dad  /system/lib/libart.so (_ZN3art17ConditionVariable4WaitEPNS_6ThreadE+80)
A/art: art/runtime/runtime.cc:366]   native: #02 pc 002ae4cf  /system/lib/libart.so (_ZN3art7Monitor4WaitEPNS_6ThreadExibNS_11ThreadStateE+1114)
A/art: art/runtime/runtime.cc:366]   native: #03 pc 002af18b  /system/lib/libart.so (_ZN3art7Monitor4WaitEPNS_6ThreadEPNS_6mirror6ObjectExibNS_11ThreadStateE+110)
A/art: art/runtime/runtime.cc:366]   native: #04 pc 002c005d  /system/lib/libart.so (_ZN3artL11Object_waitEP7_JNIEnvP8_jobject+32)
A/art: art/runtime/runtime.cc:366]   native: #05 pc 00000377  /system/framework/arm/boot.oat (Java_java_lang_Object_wait__+74)
A/art: art/runtime/runtime.cc:366]   at java.lang.Object.wait!(Native method)
A/art: art/runtime/runtime.cc:366]   - waiting on <0x032bc8a8> (a java.lang.Class<java.lang.ref.ReferenceQueue>)
A/art: art/runtime/runtime.cc:366]   at java.lang.Daemons$ReferenceQueueDaemon.run(Daemons.java:147)
A/art: art/runtime/runtime.cc:366]   - locked <0x032bc8a8> (a java.lang.Class<java.lang.ref.ReferenceQueue>)
A/art: art/runtime/runtime.cc:366]   at java.lang.Thread.run(Thread.java:818)
A/art: art/runtime/runtime.cc:366] 
A/art: art/runtime/runtime.cc:366] "FinalizerDaemon" prio=5 tid=5 Waiting
A/art: art/runtime/runtime.cc:366]   | group="" sCount=1 dsCount=0 obj=0x12d1f760 self=0xb90bd058
A/art: art/runtime/runtime.cc:366]   | sysTid=1005 nice=0 cgrp=default sched=0/0 handle=0xb4161930
A/art: art/runtime/runtime.cc:366]   | state=S schedstat=( 23623331 29391457 138 ) utm=1 stm=1 core=0 HZ=100
A/art: art/runtime/runtime.cc:366]   | stack=0xb405f000-0xb4061000 stackSize=1038KB
A/art: art/runtime/runtime.cc:366]   | held mutexes=
A/art: art/runtime/runtime.cc:366]   native: #00 pc 000168f0  /system/lib/libc.so (syscall+28)
A/art: art/runtime/runtime.cc:366]   native: #01 pc 000f5dad  /system/lib/libart.so (_ZN3art17ConditionVariable4WaitEPNS_6ThreadE+80)
A/art: art/runtime/runtime.cc:366]   native: #02 pc 002ae4cf  /system/lib/libart.so (_ZN3art7Monitor4WaitEPNS_6ThreadExibNS_11ThreadStateE+1114)
A/art: art/runtime/runtime.cc:366]   native: #03 pc 002af18b  /system/lib/libart.so (_ZN3art7Monitor4WaitEPNS_6ThreadEPNS_6mirror6ObjectExibNS_11ThreadStateE+110)
A/art: art/runtime/runtime.cc:366]   native: #04 pc 002c0089  /system/lib/libart.so (_ZN3artL13Object_waitJIEP7_JNIEnvP8_jobjectxi+36)
A/art: art/runtime/runtime.cc:366]   native: #05 pc 00000575  /system/framework/arm/boot.oat (Java_java_lang_Object_wait__JI+96)
A/art: art/runtime/runtime.cc:366]   at java.lang.Object.wait!(Native method)
A/art: art/runtime/runtime.cc:366]   - waiting on <0x038c4df3> (a java.lang.ref.ReferenceQueue)
A/art: art/runtime/runtime.cc:366]   at java.lang.Object.wait(Object.java:423)
A/art: art/runtime/runtime.cc:366]   at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:101)
A/art: art/runtime/runtime.cc:366]   - locked <0x038c4df3> (a java.lang.ref.ReferenceQueue)
A/art: art/runtime/runtime.cc:366]   at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:72)
A/art: art/runtime/runtime.cc:366]   at java.lang.Daemons$FinalizerDaemon.run(Daemons.java:185)
A/art: art/runtime/runtime.cc:366]   at java.lang.Thread.run(Thread.java:818)
A/art: art/runtime/runtime.cc:366] 
A/art: art/runtime/runtime.cc:366] "FinalizerWatchdogDaemon" prio=5 tid=6 Sleeping
A/art: art/runtime/runtime.cc:366]   | group="" sCount=1 dsCount=0 obj=0x12d1f7c0 self=0xb8fa29f0
A/art: art/runtime/runtime.cc:366]   | sysTid=1006 nice=0 cgrp=default sched=0/0 handle=0xb4057930
A/art: art/runtime/runtime.cc:366]   | state=S schedstat=( 3153131 31993171 116 ) utm=0 stm=0 core=0 HZ=100
A/art: art/runtime/runtime.cc:366]   | stack=0xb3f55000-0xb3f57000 stackSize=1038KB
A/art: art/runtime/runtime.cc:366]   | held mutexes=
A/art: art/runtime/runtime.cc:366]   native: #00 pc 000168f4  /system/lib/libc.so (syscall+32)
A/art: art/runtime/runtime.cc:366]   native: #01 pc 000f6009  /system/lib/libart.so (_ZN3art17ConditionVariable9TimedWaitEPNS_6ThreadExi+104)
A/art: art/runtime/runtime.cc:366]   native: #02 pc 002ae227  /system/lib/libart.so (_ZN3art7Monitor4WaitEPNS_6ThreadExibNS_11ThreadStateE+434)
A/art: art/runtime/runtime.cc:366]   native: #03 pc 002af18b  /system/lib/libart.so (_ZN3art7Monitor4WaitEPNS_6ThreadEPNS_6mirror6ObjectExibNS_11ThreadStateE+110)
A/art: art/runtime/runtime.cc:366]   native: #04 pc 0001bfe3  /system/framework/arm/boot.oat (Java_java_lang_Thread_sleep__Ljava_lang_Object_2JI+126)
A/art: art/runtime/runtime.cc:366]   at java.lang.Thread.sleep!(Native method)
A/art: art/runtime/runtime.cc:366]   - sleeping on <0x09123d29> (a java.lang.Object)
A/art: art/runtime/runtime.cc:366]   at java.lang.Thread.sleep(Thread.java:1031)
A/art: art/runtime/runtime.cc:366]   - locked <0x09123d29> (a java.lang.Object)
A/art: art/runtime/runtime.cc:366]   at java.lang.Thread.sleep(Thread.java:985)
A/art: art/runtime/runtime.cc:366]   at java.lang.Daemons$FinalizerWatchdogDaemon.sleepFor(Daemons.java:273)
A/art: art/runtime/runtime.cc:366]   at java.lang.Daemons$FinalizerWatchdogDaemon.waitForFinalization(Daemons.java:284)
A/art: art/runtime/runtime.cc:366]   at java.lang.Daemons$FinalizerWatchdogDaemon.run(Daemons.java:232)
A/art: art/runtime/runtime.cc:366]   at java.lang.Thread.run(Thread.java:818)
A/art: art/runtime/runtime.cc:366] 
A/art: art/runtime/runtime.cc:366] "HeapTaskDaemon" prio=5 tid=7 Blocked
A/art: art/runtime/runtime.cc:366]   | group="" sCount=1 dsCount=0 obj=0x12d1f820 self=0xb90b7e98
A/art: art/runtime/runtime.cc:366]   | sysTid=1007 nice=0 cgrp=default sched=0/0 handle=0xa533b930
A/art: art/runtime/runtime.cc:366]   | state=S schedstat=( 123122079 66602607 382 ) utm=11 stm=1 core=0 HZ=100
A/art: art/runtime/runtime.cc:366]   | stack=0xa5239000-0xa523b000 stackSize=1038KB
A/art: art/runtime/runtime.cc:366]   | held mutexes=
A/art: art/runtime/runtime.cc:366]   native: #00 pc 000168f4  /system/lib/libc.so (syscall+32)
A/art: art/runtime/runtime.cc:366]   native: #01 pc 000f6009  /system/lib/libart.so (_ZN3art17ConditionVariable9TimedWaitEPNS_6ThreadExi+104)
A/art: art/runtime/runtime.cc:366]   native: #02 pc 001cce31  /system/lib/libart.so (_ZN3art2gc13TaskProcessor7GetTaskEPNS_6ThreadE+208)
A/art: art/runtime/runtime.cc:366]   native: #03 pc 001cd2bd  /system/lib/libart.so (_ZN3art2gc13TaskProcessor11RunAllTasksEPNS_6ThreadE+60)
A/art: art/runtime/runtime.cc:366]   native: #04 pc 00000377  /system/framework/arm/boot.oat (Java_dalvik_system_VMRuntime_runHeapTasks__+74)
A/art: art/runtime/runtime.cc:366]   at dalvik.system.VMRuntime.runHeapTasks(Native method)
A/art: art/runtime/runtime.cc:366]   - waiting to lock an unknown object
A/art: art/runtime/runtime.cc:366]   at java.lang.Daemons$HeapTaskDaemon.run(Daemons.java:355)
A/art: art/runtime/runtime.cc:366]   at java.lang.Thread.run(Thread.java:818)
A/art: art/runtime/runtime.cc:366] 
A/art: art/runtime/runtime.cc:366] "Binder_1" prio=5 tid=8 Native
A/art: art/runtime/runtime.cc:366]   | group="" sCount=1 dsCount=0 obj=0x12d2c0a0 self=0xb902f5e0
A/art: art/runtime/runtime.cc:366]   | sysTid=1008 nice=0 cgrp=default sched=0/0 handle=0xa5138930
A/art: art/runtime/runtime.cc:366]   | state=S schedstat=( 16096658 29070055 144 ) utm=1 stm=0 core=0 HZ=100
A/art: art/runtime/runtime.cc:366]   | stack=0xa503c000-0xa503e000 stackSize=1014KB
A/art: art/runtime/runtime.cc:366]   | held mutexes=
A/art: art/runtime/runtime.cc:366]   native: #00 pc 00042c00  /system/lib/libc.so (__ioctl+8)
A/art: art/runtime/runtime.cc:366]   native: #01 pc 00049681  /system/lib/libc.so (ioctl+14)
A/art: art/runtime/runtime.cc:366]   native: #02 pc 0001e901  /system/lib/libbinder.so (_ZN7android14IPCThreadState14talkWithDriverEb+132)
A/art: art/runtime/runtime.cc:366]   native: #03 pc 0001edef  /system/lib/libbinder.so (_ZN7android14IPCThreadState20getAndExecuteCommandEv+6)
A/art: art/runtime/runtime.cc:366]   native: #04 pc 0001ee8d  /system/lib/libbinder.so (_ZN7android14IPCThreadState14joinThreadPoolEb+48)
A/art: art/runtime/runtime.cc:366]   native: #05 pc 000237d9  /system/lib/libbinder.so (???)
A/art: art/runtime/runtime.cc:366]   native: #06 pc 000100b1  /system/lib/libutils.so (_ZN7android6Thread11_threadLoopEPv+112)
A/art: art/runtime/runtime.cc:366]   native: #07 pc 0006157b  /system/lib/libandroid_runtime.so (_ZN7android14AndroidRuntime15javaThreadShellEPv+70)
A/art: art/runtime/runtime.cc:366]   native: #08 pc 000416a3  /system/lib/libc.so (_ZL15__pthread_startPv+30)
A/art: art/runtime/runtime.cc:366]   native: #09 pc 00019275  /system/lib/libc.so (__start_thread+6)
A/art: art/runtime/runtime.cc:366]   (no managed stack frames)
A/art: art/runtime/runtime.cc:366] 
A/art: art/runtime/runtime.cc:366] "Binder_2" prio=5 tid=9 Native
A/art: art/runtime/runtime.cc:366]   | group="" sCount=1 dsCount=0 obj=0x12d2f0a0 self=0xb90ba4c0
A/art: art/runtime/runtime.cc:366]   | sysTid=1009 nice=0 cgrp=default sched=0/0 handle=0xa5039930
A/art: art/runtime/runtime.cc:366]   | state=S schedstat=( 7922960 23762186 142 ) utm=0 stm=0 core=2 HZ=100
A/art: art/runtime/runtime.cc:366]   | stack=0xa4f3d000-0xa4f3f000 stackSize=1014KB
A/art: art/runtime/runtime.cc:366]   | held mutexes=
A/art: art/runtime/runtime.cc:366]   native: #00 pc 00042c00  /system/lib/libc.so (__ioctl+8)
A/art: art/runtime/runtime.cc:366]   native: #01 pc 00049681  /system/lib/libc.so (ioctl+14)
A/art: art/runtime/runtime.cc:366]   native: #02 pc 0001e901  /system/lib/libbinder.so (_ZN7android14IPCThreadState14talkWithDriverEb+132)
A/art: art/runtime/runtime.cc:366]   native: #03 pc 0001edef  /system/lib/libbinder.so (_ZN7android14IPCThreadState20getAndExecuteCommandEv+6)
A/art: art/runtime/runtime.cc:366]   native: #04 pc 0001ee8d  /system/lib/libbinder.so (_ZN7android14IPCThreadState14joinThreadPoolEb+48)
A/art: art/runtime/runtime.cc:366]   native: #05 pc 000237d9  /system/lib/libbinder.so (???)
A/art: art/runtime/runtime.cc:366]   native: #06 pc 000100b1  /system/lib/libutils.so (_ZN7android6Thread11_threadLoopEPv+112)
A/art: art/runtime/runtime.cc:366]   native: #07 pc 0006157b  /system/lib/libandroid_runtime.so (_ZN7android14AndroidRuntime15javaThreadShellEPv+70)
A/art: art/runtime/runtime.cc:366]   native: #08 pc 000416a3  /system/lib/libc.so (_ZL15__pthread_startPv+30)
A/art: art/runtime/runtime.cc:366]   native: #09 pc 00019275  /system/lib/libc.so (__start_thread+6)
A/art: art/runtime/runtime.cc:366]   (no managed stack frames)
A/art: art/runtime/runtime.cc:366] 
A/art: art/runtime/runtime.cc:366] "Binder_3" prio=5 tid=10 Native
A/art: art/runtime/runtime.cc:366]   | group="" sCount=1 dsCount=0 obj=0x12d990a0 self=0xb90e33b8
A/art: art/runtime/runtime.cc:366]   | sysTid=1546 nice=0 cgrp=default sched=0/0 handle=0xa13da930
A/art: art/runtime/runtime.cc:366]   | state=S schedstat=( 7434319 20190259 137 ) utm=0 stm=0 core=0 HZ=100
A/art: art/runtime/runtime.cc:366]   | stack=0xa12de000-0xa12e0000 stackSize=1014KB
A/art: art/runtime/runtime.cc:366]   | held mutexes=
A/art: art/runtime/runtime.cc:366]   native: #00 pc 00042c00  /system/lib/libc.so (__ioctl+8)
A/art: art/runtime/runtime.cc:366]   native: #01 pc 00049681  /system/lib/libc.so (ioctl+14)
A/art: art/runtime/runtime.cc:366]   native: #02 pc 0001e901  /system/lib/libbinder.so (_ZN7android14IPCThreadState14talkWithDriverEb+132)
A/art: art/runtime/runtime.cc:366]   native: #03 pc 0001edef  /system/lib/libbinder.so (_ZN7android14IPCThreadState20getAndExecuteCommandEv+6)
A/art: art/runtime/runtime.cc:366]   native: #04 pc 0001ee8d  /system/lib/libbinder.so (_ZN7android14IPCThreadState14joinThreadPoolEb+48)
A/art: art/runtime/runtime.cc:366]   native: #05 pc 000237d9  /system/lib/libbinder.so (???)
A/art: art/runtime/runtime.cc:366]   native: #06 pc 000100b1  /system/lib/libutils.so (_ZN7android6Thread11_threadLoopEPv+112)
A/art: art/runtime/runtime.cc:366]   native: #07 pc 0006157b  /system/lib/libandroid_runtime.so (_ZN7android14AndroidRuntime15javaThreadShellEPv+70)
A/art: art/runtime/runtime.cc:366]   native: #08 pc 000416a3  /system/lib/libc.so (_ZL15__pthread_startPv+30)
A/art: art/runtime/runtime.cc:366]   native: #09 pc 00019275  /system/lib/libc.so (__start_thread+6)
A/art: art/runtime/runtime.cc:366]   (no managed stack frames)
A/art: art/runtime/runtime.cc:366] 
A/art: art/runtime/runtime.cc:366] "pool-2-thread-1" prio=5 tid=11 Waiting
A/art: art/runtime/runtime.cc:366]   | group="" sCount=1 dsCount=0 obj=0x12d46be0 self=0xb90e42a0
A/art: art/runtime/runtime.cc:366]   | sysTid=1547 nice=0 cgrp=default sched=0/0 handle=0xa129c930
A/art: art/runtime/runtime.cc:366]   | state=S schedstat=( 4631458 14536199 125 ) utm=0 stm=0 core=0 HZ=100
A/art: art/runtime/runtime.cc:366]   | stack=0xa119a000-0xa119c000 stackSize=1038KB
A/art: art/runtime/runtime.cc:366]   | held mutexes=
A/art: art/runtime/runtime.cc:366]   native: #00 pc 000168f0  /system/lib/libc.so (syscall+28)
A/art: art/runtime/runtime.cc:366]   native: #01 pc 000f5dad  /system/lib/libart.so (_ZN3art17ConditionVariable4WaitEPNS_6ThreadE+80)
A/art: art/runtime/runtime.cc:366]   native: #02 pc 002ae4cf  /system/lib/libart.so (_ZN3art7Monitor4WaitEPNS_6ThreadExibNS_11ThreadStateE+1114)
A/art: art/runtime/runtime.cc:366]   native: #02 pc 002ae4cf  /system/lib/libart.so (_ZN3art7Monitor4WaitEPNS_6ThreadExibNS_11ThreadStateE+1114)
A/art: art/runtime/runtime.cc:366]   | state=S schedstat=( 15397971 25056882 148 ) utm=1 stm=0 core=0 HZ=100
A/art: art/runtime/runtime.cc:366]   at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2013)
A/art: art/runtime/runtime.cc:366]   at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1078)
A/art: art/runtime/runtime.cc:366]   at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:806)
A/art: art/runtime/runtime.cc:366]   at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1036)
A/art: art/runtime/runtime.cc:366]   native: #01 pc 000f6009  /system/lib/libart.so (_ZN3art17ConditionVariable9TimedWaitEPNS_6ThreadExi+104)
A/art: art/runtime/runtime.cc:366]   native: #02 pc 002ae227  /system/lib/libart.so (_ZN3art7Monitor4WaitEPNS_6ThreadExibNS_11ThreadStateE+434)
A/art: art/runtime/runtime.cc:366]   native: #03 pc 002af18b  /system/lib/libart.so (_ZN3art7Monitor4WaitEPNS_6ThreadEPNS_6mirror6ObjectExibNS_11ThreadStateE+110)
A/art: art/runtime/runtime.cc:366]   at java.lang.Thread.run(Thread.java:818)
A/art: art/runtime/runtime.cc:366]   | state=S schedstat=( 4028437 52010993 140 ) utm=0 stm=0 core=0 HZ=100
A/art: art/runtime/runtime.cc:366]   native: #02 pc 002ae4cf  /system/lib/libart.so (_ZN3art7Monitor4WaitEPNS_6ThreadExibNS_11ThreadStateE+1114)
A/art: art/runtime/runtime.cc:366]   native: #04 pc 002c0089  /system/lib/libart.so (_ZN3artL13Object_waitJIEP7_JNIEnvP8_jobjectxi+36)
A/art: art/runtime/runtime.cc:366]   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1098)
A/art: art/runtime/runtime.cc:366]   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
A/art: art/runtime/runtime.cc:366]   at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1036)
A/art: art/runtime/runtime.cc:366]   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1098)
A/art: art/runtime/runtime.cc:366]   at java.lang.Thread.run(Thread.java:818)
A/art: art/runtime/runtime.cc:366]   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
A/art: art/runtime/runtime.cc:366]   at com.google.firebase.crashlytics.internal.common.ExecutorUtils$1$1.onRun(ExecutorUtils.java:64)
A/art: art/runtime/runtime.cc:366]   at com.google.firebase.crashlytics.internal.common.BackgroundPriorityRunnable.run(BackgroundPriorityRunnable.java:27)
A/art: art/runtime/runtime.cc:366]   | group="" sCount=1 dsCount=0 obj=0x12d269a0 self=0xb90e1f68
A/art: art/runtime/runtime.cc:366]   native: #01 pc 000f5dad  /system/lib/libart.so (_ZN3art17ConditionVariable4WaitEPNS_6ThreadE+80)
A/art: art/runtime/runtime.cc:366]   native: #02 pc 002ae4cf  /system/lib/libart.so (_ZN3art7Monitor4WaitEPNS_6ThreadExibNS_11ThreadStateE+1114)
A/art: art/runtime/runtime.cc:366]   native: #03 pc 002af18b  /system/lib/libart.so (_ZN3art7Monitor4WaitEPNS_6ThreadEPNS_6mirror6ObjectExibNS_11ThreadStateE+110)
A/art: art/runtime/runtime.cc:366] "pool-14-thread-1" prio=5 tid=23 TimedWaiting
A/art: art/runtime/runtime.cc:366]   | held mutexes=
A/art: art/runtime/runtime.cc:366]   native: #02 pc 002ae227  /system/lib/libart.so (_ZN3art7Monitor4WaitEPNS_6ThreadExibNS_11ThreadStateE+434)
A/art: art/runtime/runtime.cc:366]   native: #03 pc 002af18b  /system/lib/libart.so (_ZN3art7Monitor4WaitEPNS_6ThreadEPNS_6mirror6ObjectExibNS_11ThreadStateE+110)
A/art: art/runtime/runtime.cc:366]   | held mutexes=
A/art: art/runtime/runtime.cc:366]   native: #05 pc 00000575  /system/framework/arm/boot.oat (Java_java_lang_Object_wait__JI+96)
A/art: art/runtime/runtime.cc:366]   at java.lang.Object.wait!(Native method)
A/art: art/runtime/runtime.cc:366]   native: #02 pc 002ae227  /system/lib/libart.so (_ZN3art7Monitor4WaitEPNS_6ThreadExibNS_11ThreadStateE+434)
A/art: art/runtime/runtime.cc:366]   at java.lang.Thread.parkFor$(Thread.java:1220)
A/art: art/runtime/runtime.cc:366]   - locked <0x0658ef55> (a java.lang.Object)
A/art: art/runtime/runtime.cc:366]   at java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(SynchronousQueue.java:430)
A/art: art/runtime/runtime.cc:366]   at java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:332)
A/art: art/runtime/runtime.cc:366]   at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1036)
A/art: art/runtime/runtime.cc:366]   - waiting on <0x0c19625b> (a java.lang.Object)
A/art: art/runtime/runtime.cc:366]   at java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:332)
A/art: art/runtime/runtime.cc:366]   at java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:911)
A/art: art/runtime/runtime.cc:366]   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1098)
A/art: art/runtime/runtime.cc:366]   native: #01 pc 000f6009  /system/lib/libart.so (_ZN3art17ConditionVariable9TimedWaitEPNS_6ThreadExi+104)
A/art: art/runtime/runtime.cc:366]   at java.lang.Thread.run(Thread.java:818)
A/art: art/runtime/runtime.cc:366] 
A/art: art/runtime/runtime.cc:366] "firebase-installations-executor-2" prio=5 tid=29 TimedWaiting
A/art: art/runtime/runtime.cc:366]   | stack=0x9ebee000-0x9ebf0000 stackSize=1038KB
A/art: art/runtime/runtime.cc:366]   | held mutexes=
A/art: art/runtime/runtime.cc:366]   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
A/art: art/runtime/runtime.cc:366]   at java.lang.Thread.run(Thread.java:818)
A/art: art/runtime/runtime.cc:366]   | stack=0x9eae9000-0x9eaeb000 stackSize=1038KB
A/art: art/runtime/runtime.cc:366]   | held mutexes=
A/art: art/runtime/runtime.cc:366]   native: #00 pc 000168f4  /system/lib/libc.so (syscall+32)
A/art: art/runtime/runtime.cc:366]   native: #02 pc 002ae227  /system/lib/libart.so (_ZN3art7Monitor4WaitEPNS_6ThreadExibNS_11ThreadStateE+434)
A/art: art/runtime/runtime.cc:366]   | sysTid=1584 nice=10 cgrp=bg_non_interactive sched=0/0 handle=0x9efff930
A/art: art/runtime/runtime.cc:366]   native: #04 pc 0000057f  /system/framework/arm/boot.oat (Java_android_os_MessageQueue_nativePollOnce__JI+106)
A/art: art/runtime/runtime.cc:366]   at android.os.MessageQueue.nativePollOnce(Native method)
A/art: art/runtime/runtime.cc:366]   at android.os.MessageQueue.next(MessageQueue.java:323)
A/art: art/runtime/runtime.cc:366]   at android.os.Looper.loop(Looper.java:135)
A/art: art/runtime/runtime.cc:366]   at android.os.HandlerThread.run(HandlerThread.java:61)
A/art: art/runtime/runtime.cc:366] "GoogleApiHandler" prio=5 tid=31 Native
A/art: art/runtime/runtime.cc:366]   | group="" sCount=1 dsCount=0 obj=0x12d1e880 self=0xb91401f0
A/art: art/runtime/runtime.cc:366]   | sysTid=1586 nice=9 cgrp=default sched=0/0 handle=0x9eae6930
A/art: art/runtime/runtime.cc:366]   at android.os.HandlerThread.run(HandlerThread.java:61)
A/art: art/runtime/runtime.cc:366]   native: #02 pc 002ae4cf  /system/lib/libart.so (_ZN3art7Monitor4WaitEPNS_6ThreadExibNS_11ThreadStateE+1114)
A/art: art/runtime/runtime.cc:366]   native: #05 pc 00000575  /system/framework/arm/boot.oat (Java_java_lang_Object_wait__JI+96)
A/art: art/runtime/runtime.cc:366]   at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2013)
A/art: art/runtime/runtime.cc:366]   at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:410)
A/art: art/runtime/runtime.cc:366]   at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1036)
A/art: art/runtime/runtime.cc:366]   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1098)
A/art: art/runtime/runtime.cc:366] "pool-21-thread-1" prio=5 tid=33 Waiting
A/art: art/runtime/runtime.cc:366]   | group="" sCount=1 dsCount=0 obj=0x1306a6a0 self=0xb92272f0
A/art: art/runtime/runtime.cc:366]   | sysTid=1588 nice=0 cgrp=default sched=0/0 handle=0x9e8dc930
A/art: art/runtime/runtime.cc:366]   | state=S schedstat=( 34450422 34553179 232 ) utm=1 stm=2 core=0 HZ=100
A/art: art/runtime/runtime.cc:366]   | stack=0x9e7da000-0x9e7dc000 stackSize=1038KB
A/art: art/runtime/runtime.cc:366]   native: #05 pc 00000575  /system/framework/arm/boot.oat (Java_java_lang_Object_wait__JI+96)
A/art: art/runtime/runtime.cc:366]   at java.lang.Object.wait!(Native method)
A/art: art/runtime/runtime.cc:366]   - waiting on <0x0be6cfc2> (a java.lang.Object)
A/art: art/runtime/runtime.cc:366]   at java.lang.Thread.parkFor$(Thread.java:1220)
A/art: art/runtime/runtime.cc:366]   at sun.misc.Unsafe.park(Unsafe.java:299)
A/art: art/runtime/runtime.cc:366]   | state=S schedstat=( 4125103 23182973 141 ) utm=0 stm=0 core=2 HZ=100
A/art: art/runtime/runtime.cc:366]   | stack=0x9c7cb000-0x9c7cd000 stackSize=1038KB
A/art: art/runtime/runtime.cc:366]   native: #00 pc 000168f0  /system/lib/libc.so (syscall+28)
A/art: art/runtime/runtime.cc:366]   native: #04 pc 002c0089  /system/lib/libart.so (_ZN3artL13Object_waitJIEP7_JNIEnvP8_jobjectxi+36)
A/art: art/runtime/runtime.cc:366]   native: #05 pc 00000575  /system/framework/arm/boot.oat (Java_java_lang_Object_wait__JI+96)
A/art: art/runtime/runtime.cc:366]   at java.lang.Object.wait!(Native method)
A/art: art/runtime/runtime.cc:366]   - waiting on <0x069fc1d3> (a java.lang.Object)
A/art: art/runtime/runtime.cc:366]   at sun.misc.Unsafe.park(Unsafe.java:299)
A/art: art/runtime/runtime.cc:366]   at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2013)
A/art: art/runtime/runtime.cc:366]   at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1078)
A/art: art/runtime/runtime.cc:366]   at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:806)
A/art: art/runtime/runtime.cc:366]   at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1036)
A/art: art/runtime/runtime.cc:366]   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1098)
A/art: art/runtime/runtime.cc:366]   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
A/art: art/runtime/runtime.cc:366] 
A/art: art/runtime/runtime.cc:366] "Chartboost Thread #2" prio=5 tid=38 Waiting
A/art: art/runtime/runtime.cc:366]   | group="" sCount=1 dsCount=0 obj=0x132d77c0 self=0xb9319ad8
A/art: art/runtime/runtime.cc:366]   | state=S schedstat=( 4076465 25335577 147 ) utm=0 stm=0 core=0 HZ=100
A/art: art/runtime/runtime.cc:366]   | stack=0x9c6c1000-0x9c6c3000 stackSize=1038KB
A/art: art/runtime/runtime.cc:366]   native: #00 pc 000168f0  /system/lib/libc.so (syscall+28)
A/art: art/runtime/runtime.cc:366]   at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:806)
A/art: art/runtime/runtime.cc:366]   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
A/art: art/runtime/runtime.cc:366]   at java.lang.Thread.run(Thread.java:818)
A/art: art/runtime/runtime.cc:366] 
A/art: art/runtime/runtime.cc:366]   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1098)
A/art: art/runtime/runtime.cc:366] 
A/art: art/runtime/runtime.cc:366] "pool-22-thread-2" prio=5 tid=40 Waiting
A/art: art/runtime/runtime.cc:366]   | group="" sCount=1 dsCount=0 obj=0x132d7880 self=0xb931aae8
A/art: art/runtime/runtime.cc:366]   | sysTid=1596 nice=0 cgrp=default sched=0/0 handle=0x9c5af930
A/art: art/runtime/runtime.cc:366]   | state=S schedstat=( 22097966 36104953 190 ) utm=2 stm=0 core=2 HZ=100
A/art: art/runtime/runtime.cc:366]   | stack=0x9c4ad000-0x9c4af000 stackSize=1038KB
A/art: art/runtime/runtime.cc:366]   native: #00 pc 000168f0  /system/lib/libc.so (syscall+28)
A/art: art/runtime/runtime.cc:366]   native: #01 pc 000f5dad  /system/lib/libart.so (_ZN3art17ConditionVariable4WaitEPNS_6ThreadE+80)
A/art: art/runtime/runtime.cc:366]   native: #02 pc 002ae4cf  /system/lib/libart.so (_ZN3art7Monitor4WaitEPNS_6ThreadExibNS_11ThreadStateE+1114)
A/art: art/runtime/runtime.cc:366]   native: #03 pc 002af18b  /system/lib/libart.so (_ZN3art7Monitor4WaitEPNS_6ThreadEPNS_6mirror6ObjectExibNS_11ThreadStateE+110)
A/art: art/runtime/runtime.cc:366]   native: #05 pc 00000575  /system/framework/arm/boot.oat (Java_java_lang_Object_wait__JI+96)
A/art: art/runtime/runtime.cc:366]   - waiting on <0x0d1aa82f> (a java.lang.Object)
A/art: art/runtime/runtime.cc:366]   at java.lang.Thread.parkFor$(Thread.java:1220)
A/art: art/runtime/runtime.cc:366]   - locked <0x0d1aa82f> (a java.lang.Object)
A/art: art/runtime/runtime.cc:366]   at sun.misc.Unsafe.park(Unsafe.java:299)
A/art: art/runtime/runtime.cc:366]   at java.util.concurrent.locks.LockSupport.park(LockSupport.java:158)
A/art: art/runtime/runtime.cc:366]   at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2013)
A/art: art/runtime/runtime.cc:366]   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
A/art: art/runtime/runtime.cc:366] 
A/art: art/runtime/runtime.cc:366] "pool-22-thread-3" prio=5 tid=41 Waiting
A/art: art/runtime/runtime.cc:366]   | group="" sCount=1 dsCount=0 obj=0x132d78e0 self=0xb931b358
A/art: art/runtime/runtime.cc:366]   | sysTid=1597 nice=0 cgrp=default sched=0/0 handle=0x9c4a8930
A/art: art/runtime/runtime.cc:366]   | state=S schedstat=( 18613436 36037446 177 ) utm=0 stm=1 core=2 HZ=100
A/art: art/runtime/runtime.cc:366]   native: #00 pc 000168f0  /system/lib/libc.so (syscall+28)
A/art: art/runtime/runtime.cc:366]   native: #01 pc 000f5dad  /system/lib/libart.so (_ZN3art17ConditionVariable4WaitEPNS_6ThreadE+80)
A/art: art/runtime/runtime.cc:366]   native: #02 pc 002ae4cf  /system/lib/libart.so (_ZN3art7Monitor4WaitEPNS_6ThreadExibNS_11ThreadStateE+1114)
A/art: art/runtime/runtime.cc:366]   native: #03 pc 002af18b  /system/lib/libart.so (_ZN3art7Monitor4WaitEPNS_6ThreadEPNS_6mirror6ObjectExibNS_11ThreadStateE+110)
A/art: art/runtime/runtime.cc:366]   native: #04 pc 002c0089  /system/lib/libart.so (_ZN3artL13Object_waitJIEP7_JNIEnvP8_jobjectxi+36)
A/art: art/runtime/runtime.cc:366]   native: #05 pc 00000575  /system/framework/arm/boot.oat (Java_java_lang_Object_wait__JI+96)
A/art: art/runtime/runtime.cc:366]   at java.lang.Object.wait!(Native method)
A/art: art/runtime/runtime.cc:366]   - waiting on <0x06f21e3c> (a java.lang.Object)
A/art: art/runtime/runtime.cc:366]   at java.lang.Thread.parkFor$(Thread.java:1220)
A/art: art/runtime/runtime.cc:366]   at java.util.concurrent.PriorityBlockingQueue.take(PriorityBlockingQueue.java:510)
A/art: art/runtime/runtime.cc:366]   at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1036)
A/art: art/runtime/runtime.cc:366]   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1098)
A/art: art/runtime/runtime.cc:366]   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
A/art: art/runtime/runtime.cc:366]   at java.lang.Thread.run(Thread.java:818)
A/art: art/runtime/runtime.cc:366] "pool-22-thread-4" prio=5 tid=42 Waiting
A/art: art/runtime/runtime.cc:366]   | group="" sCount=1 dsCount=0 obj=0x132d7940 self=0xb931bcb0
A/art: art/runtime/runtime.cc:366]   | sysTid=1598 nice=0 cgrp=default sched=0/0 handle=0x9c39b930
A/art: art/runtime/runtime.cc:366]   | state=S schedstat=( 4009587 22143855 149 ) utm=0 stm=0 core=2 HZ=100
A/art: art/runtime/runtime.cc:366]   | stack=0x9c299000-0x9c29b000 stackSize=1038KB
A/art: art/runtime/runtime.cc:366]   native: #00 pc 000168f0  /system/lib/libc.so (syscall+28)
A/art: art/runtime/runtime.cc:366]   native: #02 pc 002ae4cf  /system/lib/libart.so (_ZN3art7Monitor4WaitEPNS_6ThreadExibNS_11ThreadStateE+1114)
A/art: art/runtime/runtime.cc:366]   native: #03 pc 002af18b  /system/lib/libart.so (_ZN3art7Monitor4WaitEPNS_6ThreadEPNS_6mirror6ObjectExibNS_11ThreadStateE+110)
A/art: art/runtime/runtime.cc:366]   native: #05 pc 00000575  /system/framework/arm/boot.oat (Java_java_lang_Object_wait__JI+96)
A/art: art/runtime/runtime.cc:366]   - waiting on <0x08b557c5> (a java.lang.Object)
A/art: art/runtime/runtime.cc:366]   at java.lang.Thread.parkFor$(Thread.java:1220)
A/art: art/runtime/runtime.cc:366]   - locked <0x08b557c5> (a java.lang.Object)
A/art: art/runtime/runtime.cc:366]   at sun.misc.Unsafe.park(Unsafe.java:299)
A/art: art/runtime/runtime.cc:366]   at java.util.concurrent.locks.LockSupport.park(LockSupport.java:158)
A/art: art/runtime/runtime.cc:366]   at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1036)
A/art: art/runtime/runtime.cc:366]   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1098)
A/art: art/runtime/runtime.cc:366]   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
A/art: art/runtime/runtime.cc:366]   at java.lang.Thread.run(Thread.java:818)
A/art: art/runtime/runtime.cc:366] 
A/art: art/runtime/runtime.cc:366] "AsyncTask #1" prio=5 tid=44 TimedWaiting
A/art: art/runtime/runtime.cc:366]   | state=S schedstat=( 5900525 85978655 180 ) utm=0 stm=0 core=2 HZ=100
A/art: art/runtime/runtime.cc:366]   | stack=0x9ba57000-0x9ba59000 stackSize=1038KB
A/art: art/runtime/runtime.cc:366]   | held mutexes=
A/art: art/runtime/runtime.cc:366]   native: #00 pc 000168f4  /system/lib/libc.so (syscall+32)
A/art: art/runtime/runtime.cc:366]   native: #01 pc 000f6009  /system/lib/libart.so (_ZN3art17ConditionVariable9TimedWaitEPNS_6ThreadExi+104)
A/art: art/runtime/runtime.cc:366]   native: #02 pc 002ae227  /system/lib/libart.so (_ZN3art7Monitor4WaitEPNS_6ThreadExibNS_11ThreadStateE+434)
A/art: art/runtime/runtime.cc:366]   native: #03 pc 002af18b  /system/lib/libart.so (_ZN3art7Monitor4WaitEPNS_6ThreadEPNS_6mirror6ObjectExibNS_11ThreadStateE+110)
A/art: art/runtime/runtime.cc:366]   native: #04 pc 002c0089  /system/lib/libart.so (_ZN3artL13Object_waitJIEP7_JNIEnvP8_jobjectxi+36)
A/art: art/runtime/runtime.cc:366]   at java.lang.Object.wait!(Native method)
A/art: art/runtime/runtime.cc:366]   at java.lang.Thread.parkFor$(Thread.java:1220)
A/art: art/runtime/runtime.cc:366]   at sun.misc.Unsafe.park(Unsafe.java:299)
A/art: art/runtime/runtime.cc:366]   at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:198)
A/art: art/runtime/runtime.cc:366]   at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1036)
A/art: art/runtime/runtime.cc:366]   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
A/art: art/runtime/runtime.cc:366]   | state=S schedstat=( 20157447 26527762 172 ) utm=2 stm=0 core=0 HZ=100
A/art: art/runtime/runtime.cc:366]   | stack=0x9bb5c000-0x9bb5e000 stackSize=1038KB
A/art: art/runtime/runtime.cc:366]   native: #05 pc 00000575  /system/framework/arm/boot.oat (Java_java_lang_Object_wait__JI+96)
A/art: art/runtime/runtime.cc:366]   at java.lang.Object.wait!(Native method)
A/art: art/runtime/runtime.cc:366]   at java.util.concurrent.locks.LockSupport.park(LockSupport.java:158)
A/art: art/runtime/runtime.cc:366]   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1098)
A/art: art/runtime/runtime.cc:366] "GoogleApiHandler" prio=5 tid=45 Native
A/art: art/runtime/runtime.cc:366]   | group="" sCount=1 dsCount=0 obj=0x134152e0 self=0xb9342ff0
A/art: art/runtime/runtime.cc:366]   | sysTid=1619 nice=9 cgrp=default sched=0/0 handle=0x9ba34930
A/art: art/runtime/runtime.cc:366]   native: #02 pc 003e19ad  /system/lib/libart.so (_ZN3artL12GoToRunnableEPNS_6ThreadE+500)
A/art: art/runtime/runtime.cc:366]   native: #03 pc 000e54cd  /system/lib/libart.so (_ZN3art12JniMethodEndEjPNS_6ThreadE+8)
A/art: art/runtime/runtime.cc:366]   at android.os.MessageQueue.next(MessageQueue.java:323)
A/art: art/runtime/runtime.cc:366]   at android.os.Looper.loop(Looper.java:135)
A/art: art/runtime/runtime.cc:366]   | sysTid=1620 nice=-4 cgrp=default sched=0/0 handle=0x9b19f930
A/art: art/runtime/runtime.cc:366]   native: #02 pc 000195ad  /system/lib/libc.so (epoll_wait+6)
A/art: art/runtime/runtime.cc:366] 
A/art: art/runtime/runtime.cc:366] "TaskSchedulerFo" prio=5 tid=47 Native
A/art: art/runtime/runtime.cc:366]   | state=S schedstat=( 4506988 8755672 151 ) utm=0 stm=0 core=2 HZ=100
A/art: art/runtime/runtime.cc:366]   native: #02 pc 000415a3  /system/lib/libc.so (pthread_cond_timedwait_monotonic+26)
A/art: art/runtime/runtime.cc:366]   | group="" sCount=1 dsCount=0 obj=0x13448580 self=0xb93dd880
A/art: art/runtime/runtime.cc:366]   | sysTid=1633 nice=0 cgrp=default sched=0/0 handle=0x9a7dd930
A/art: art/runtime/runtime.cc:366]   native: #01 pc 000f5dad  /system/lib/libart.so (_ZN3art17ConditionVariable4WaitEPNS_6ThreadE+80)
A/art: art/runtime/runtime.cc:366]   native: #02 pc 002ae4cf  /system/lib/libart.so (_ZN3art7Monitor4WaitEPNS_6ThreadExibNS_11ThreadStateE+1114)
A/art: art/runtime/runtime.cc:366]   at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2013)
A/art: art/runtime/runtime.cc:366]   at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:410)
A/art: art/runtime/runtime.cc:366]   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
A/art: art/runtime/runtime.cc:366] "GAC_Executor[0]" prio=5 tid=49 Waiting
A/art: art/runtime/runtime.cc:366]   | group="" sCount=1 dsCount=0 obj=0x1347c160 self=0xb93ed100
A/art: art/runtime/runtime.cc:366]   | held mutexes=
A/art: art/runtime/runtime.cc:366]   native: #00 pc 000168f0  /system/lib/libc.so (syscall+28)
A/art: art/runtime/runtime.cc:366]   native: #05 pc 00000575  /system/framework/arm/boot.oat (Java_java_lang_Object_wait__JI+96)
A/art: art/runtime/runtime.cc:366]   at java.lang.Object.wait!(Native method)
A/art: art/runtime/runtime.cc:366]   at java.lang.Thread.parkFor$(Thread.java:1220)
A/art: art/runtime/runtime.cc:366]   | sysTid=1637 nice=0 cgrp=default sched=0/0 handle=0x9a49b930
A/art: art/runtime/runtime.cc:366]   | held mutexes=
A/art: art/runtime/runtime.cc:366]   native: #00 pc 000168f4  /system/lib/libc.so (syscall+32)
A/art: art/runtime/runtime.cc:366]   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1098)
A/art: art/runtime/runtime.cc:366] 
A/art: art/runtime/runtime.cc:366] "pool-24-thread-1" prio=5 tid=52 TimedWaiting
A/art: art/runtime/runtime.cc:366]   | stack=0x9a28c000-0x9a28e000 stackSize=1038KB
A/art: art/runtime/runtime.cc:366]   native: #00 pc 000168f4  /system/lib/libc.so (syscall+32)
A/art: art/runtime/runtime.cc:366]   native: #03 pc 002af18b  /system/lib/libart.so (_ZN3art7Monitor4WaitEPNS_6ThreadEPNS_6mirror6ObjectExibNS_11ThreadStateE+110)
A/art: art/runtime/runtime.cc:366]   native: #05 pc 00000575  /system/framework/arm/boot.oat (Java_java_lang_Object_wait__JI+96)
A/art: art/runtime/runtime.cc:366]   at java.lang.Thread.parkFor$(Thread.java:1220)
A/art: art/runtime/runtime.cc:366]   at sun.misc.Unsafe.park(Unsafe.java:299)
A/art: art/runtime/runtime.cc:366]   at java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:911)
A/art: art/runtime/runtime.cc:366]   at java.lang.Thread.run(Thread.java:818)
A/art: art/runtime/runtime.cc:366] 
A/art: art/runtime/runtime.cc:366]   | group="" sCount=1 dsCount=0 obj=0x1353d0a0 self=0xb941b7d8
A/art: art/runtime/runtime.cc:366]   | state=S schedstat=( 164865105 40714694 391 ) utm=10 stm=6 core=3 HZ=100
A/art: art/runtime/runtime.cc:366]   | stack=0x99f6c000-0x99f6e000 stackSize=1014KB
A/art: art/runtime/runtime.cc:366]   native: #00 pc 00042ad8  /system/lib/libc.so (__epoll_pwait+20)
A/art: art/runtime/runtime.cc:366]   native: #01 pc 0001959f  /system/lib/libc.so (epoll_pwait+26)
A/art: art/runtime/runtime.cc:366]   native: #02 pc 000195ad  /system/lib/libc.so (epoll_wait+6)
A/art: art/runtime/runtime.cc:366]   native: #04 pc 00012feb  /system/lib/libutils.so (_ZN7android6Looper8pollOnceEiPiS1_PPv+130)
A/art: art/runtime/runtime.cc:366]   (no managed stack frames)
A/art: art/runtime/runtime.cc:366]   | group="" sCount=1 dsCount=0 obj=0x134e9be0 self=0xb9413fc0
A/art: art/runtime/runtime.cc:366]   | held mutexes=
A/art: art/runtime/runtime.cc:366]   native: #01 pc 000f5dad  /system/lib/libart.so (_ZN3art17ConditionVariable4WaitEPNS_6ThreadE+80)
A/art: art/runtime/runtime.cc:366]   native: #02 pc 003e19ad  /system/lib/libart.so (_ZN3artL12GoToRunnableEPNS_6ThreadE+500)
A/art: art/runtime/runtime.cc:366]   native: #04 pc 0000057f  /system/framework/arm/boot.oat (Java_android_os_MessageQueue_nativePollOnce__JI+106)
A/art: art/runtime/runtime.cc:366]   at android.os.HandlerThread.run(HandlerThread.java:61)
A/art: art/runtime/runtime.cc:366] "AsyncTask #3" prio=5 tid=55 Waiting
A/art: art/runtime/runtime.cc:366]   | state=S schedstat=( 5215311 14350471 167 ) utm=0 stm=0 core=1 HZ=100
A/art: art/runtime/runtime.cc:366]   | stack=0x99e3d000-0x99e3f000 stackSize=1038KB
A/art: art/runtime/runtime.cc:366]   native: #03 pc 002af18b  /system/lib/libart.so (_ZN3art7Monitor4WaitEPNS_6ThreadEPNS_6mirror6ObjectExibNS_11ThreadStateE+110)
A/art: art/runtime/runtime.cc:366]   native: #04 pc 002c0089  /system/lib/libart.so (_ZN3artL13Object_waitJIEP7_JNIEnvP8_jobjectxi+36)
A/art: art/runtime/runtime.cc:366]   native: #05 pc 00000575  /system/framework/arm/boot.oat (Java_java_lang_Object_wait__JI+96)
A/art: art/runtime/runtime.cc:366]   at java.lang.Object.wait!(Native method)
A/art: art/runtime/runtime.cc:366]   - locked <0x04acc5c3> (a java.lang.Object)
A/art: art/runtime/runtime.cc:366]   at java.util.concurrent.locks.LockSupport.park(LockSupport.java:158)
A/art: art/runtime/runtime.cc:366]   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1098)
A/art: art/runtime/runtime.cc:366]   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
A/art: art/runtime/runtime.cc:366] "AsyncTask #4" prio=5 tid=56 Waiting
A/art: art/runtime/runtime.cc:366]   | group="" sCount=1 dsCount=0 obj=0x135890a0 self=0xb93b3580
A/art: art/runtime/runtime.cc:366]   native: #00 pc 000168f0  /system/lib/libc.so (syscall+28)
A/art: art/runtime/runtime.cc:366]   at java.lang.Object.wait!(Native method)
A/art: art/runtime/runtime.cc:366]   at java.lang.Thread.parkFor$(Thread.java:1220)
A/art: art/runtime/runtime.cc:366]   at sun.misc.Unsafe.park(Unsafe.java:299)
A/art: art/runtime/runtime.cc:366]   at java.util.concurrent.locks.LockSupport.park(LockSupport.java:158)
A/art: art/runtime/runtime.cc:366]   at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2013)
A/art: art/runtime/runtime.cc:366]   | group="" sCount=1 dsCount=0 obj=0x1358f0a0 self=0xb93b2250
A/art: art/runtime/runtime.cc:366]   | held mutexes=
A/art: art/runtime/runtime.cc:366]   native: #01 pc 00049681  /system/lib/libc.so (ioctl+14)
A/art: art/runtime/runtime.cc:366]   native: #04 pc 0001ee8d  /system/lib/libbinder.so (_ZN7android14IPCThreadState14joinThreadPoolEb+48)
A/art: art/runtime/runtime.cc:366]   native: #07 pc 0006157b  /system/lib/libandroid_runtime.so (_ZN7android14AndroidRuntime15javaThreadShellEPv+70)
A/art: art/runtime/runtime.cc:366]   native: #09 pc 00019275  /system/lib/libc.so (__start_thread+6)
A/art: art/runtime/runtime.cc:366]   native: #00 pc 000168f0  /system/lib/libc.so (syscall+28)
A/art: art/runtime/runtime.cc:366]   (no managed stack frames)
A/art: art/runtime/runtime.cc:366] 
A/art: art/runtime/runtime.cc:366]   | stack=0x99b3a000-0x99b3c000 stackSize=1014KB
A/art: art/runtime/runtime.cc:366]   | held mutexes=
A/art: art/runtime/runtime.cc:366]   native: #00 pc 000168f0  /system/lib/libc.so (syscall+28)
A/art: art/runtime/runtime.cc:366]   native: #03 pc 0006157b  /system/lib/libandroid_runtime.so (_ZN7android14AndroidRuntime15javaThreadShellEPv+70)
A/art: art/runtime/runtime.cc:366]   (no managed stack frames)
A/art: art/runtime/runtime.cc:366]   | state=S schedstat=( 4722078 7032394 145 ) utm=0 stm=0 core=2 HZ=100
A/art: art/runtime/runtime.cc:366]   native: #01 pc 000f5dad  /system/lib/libart.so (_ZN3art17ConditionVariable4WaitEPNS_6ThreadE+80)
A/art: art/runtime/runtime.cc:366]   native: #03 pc 002af18b  /system/lib/libart.so (_ZN3art7Monitor4WaitEPNS_6ThreadEPNS_6mirror6ObjectExibNS_11ThreadStateE+110)
A/art: art/runtime/runtime.cc:366]   native: #04 pc 002c0089  /system/lib/libart.so (_ZN3artL13Object_waitJIEP7_JNIEnvP8_jobjectxi+36)
A/art: art/runtime/runtime.cc:366]   native: #05 pc 00000575  /system/framework/arm/boot.oat (Java_java_lang_Object_wait__JI+96)
A/art: art/runtime/runtime.cc:366]   at java.lang.Object.wait!(Native method)
A/art: art/runtime/runtime.cc:366]   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1098)
A/art: art/runtime/runtime.cc:366]   at com.google.android.gms.internal.zzbmy.run(PriorityRunnable.java:5)
A/art: art/runtime/runtime.cc:366]   | state=S schedstat=( 4948023 8716195 160 ) utm=0 stm=0 core=1 HZ=100
A/art: art/runtime/runtime.cc:366]   native: #03 pc 002af18b  /system/lib/libart.so (_ZN3art7Monitor4WaitEPNS_6ThreadEPNS_6mirror6ObjectExibNS_11ThreadStateE+110)
A/art: art/runtime/runtime.cc:366]   at java.lang.Object.wait!(Native method)
A/art: art/runtime/runtime.cc:366]   at com.android.okhttp.okio.AsyncTimeout.awaitTimeout(AsyncTimeout.java:323)
A/art: art/runtime/runtime.cc:366]   - locked <0x02e6d7d5> (a java.lang.Class<com.android.okhttp.okio.AsyncTimeout>)
A/art: art/runtime/runtime.cc:366]   at com.android.okhttp.okio.AsyncTimeout.access$000(AsyncTimeout.java:40)
A/art: art/runtime/runtime.cc:366]   at com.android.okhttp.okio.AsyncTimeout$Watchdog.run(AsyncTimeout.java:286)
A/art: art/runtime/runtime.cc:366]   | stack=0x986aa000-0x986ac000 stackSize=1038KB
A/art: art/runtime/runtime.cc:366]   | held mutexes=
A/art: art/runtime/runtime.cc:366]   at java.lang.Object.wait!(Native method)
A/art: art/runtime/runtime.cc:366]   at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2053)
A/art: art/runtime/runtime.cc:366]   at java.util.concurrent.ArrayBlockingQueue.poll(ArrayBlockingQueue.java:372)
A/art: art/runtime/runtime.cc:366] 
A/art: art/runtime/runtime.cc:366] "OkHttp ConnectionPool" prio=5 tid=63 TimedWaiting
A/art: art/runtime/runtime.cc:366]   | stack=0x983a5000-0x983a7000 stackSize=1038KB
A/art: art/runtime/runtime.cc:366]   native: #00 pc 000168f4  /system/lib/libc.so (syscall+32)
A/art: art/runtime/runtime.cc:366]   at java.lang.Thread.run(Thread.java:818)

It doesn't happen every time in the situation I described, but extremely frequently. Can you confirm whether it is a bug and if so, recommend a workaround before the fix?

Steps to reproduce:

Have you been able to reproduce this issue with just the Firebase C++ quickstarts ? What's the issue repro rate? (eg 100%, 1/5 etc)

What happened? How can we make the problem occur? This could be a description, log/console output, etc.

No, you guys don't keep your samples up to date to be built with recent build tools, side-by-side NDK etc. plus they require too much setup.

solodon4 avatar Nov 20 '21 01:11 solodon4

Hi @solodon4,

Looking at the code, the user_info data is deleted and reconstructed whenever User::provider_data() is called. This would be when the global reference is removed. Is it possible that provider_data() is being invoked on that user in another thread, or other auth operations are occuring on a different thread?

I haven't been able to reproduce this locally. Is there any way you could provide a minimal reproducible test case for this? Thanks!

DellaBitta avatar Dec 21 '21 15:12 DellaBitta

Hi @DellaBitta!

I checked my code and the snippet I provided happens right before I register a global AuthStateListener, which happens on the GL thread that cocos2d-x does everything else:

authenticator->AddAuthStateListener(&auth_listener); // register global authentication state change listener

That said, however, I've just hit a similar issue in a different part of code, and it, again, happens on the cocos2d thread inside the state change handler of the above listener:

struct AuthListener : ::firebase::auth::AuthStateListener
{
    void OnAuthStateChanged(::firebase::auth::Auth* auth) override
    {
        assert(auth == authenticator); // Since we only have one in the app and didn't bother to pass it as parameter below
        ::firebase::auth::User* user = auth->current_user();
        others::crash::set_user_id(user ? user->uid() : ""); // <== SIGABRT here in call to uid()
        // ... custom logic
    }
} auth_listener;

The interesting point here is that if you look at the call stack below, you'll see that the state change handler is called right away from the call to register the listener itself. Here is the call stack of thread Thread-35-[GLThread 528] where the SIGABRT appears:

tgkill 0x00000000b6ce8194
pthread_kill 0x00000000b6ce5da4
raise 0x00000000b6cbfa42
__libc_android_abort 0x00000000b6cbcbf4
abort 0x00000000b6cba7bc
art::Runtime::Abort() 0x00000000b4b52474
art::LogMessage::~LogMessage() 0x00000000b4926a2c
art::JavaVMExt::JniAbort(char const*, char const*) 0x00000000b4a81150
art::JavaVMExt::JniAbortF(char const*, char const*, ...) 0x00000000b4a8154e
art::Thread::DecodeJObject(_jobject*) const 0x00000000b4b6ed1e
art::ScopedCheck::Check(art::ScopedObjectAccess&, bool, char const*, art::JniValueType*) (.constprop.95) 0x00000000b4932b22
art::CheckJNI::CallMethodV(char const*, _JNIEnv*, _jobject*, _jclass*, _jmethodID*, std::__va_list, art::Primitive::Type, art::InvokeType) 0x00000000b4941940
art::CheckJNI::CallObjectMethodV(_JNIEnv*, _jobject*, _jmethodID*, std::__va_list) 0x00000000b4942ec8
_JNIEnv::CallObjectMethod(_jobject*, _jmethodID*, ...) jni.h:618
firebase::auth::GetUserProperty(firebase::auth::AuthData*, _jobject*, firebase::auth::userinfo::Method, firebase::auth::PropertyType) 0x000000009e358dd8
firebase::auth::GetUID(firebase::auth::AuthData*, _jobject*) 0x000000009e357540
firebase::auth::User::uid() const 0x000000009e357536
AuthListener::OnAuthStateChanged(firebase::auth::Auth*) plugins.cpp:112
firebase::auth::Auth::AddAuthStateListener(firebase::auth::AuthStateListener*) 0x000000009e349ee0
others::initialize() plugins.cpp:3281
AppDelegate::applicationDidFinishLaunching() AppDelegate.cpp:548
cocos2d::Application::run() CCApplication-android.cpp:72
::Java_org_cocos2dx_lib_Cocos2dxRenderer_nativeInit(JNIEnv *, jobject, jint, jint) javaactivity-android.cpp:97
void org.cocos2dx.lib.Cocos2dxRenderer.nativeInit(int, int) 0x00000000a3b29d8e
void org.cocos2dx.lib.Cocos2dxRenderer.onSurfaceCreated(javax.microedition.khronos.opengles.GL10, javax.microedition.khronos.egl.EGLConfig) 0x00000000a3b2ad78

And here is the content of the stack of the very first thread Thread-1-[main]:

syscall 0x00000000b6cba8f0
__pthread_mutex_lock_with_timeout(pthread_mutex_internal_t*, timespec const*, int) 0x00000000b6ce5f04
pthread_mutex_lock 0x00000000b6ce60b8
firebase::Mutex::Acquire() 0x000000009e34a3c4
firebase::MutexLock::MutexLock(firebase::Mutex&) 0x000000009e34a3c0
firebase::auth::NotifyIdTokenListeners(firebase::auth::AuthData*) 0x000000009e34a3be

which seems weird, as it clearly is related to firebase::auth. Is it possible that this happens due to the global listener and you guys allocating the first thread in the dynamic initializer of that global instance?

Also, based on your questions, are we supposed to make all firebase::auth calls from the main thread only, or are there some precautions we have to make before making them from other threads (like calling JNI AttachCurrentThread/DetachCurrentThread)? I don't remember seeing anything on this in the firebase documentation, so can you elaborate, please?

Thank you! Yuriy

solodon4 avatar Dec 24 '21 03:12 solodon4

Hi @solodon4,

I wasn't able to reproduce this locally. I altered the quickstart auth application to sign-in a user only. I then ran it, and quit. Then altered the code to re-use the exisitng user session, added a listenter to output the user's uid() when it's invoked, and also spawned threads to print out the user uid() at "the same time".

As we look into this further, could you try a work around of setting a flag in the callback and use the flag to signal your main game loop thread to perform whatever user operations that you need?

DellaBitta avatar Feb 03 '22 15:02 DellaBitta

I'm going to close this as we weren't able to reproduce this issue. If you have a test case we can run then please open a new issue and link this one to it so that we have some historical context. Thanks!a

DellaBitta avatar Mar 24 '23 17:03 DellaBitta