Search Unity

  1. Megacity Metro Demo now available. Download now.
    Dismiss Notice
  2. Unity support for visionOS is now available. Learn more in our blog post.
    Dismiss Notice

Bug PlayBillingLibrary crashing app on Android

Discussion in 'Unity IAP' started by pablo_leban, Jun 5, 2023.

  1. pablo_leban

    pablo_leban

    Joined:
    Sep 19, 2013
    Posts:
    68
    Hey! So recently my game is in bad behaviour threshold on Google Play due to a recent crash that's affecting a portion of the playerbase.

    I'm on Unity 2021.3.22f1 and In-App Purchasing 4.7.0

    Symbolicated Crash of the blocking thread:

    PlayBillingLibrary-1 (native):tid=101 systid=21128
    #00 pc 0x9ea60 libc.so (__rt_sigsuspend + 12) (BuildId: a0c469c7485aa769a99d4372acef49f6)
    #01 pc 0x6d9ab libc.so (sigsuspend + 30) (BuildId: a0c469c7485aa769a99d4372acef49f6)
    #02 pc 0x3c4ea8 libil2cpp.so (GC_suspend_handler_inner) (BuildId: 0ea4f57c3f7ae20d0e22d956ff8f36507472d2cf)
    #03 pc 0x3c4dac libil2cpp.so (GC_suspend_handler) (BuildId: 0ea4f57c3f7ae20d0e22d956ff8f36507472d2cf)
    #04 pc 0x5e188 libc.so (__restore_rt) (BuildId: a0c469c7485aa769a99d4372acef49f6)
    #05 pc 0x3fecd8 libil2cpp.so (google::sparse_hashtable<std::__ndk1::pair<KeyWrapper<Il2CppGenericMethod const*> const, Il2CppGenericMethodIndices const*>, KeyWrapper<Il2CppGenericMethod const*>, il2cpp::metadata::Il2CppGenericMethodHash, google::sparse_hash_map<KeyWrapper<Il2CppGenericMethod const*>, Il2CppGenericMethodIndices const*, il2cpp::metadata::Il2CppGenericMethodHash, KeyWrapper<Il2CppGenericMethod const*>::EqualsComparer<il2cpp::metadata::Il2CppGenericMethodCompare>, google::libc_allocator_with_realloc<std::__ndk1::pair<KeyWrapper<Il2CppGenericMethod const*> const, Il2CppGenericMethodIndices const*> > >::SelectKey, google::sparse_hash_map<KeyWrapper<Il2CppGenericMethod const*>, Il2CppGenericMethodIndices const*, il2cpp::metadata::Il2CppGenericMethodHash, KeyWrapper<Il2CppGenericMethod const*>::EqualsComparer<il2cpp::metadata::Il2CppGenericMethodCompare>, google::libc_allocator_with_realloc<std::__ndk1::pair<KeyWrapper<Il2CppGenericMethod const*> const, Il2CppGenericMethodIndices const*> > >::SetKey, KeyWrapper<Il2CppGenericMethod const*>::EqualsComparer<il2cpp::metadata::Il2CppGenericMethodCompare>, google::libc_allocator_with_realloc<std::__ndk1::pair<KeyWrapper<Il2CppGenericMethod const*> const, Il2CppGenericMethodIndices const*> > >::find_position(KeyWrapper<Il2CppGenericMethod const*> const&) const) (BuildId: 0ea4f57c3f7ae20d0e22d956ff8f36507472d2cf)
    #06 pc 0x3feb0c libil2cpp.so (google::sparse_hashtable<std::__ndk1::pair<KeyWrapper<Il2CppGenericMethod const*> const, Il2CppGenericMethodIndices const*>, KeyWrapper<Il2CppGenericMethod const*>, il2cpp::metadata::Il2CppGenericMethodHash, google::sparse_hash_map<KeyWrapper<Il2CppGenericMethod const*>, Il2CppGenericMethodIndices const*, il2cpp::metadata::Il2CppGenericMethodHash, KeyWrapper<Il2CppGenericMethod const*>::EqualsComparer<il2cpp::metadata::Il2CppGenericMethodCompare>, google::libc_allocator_with_realloc<std::__ndk1::pair<KeyWrapper<Il2CppGenericMethod const*> const, Il2CppGenericMethodIndices const*> > >::SelectKey, google::sparse_hash_map<KeyWrapper<Il2CppGenericMethod const*>, Il2CppGenericMethodIndices const*, il2cpp::metadata::Il2CppGenericMethodHash, KeyWrapper<Il2CppGenericMethod const*>::EqualsComparer<il2cpp::metadata::Il2CppGenericMethodCompare>, google::libc_allocator_with_realloc<std::__ndk1::pair<KeyWrapper<Il2CppGenericMethod const*> const, Il2CppGenericMethodIndices const*> > >::SetKey, KeyWrapper<Il2CppGenericMethod const*>::EqualsComparer<il2cpp::metadata::Il2CppGenericMethodCompare>, google::libc_allocator_with_realloc<std::__ndk1::pair<KeyWrapper<Il2CppGenericMethod const*> const, Il2CppGenericMethodIndices const*> > >::find(KeyWrapper<Il2CppGenericMethod const*> const&)) (BuildId: 0ea4f57c3f7ae20d0e22d956ff8f36507472d2cf)
    #07 pc 0x3eebd0 libil2cpp.so (il2cpp::vm::MetadataCache::GetGenericMethodPointers(MethodInfo const*, Il2CppGenericContext const*)) (BuildId: 0ea4f57c3f7ae20d0e22d956ff8f36507472d2cf)
    #08 pc 0x48950c libil2cpp.so (il2cpp::metadata::GenericMethod::CreateMethodLocked(Il2CppGenericMethod const*, bool)) (BuildId: 0ea4f57c3f7ae20d0e22d956ff8f36507472d2cf)
    #09 pc 0x489004 libil2cpp.so (il2cpp::metadata::GenericMethod::GetMethod(Il2CppGenericMethod const*, bool)) (BuildId: 0ea4f57c3f7ae20d0e22d956ff8f36507472d2cf)
    #10 pc 0x46cbe0 libil2cpp.so (il2cpp::metadata::GenericMetadata::InflateRGCTXLocked(Il2CppImage const*, unsigned int, Il2CppGenericContext const*, il2cpp::os::FastAutoLock const&)) (BuildId: 0ea4f57c3f7ae20d0e22d956ff8f36507472d2cf)
    #11 pc 0x4894c4 libil2cpp.so (il2cpp::metadata::GenericMethod::CreateMethodLocked(Il2CppGenericMethod const*, bool)) (BuildId: 0ea4f57c3f7ae20d0e22d956ff8f36507472d2cf)
    #12 pc 0x489004 libil2cpp.so (il2cpp::metadata::GenericMethod::GetMethod(Il2CppGenericMethod const*, bool)) (BuildId: 0ea4f57c3f7ae20d0e22d956ff8f36507472d2cf)
    #13 pc 0x435e64 libil2cpp.so (il2cpp::vm::GlobalMetadata::InitializeRuntimeMetadata(unsigned int*, bool)) (BuildId: 0ea4f57c3f7ae20d0e22d956ff8f36507472d2cf)
    #14 pc 0x1b8bb44 libil2cpp.so (QuerySkuDetailsService.QueryInAppsAsync) (BuildId: 0ea4f57c3f7ae20d0e22d956ff8f36507472d2cf)
    #15 pc 0x1b8b9a0 libil2cpp.so (QuerySkuDetailsService.TryQueryAsyncSkuWithRetries) (BuildId: 0ea4f57c3f7ae20d0e22d956ff8f36507472d2cf)
    #16 pc 0x1b8b6c4 libil2cpp.so (QuerySkuDetailsService.QueryAsyncSkuWithRetries) (BuildId: 0ea4f57c3f7ae20d0e22d956ff8f36507472d2cf)
    #17 pc 0x1b8c71c libil2cpp.so (<>c._DisplayClass10_0_<QueryAsyncSku>b__0) (BuildId: 0ea4f57c3f7ae20d0e22d956ff8f36507472d2cf)
    #18 pc 0x1b835bc libil2cpp.so (GooglePlayStoreService.DequeueQueryProducts) (BuildId: 0ea4f57c3f7ae20d0e22d956ff8f36507472d2cf)
    #19 pc 0x1b6bea0 libil2cpp.so (TelemetryMetricsService.ExecuteTimedAction) (BuildId: 0ea4f57c3f7ae20d0e22d956ff8f36507472d2cf)
    #20 pc 0x1b8a76c libil2cpp.so (MetricizedGooglePlayStoreService.DequeueQueryProducts) (BuildId: 0ea4f57c3f7ae20d0e22d956ff8f36507472d2cf)
    #21 pc 0x1b83268 libil2cpp.so (GooglePlayStoreService.OnConnected) (BuildId: 0ea4f57c3f7ae20d0e22d956ff8f36507472d2cf)
    #22 pc 0x459418 libil2cpp.so (il2cpp::vm::Runtime::InvokeWithThrow(MethodInfo const*, void*, void**)) (BuildId: 0ea4f57c3f7ae20d0e22d956ff8f36507472d2cf)
    #23 pc 0x459274 libil2cpp.so (il2cpp::vm::Runtime::Invoke(MethodInfo const*, void*, void**, Il2CppException**)) (BuildId: 0ea4f57c3f7ae20d0e22d956ff8f36507472d2cf)
    #24 pc 0x45981c libil2cpp.so (il2cpp::vm::Runtime::InvokeConvertArgs(MethodInfo const*, void*, Il2CppObject**, int, Il2CppException**)) (BuildId: 0ea4f57c3f7ae20d0e22d956ff8f36507472d2cf)
    #25 pc 0x45957c libil2cpp.so (il2cpp::vm::Runtime::InvokeArray(MethodInfo const*, void*, Il2CppArray*, Il2CppException**)) (BuildId: 0ea4f57c3f7ae20d0e22d956ff8f36507472d2cf)
    #26 pc 0x3c6890 libil2cpp.so (il2cpp::icalls::mscorlib::System::Reflection::RuntimeMethodInfo::InternalInvoke(Il2CppReflectionMethod*, Il2CppObject*, Il2CppArray*, Il2CppException**)) (BuildId: 0ea4f57c3f7ae20d0e22d956ff8f36507472d2cf)
    #27 pc 0x1148d74 libil2cpp.so (RuntimeMethodInfo.Invoke) (BuildId: 0ea4f57c3f7ae20d0e22d956ff8f36507472d2cf)
    #28 pc 0x1135bc4 libil2cpp.so (MethodBase.Invoke) (BuildId: 0ea4f57c3f7ae20d0e22d956ff8f36507472d2cf)
    #29 pc 0x1ac7904 libil2cpp.so (AndroidJavaProxy.Invoke) (BuildId: 0ea4f57c3f7ae20d0e22d956ff8f36507472d2cf)
    #30 pc 0x1acdc34 libil2cpp.so (_AndroidJNIHelper_InvokeJavaProxyMethod_mCA9BD35B5AE99B6DFABBFE9968DD1EBE931F70C2) (BuildId: 0ea4f57c3f7ae20d0e22d956ff8f36507472d2cf)
    #31 pc 0x320514 libil2cpp.so (RuntimeInvoker_FalseIntPtr_t_RuntimeObject_IntPtr_t_IntPtr_t(void (*)(), MethodInfo const*, void*, void**, void*)) (BuildId: 0ea4f57c3f7ae20d0e22d956ff8f36507472d2cf)
    #32 pc 0x4594b4 libil2cpp.so (il2cpp::vm::Runtime::InvokeWithThrow(MethodInfo const*, void*, void**)) (BuildId: 0ea4f57c3f7ae20d0e22d956ff8f36507472d2cf)
    #33 pc 0x459274 libil2cpp.so (il2cpp::vm::Runtime::Invoke(MethodInfo const*, void*, void**, Il2CppException**)) (BuildId: 0ea4f57c3f7ae20d0e22d956ff8f36507472d2cf)
    #34 pc 0x1cce3d libunity.so (scripting_method_invoke(ScriptingMethodPtr, ScriptingObjectPtr, ScriptingArguments&, ScriptingExceptionPtr*, bool)) (BuildId: 07bd9b09a7d1ffad3f9f3dc25ac395d90d2f8fcc)
    #35 pc 0x1d7501 libunity.so (ScriptingInvocation::Invoke(ScriptingExceptionPtr*, bool)) (BuildId: 07bd9b09a7d1ffad3f9f3dc25ac395d90d2f8fcc)
    #36 pc 0x818d5 libunity.so (UnityJavaProxy_invoke(_JNIEnv*, _jobject*, long long, _jstring*, _jobjectArray*)) (BuildId: 07bd9b09a7d1ffad3f9f3dc25ac395d90d2f8fcc)
    #37 pc 0x3c259d libart.so (art_quick_generic_jni_trampoline + 44) (BuildId: 72acbd633b92a2d8c94a7758a3f31f4a)
    #38 pc 0xedc2c libart.so (nterp_helper + 1948) (BuildId: 72acbd633b92a2d8c94a7758a3f31f4a)
    #39 pc 0x62a2b4 base.apk (com.unity3d.player.ReflectionHelper.a)
    #40 pc 0xed4c8 libart.so (nterp_helper + 56) (BuildId: 72acbd633b92a2d8c94a7758a3f31f4a)
    at com.unity3d.player.ReflectionHelper.nativeProxyInvoke(Native method)
    at com.unity3d.player.ReflectionHelper.a(unavailable)
    at com.unity3d.player.ReflectionHelper$1.invoke(unavailable:29)
    at java.lang.reflect.Proxy.invoke(Proxy.java:1006)
    at com.android.billingclient.api.BillingClientStateListener.onBillingSetupFinished(com.android.billingclient:billing@@4.0.0)
    at com.android.billingclient.api.zzaf.zzd(com.android.billingclient:billing@@4.0.0:1)
    at com.android.billingclient.api.zzaf.zza(com.android.billingclient:billing@@4.0.0:25)
    at com.android.billingclient.api.zzae.call(unavailable:2)
    at java.util.concurrent.FutureTask.run(FutureTask.java:264)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1137)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:637)
    at java.lang.Thread.run(Thread.java:1012)


    Main Thread:

    main (blocked):tid=1 systid=20687 | waiting to lock <0x0e8eb2a4> (java.lang.Object) held by thread 101
    at com.android.billingclient.api.zzaf.zzd(unavailable:2)
    at com.android.billingclient.api.zzaf.zzb(com.android.billingclient:billing@@4.0.0:3)
    at com.android.billingclient.api.zzad.run(unavailable:2)
    at com.android.billingclient.api.zzw.run(com.android.billingclient:billing@@4.0.0:4)
    at android.os.Handler.handleCallback(Handler.java:942)
    at android.os.Handler.dispatchMessage(Handler.java:99)
    at android.os.Looper.loopOnce(Looper.java:226)
    at android.os.Looper.loop(Looper.java:313)
    at android.app.ActivityThread.main(ActivityThread.java:8741)
    at java.lang.reflect.Method.invoke(Native method)
    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:571)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1067)


    I've also attached the whole stacktrace below.

    I've also tried updating to Unity 2022.3.0f1 and the

    Thank you in advance!
     

    Attached Files: