playgameservices / play-games-plugin-for-unity

Google Play Games plugin for Unity
Other
3.45k stars 960 forks source link

com.google.android.gms.auth.api.signin.internal.SignInHubActivity ANR #2411

Open ghost opened 5 years ago

ghost commented 5 years ago

Left out the application specific logs from the Google ANR: Has been consistent ANR for the past 60 days.

PGS unity plugin versions reproduced with Used 0.9.50-0.9.57 (past 60d)

Also reproduces with https://github.com/playgameservices/play-games-plugin-for-unity/pull/2401/files implemented on top of 0.9.57

at com.unity3d.player.ReflectionHelper.nativeProxyInvoke (Native method) at com.unity3d.player.ReflectionHelper.a (unavailable) at com.unity3d.player.ReflectionHelper$1.invoke (unavailable) at java.lang.reflect.Proxy.invoke (Proxy.java:913) at com.google.android.gms.common.api.ResultCallback.onResult (unavailable) at com.google.games.bridge.TokenPendingResult.setStatus (TokenPendingResult.java:157) at com.google.games.bridge.TokenFragment$TokenRequest.setResult (TokenFragment.java:469) at com.google.games.bridge.TokenFragment.onSignedIn (TokenFragment.java:399) at com.google.games.bridge.TokenFragment.onActivityResult (TokenFragment.java:368) at android.app.Activity.dispatchActivityResult (Activity.java:7277) at android.app.ActivityThread.deliverResults (ActivityThread.java:4364) at android.app.ActivityThread.handleSendResult (ActivityThread.java:4411) at android.app.ActivityThread.-wrap19 (ActivityThread.java) at android.app.ActivityThread$H.handleMessage (ActivityThread.java:1662) at android.os.Handler.dispatchMessage (Handler.java:105) at android.os.Looper.loop (Looper.java:164) at android.app.ActivityThread.main (ActivityThread.java:6592) at java.lang.reflect.Method.invoke (Native method) at com.android.internal.os.Zygote$MethodAndArgsCaller.run (Zygote.java:240) at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:769)

legas1 commented 5 years ago

at com.google.games.bridge.TokenFragment.onActivityResult (TokenFragment.java:368)

refers to CommonStatusCodes.CANCELED, strange, at first look it looks like some slow device runs it and then quickly backtap (cancel) before finish

Can you reproduce it directly with your device? What is your build settings?

ghost commented 5 years ago

This is from our production (automatic pipeline) build.

Uses Unity 2017.4.17f1 Gradle Target Android SDK 26 Proguard Unity Engine Stripping enabled. IL2CPP

Let me know if you meant something more specific about the build settings.

image

We've not yet tried to reproduce it.

You'd suggest us to try out: 1) start login dialog 2) cancel when the process is ongoing?

legas1 commented 5 years ago

Hm, now I think it can be related to Proguard or IL2CPP stripping, can you please post exact error message and not stacktrace only?

ghost commented 5 years ago

Input dispatching timed out (com.applicationname.obfuscated/com.google.android.gms.auth.api.signin.internal.SignInHubActivity, Waiting to send non-key event because the touched window has not finished processing certain input events that were delivered to it over 500.0ms ago. Wait queue length: 2. Wait queue head age: 11415.9ms.)

com.google.android.gms.auth.api.signin.internal.SignInHubActivity

legas1 commented 5 years ago

I suggest to tinker with Unity build settings (IL2CPP stripping and Proguard) as mentioned here #2395 and #2366 or disable them entirely just to be sure. If it doesn't help then I try to replicate it, but it will take some time or maybe maintainer will have better ideas.

kkohno commented 5 years ago

I have same issue after setting up the google analytics plugin. Furthermore, i have following warning, on unity console, when i try Assets->PlayServicesResolver->AndroidResolver->ForseResolve:

Warning: Some conflicting dependencies were found. The following dependency versions were modified: com.google.android.gms:play-services-analytics:+ --> com.google.android.gms:play-services-analytics:+

legas1 commented 5 years ago

@kkohno What is your plugin version? Is your log exactly the same?

kkohno commented 5 years ago

My plugin version is v0.9.64. and google analytics is last relesre v0.7-beta from 24 oct 2017 GoogleAnalyticsV4_bitcode.unitypackage

kkohno commented 5 years ago

my full log:

Some conflicting dependencies were found. The following dependency versions were modified: com.google.android.gms:play-services-analytics:+ --> com.google.android.gms:play-services-analytics:+

UnityEngine.Debug:LogWarning(Object) Google.Logger:Log(String, LogLevel) (at /Users/smiles/dev/src/unity-jar-resolver/source/VersionHandlerImpl/src/Logger.cs:87) GooglePlayServices.PlayServicesResolver:Log(String, LogLevel) (at /Users/smiles/dev/src/unity-jar-resolver/source/PlayServicesResolver/src/PlayServicesResolver.cs:729) GooglePlayServices.cAnonStorey1A:<>m33(Result) (at /Users/smiles/dev/src/unity-jar-resolver/source/PlayServicesResolver/src/ResolverVer1_1.cs:698) GooglePlayServices.cAnonStorey1C:<>m3E() (at /Users/smiles/dev/src/unity-jar-resolver/source/PlayServicesResolver/src/ResolverVer1_1.cs:770) Google.RunOnMainThread:ExecuteNext() (at /Users/smiles/dev/src/unity-jar-resolver/source/VersionHandlerImpl/src/RunOnMainThread.cs:363) Google.RunOnMainThread:m16() (at /Users/smiles/dev/src/unity-jar-resolver/source/VersionHandlerImpl/src/RunOnMainThread.cs:394) Google.RunOnMainThread:RunAction(Action) (at /Users/smiles/dev/src/unity-jar-resolver/source/VersionHandlerImpl/src/RunOnMainThread.cs:234) Google.RunOnMainThread:ExecuteAll() (at /Users/smiles/dev/src/unity-jar-resolver/source/VersionHandlerImpl/src/RunOnMainThread.cs:392) Google.RunOnMainThread:Run(Action, Boolean) (at /Users/smiles/dev/src/unity-jar-resolver/source/VersionHandlerImpl/src/RunOnMainThread.cs:349) GooglePlayServices.cAnonStorey1A:<>m34(Result) (at /Users/smiles/dev/src/unity-jar-resolver/source/PlayServicesResolver/src/ResolverVer1_1.cs:771) GooglePlayServices.cAnonStorey1A:<>m35(Result) (at /Users/smiles/dev/src/unity-jar-resolver/source/PlayServicesResolver/src/ResolverVer1_1.cs:818) GooglePlayServices.ProgressReporter:SignalComplete() (at /Users/smiles/dev/src/unity-jar-resolver/source/PlayServicesResolver/src/CommandLineDialog.cs:116) GooglePlayServices.ProgressReporter:CommandLineToolCompletion(Result) (at /Users/smiles/dev/src/unity-jar-resolver/source/PlayServicesResolver/src/CommandLineDialog.cs:107) GooglePlayServices.cAnonStorey2:<>m4() (at /Users/smiles/dev/src/unity-jar-resolver/source/PlayServicesResolver/src/CommandLine.cs:136) Google.RunOnMainThread:ExecuteNext() (at /Users/smiles/dev/src/unity-jar-resolver/source/VersionHandlerImpl/src/RunOnMainThread.cs:363) Google.RunOnMainThread:m16() (at /Users/smiles/dev/src/unity-jar-resolver/source/VersionHandlerImpl/src/RunOnMainThread.cs:394) Google.RunOnMainThread:RunAction(Action) (at /Users/smiles/dev/src/unity-jar-resolver/source/VersionHandlerImpl/src/RunOnMainThread.cs:234) Google.RunOnMainThread:ExecuteAll() (at /Users/smiles/dev/src/unity-jar-resolver/source/VersionHandlerImpl/src/RunOnMainThread.cs:392) UnityEditor.EditorApplication:Internal_CallUpdateFunctions()

legas1 commented 5 years ago

As this is only warning this should be fine (althrough not sure, because Google Analytics for Unity plugin seems abandonned and you should move to Google Analytics for Firebase). What about ingame (logcat) logs?

kkohno commented 5 years ago

logcat from my game:

06-24 20:39:36.442: E/AndroidRuntime(7193): FATAL EXCEPTION: main 06-24 20:39:36.442: E/AndroidRuntime(7193): Process: com.pixel.gun.combats, PID: 7193 06-24 20:39:36.442: E/AndroidRuntime(7193): java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/android/gms/auth/api/signin/internal/SignInHubActivity; 06-24 20:39:36.442: E/AndroidRuntime(7193): at com.google.android.gms.auth.api.signin.internal.zzh.zzc(Unknown Source:5) 06-24 20:39:36.442: E/AndroidRuntime(7193): at com.google.android.gms.auth.api.signin.GoogleSignInClient.getSignInIntent(Unknown Source:20) 06-24 20:39:36.442: E/AndroidRuntime(7193): at com.google.games.bridge.TokenFragment$2.onFailure(TokenFragment.java:242) 06-24 20:39:36.442: E/AndroidRuntime(7193): at com.google.android.gms.tasks.zzl.run(Unknown Source:4) 06-24 20:39:36.442: E/AndroidRuntime(7193): at android.os.Handler.handleCallback(Handler.java:794) 06-24 20:39:36.442: E/AndroidRuntime(7193): at android.os.Handler.dispatchMessage(Handler.java:99) 06-24 20:39:36.442: E/AndroidRuntime(7193): at android.os.Looper.loop(Looper.java:176) 06-24 20:39:36.442: E/AndroidRuntime(7193): at android.app.ActivityThread.main(ActivityThread.java:6635) 06-24 20:39:36.442: E/AndroidRuntime(7193): at java.lang.reflect.Method.invoke(Native Method) 06-24 20:39:36.442: E/AndroidRuntime(7193): at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:547) 06-24 20:39:36.442: E/AndroidRuntime(7193): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:823) 06-24 20:39:36.442: E/AndroidRuntime(7193): Caused by: java.lang.ClassNotFoundException: com.google.android.gms.auth.api.signin.internal.SignInHubActivity 06-24 20:39:36.442: E/AndroidRuntime(7193): at java.lang.VMClassLoader.findLoadedClass(Native Method) 06-24 20:39:36.442: E/AndroidRuntime(7193): at java.lang.ClassLoader.findLoadedClass(ClassLoader.java:738) 06-24 20:39:36.442: E/AndroidRuntime(7193): at java.lang.ClassLoader.loadClass(ClassLoader.java:363) 06-24 20:39:36.442: E/AndroidRuntime(7193): at java.lang.ClassLoader.loadClass(ClassLoader.java:312) 06-24 20:39:36.442: E/AndroidRuntime(7193): ... 11 more 06-24 20:39:36.442: E/AndroidRuntime(7193): Caused by: java.lang.NoClassDefFoundError: Failed resolution of: Landroid/support/v4/app/FragmentActivity; 06-24 20:39:36.442: E/AndroidRuntime(7193): ... 11 more 06-24 20:39:36.442: E/AndroidRuntime(7193): Caused by: java.lang.ClassNotFoundException: Didn't find class "android.support.v4.app.FragmentActivity" on path: DexPathList[[zip file "/data/app/com.pixel.gun.combats-NmiIBbcrxQLOpYlKEThlLg==/base.apk"],nativeLibraryDirectories=[/data/app/com.pixel.gun.combats-NmiIBbcrxQLOpYlKEThlLg==/lib/arm, /data/app/com.pixel.gun.combats-NmiIBbcrxQLOpYlKEThlLg==/base.apk!/lib/armeabi-v7a, /system/lib, /vendor/lib]] 06-24 20:39:36.442: E/AndroidRuntime(7193): at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:125) 06-24 20:39:36.442: E/AndroidRuntime(7193): at java.lang.ClassLoader.loadClass(ClassLoader.java:379) 06-24 20:39:36.442: E/AndroidRuntime(7193): at java.lang.ClassLoader.loadClass(ClassLoader.java:312) 06-24 20:39:36.442: E/AndroidRuntime(7193): ... 11 more 06-24 20:39:36.488: W/ActivityManager(2010): Force finishing activity com.pixel.gun.combats/com.unity3d.player.UnityPlayerActivity

hnim commented 5 years ago

My game got similar problem. Here is full logcat:

Caused by: java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/android/gms/auth/api/signin/internal/SignInHubActivity;

at com.google.android.gms.auth.api.signin.internal.zzh.zzc(Unknown Source) at com.google.android.gms.auth.api.signin.GoogleSignInClient.getSignInIntent(Unknown Source) at com.google.games.bridge.TokenFragment$2.onFailure(TokenFragment.java:242) at com.google.android.gms.tasks.zzl.run(Unknown Source) at android.os.Handler.handleCallback(Handler.java:739) at android.os.Handler.dispatchMessage(Handler.java:95) at android.os.Looper.loop(Looper.java:135) at android.app.ActivityThread.main(ActivityThread.java:5254) at java.lang.reflect.Method.invoke(Native Method) at java.lang.reflect.Method.invoke(Method.java:372) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698) Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.android.gms.auth.api.signin.internal.SignInHubActivity" on path: DexPathList[[zip file "/data/app/com.redantz.game.battle-1/base.apk"],nativeLibraryDirectories=[/data/app/com.redantz.game.battle-1/lib/arm, /vendor/lib, /system/lib]] at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56) at java.lang.ClassLoader.loadClass(ClassLoader.java:511) at java.lang.ClassLoader.loadClass(ClassLoader.java:469) at com.google.android.gms.auth.api.signin.internal.zzh.zzc(Unknown Source)  at com.google.android.gms.auth.api.signin.GoogleSignInClient.getSignInIntent(Unknown Source)  at com.google.games.bridge.TokenFragment$2.onFailure(TokenFragment.java:242)  at com.google.android.gms.tasks.zzl.run(Unknown Source)  at android.os.Handler.handleCallback(Handler.java:739)  at android.os.Handler.dispatchMessage(Handler.java:95)  at android.os.Looper.loop(Looper.java:135)  at android.app.ActivityThread.main(ActivityThread.java:5254)  at java.lang.reflect.Method.invoke(Native Method)  at java.lang.reflect.Method.invoke(Method.java:372)  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903)  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698)  Suppressed: java.lang.NoClassDefFoundError: com.google.android.gms.auth.api.signin.internal.SignInHubActivity at dalvik.system.DexFile.defineClassNative(Native Method) at dalvik.system.DexFile.defineClass(DexFile.java:226) at dalvik.system.DexFile.loadClassBinaryName(DexFile.java:219) at dalvik.system.DexPathList.findClass(DexPathList.java:321) at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:54) ... 14 more Suppressed: java.lang.ClassNotFoundException: com.google.android.gms.auth.api.signin.internal.SignInHubActivity at java.lang.Class.classForName(Native Method) at java.lang.BootClassLoader.findClass(ClassLoader.java:781) at java.lang.BootClassLoader.loadClass(ClassLoader.java:841) at java.lang.ClassLoader.loadClass(ClassLoader.java:504) ... 13 more Caused by: java.lang.NoClassDefFoundError: Class not found using the boot class loader; no stack available

It seems caused by missing these line in mainTemplate.gradle

([rootProject] + (rootProject.subprojects as List)).each { ext { it.setProperty("android.useAndroidX", true) it.setProperty("android.enableJetifier", true) } }

After some builds, these lines disappear so i must add them manual

parmeetmaster commented 1 year ago

i also face the same I just add the signing report sha 1 key to my firebase project. Then it works fine