Hi, guys!
In my app I’m using sdkboxplay plugin (v2.3.17.7) to save user’s data to google/iOS cloud. On all of my devices it works perfectly. The problem is that in google play console I see crashes related to com.sdkbox.plugin.SdkboxGPGSavedGames.
The number of impacted users is quite small (12 devices out of 16K), but the number of crashes per device is ~6-7 for now.
There are 2 types of crashes:
NullPointerException
java.lang.NullPointerException:
at com.sdkbox.plugin.SdkboxGPGSavedGames$8$1$1.onResult (SdkboxGPGSavedGames.java:305)
at com.sdkbox.plugin.SdkboxGPGSavedGames$8$1$1.onResult (SdkboxGPGSavedGames.java:298)
at com.sdkbox.plugin.SdkboxGPGSavedGames.processSnapshotOpenResult (SdkboxGPGSavedGames.java:250)
at com.sdkbox.plugin.SdkboxGPGSavedGames.access$300 (SdkboxGPGSavedGames.java:23)
at com.sdkbox.plugin.SdkboxGPGSavedGames$8$1.onResult (SdkboxGPGSavedGames.java:297)
at com.sdkbox.plugin.SdkboxGPGSavedGames$8$1.onResult (SdkboxGPGSavedGames.java:293)
at com.google.android.gms.internal.zzbcs.handleMessage (Unknown Source)
at android.os.Handler.dispatchMessage (Handler.java:110)
at android.os.Looper.loop (Looper.java:203)
at android.app.ActivityThread.main (ActivityThread.java:6251)
at java.lang.reflect.Method.invoke (Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run (ZygoteInit.java:1063)
at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:924)
IllegalStateException
java.lang.IllegalStateException:
at android.os.Parcel.readException (Parcel.java:1480)
at android.os.Parcel.readException (Parcel.java:1426)
at com.google.android.gms.internal.zzed.zzb (Unknown Source)
at com.google.android.gms.games.internal.zzk.zza (Unknown Source)
at com.google.android.gms.games.internal.GamesClientImpl.zza (Unknown Source)
at com.google.android.gms.games.internal.api.zzcd.zza (Unknown Source)
at com.google.android.gms.internal.zzbck.zzb (Unknown Source)
at com.google.android.gms.internal.zzbdm.zze (Unknown Source)
at com.google.android.gms.internal.zzbej.zze (Unknown Source)
at com.google.android.gms.internal.zzbeb.zze (Unknown Source)
at com.google.android.gms.games.internal.api.zzcb.open (Unknown Source)
at com.google.android.gms.games.internal.api.zzcb.open (Unknown Source)
at com.sdkbox.plugin.SdkboxGPGSavedGames$8.run (SdkboxGPGSavedGames.java:292)
at java.lang.Thread.run (Thread.java:841)
My code to save data looks like this:
std::string saveName = “someSaveName”;
const char* dataCString = “some user data to save”;
const void* data = static_cast<const void*>(dataCString);
int dataLength = (int)strlen(dataCString) + 1;
sdkbox::PluginSdkboxPlay::saveGameDataBinary(saveName, data, dataLength);
Sorry, I didn’t make myself clear. Can you tell which devices are having these crashes? I want to make sure it’s related to a particular device or system.
I use GoogleApiAvailability stuff to verify that GooglePlayServices are available and up-to-date before making any calls to cloud save/load methods. So I think it is quite safe to exclude game services versioning issue.
Hi, i’m getting similar crashes on Google Play Console:
java.lang.NullPointerException:
at com.sdkbox.plugin.SdkboxGPGSavedGames$8$1$1.onResult (SdkboxGPGSavedGames.java:320)
at com.sdkbox.plugin.SdkboxGPGSavedGames$8$1$1.onResult (SdkboxGPGSavedGames.java:313)
at com.sdkbox.plugin.SdkboxGPGSavedGames.processSnapshotOpenResult (SdkboxGPGSavedGames.java:260)
at com.sdkbox.plugin.SdkboxGPGSavedGames.access$300 (SdkboxGPGSavedGames.java:27)
at com.sdkbox.plugin.SdkboxGPGSavedGames$8$1.onResult (SdkboxGPGSavedGames.java:312)
at com.sdkbox.plugin.SdkboxGPGSavedGames$8$1.onResult (SdkboxGPGSavedGames.java:308)
at com.google.android.gms.internal.zzbcs.handleMessage (Unknown Source)
at android.os.Handler.dispatchMessage (Handler.java:102)
at android.os.Looper.loop (Looper.java:154)
at android.app.ActivityThread.main (ActivityThread.java:6823)
at java.lang.reflect.Method.invoke (Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run (ZygoteInit.java:1563)
at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1451)
java.lang.IllegalStateException:
at com.google.android.gms.internal.zzbea.zze (Unknown Source)
at com.google.android.gms.internal.zzbej.zze (Unknown Source)
at com.google.android.gms.internal.zzbeb.zze (Unknown Source)
at com.google.android.gms.games.internal.api.zzcb.commitAndClose (Unknown Source)
at com.sdkbox.plugin.SdkboxGPGSavedGames$8$1$1.onResult (SdkboxGPGSavedGames.java:327)
at com.sdkbox.plugin.SdkboxGPGSavedGames$8$1$1.onResult (SdkboxGPGSavedGames.java:313)
at com.sdkbox.plugin.SdkboxGPGSavedGames.processSnapshotOpenResult (SdkboxGPGSavedGames.java:260)
at com.sdkbox.plugin.SdkboxGPGSavedGames.access$300 (SdkboxGPGSavedGames.java:27)
at com.sdkbox.plugin.SdkboxGPGSavedGames$8$1.onResult (SdkboxGPGSavedGames.java:312)
at com.sdkbox.plugin.SdkboxGPGSavedGames$8$1.onResult (SdkboxGPGSavedGames.java:308)
at com.google.android.gms.internal.zzbcs.handleMessage (Unknown Source)
at android.os.Handler.dispatchMessage (Handler.java:102)
at android.os.Looper.loop (Looper.java:154)
at android.app.ActivityThread.main (ActivityThread.java:6682)
at java.lang.reflect.Method.invoke (Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run (ZygoteInit.java:1520)
at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1410)
I’m using latest sdkboxplay plugin on staging branch. The devices affected are:
Galaxy Note8
Redmi Note 4
V30
SHINE LITE
P8 Lite
A806
Redmi 4X
Galaxy S7
ZenFone 3
Galaxy S6
OnePlus5
Aquaris X Pro
Galaxy A5(2017)
About android version, most of the crashes are on Android 7.0 and Android 7.1 but there are crashes on every other OS (4, 5, 6 and 8).
No news on this? We are global launching in less than a month and this is a block issue for us, Google Play Console is getting full of orange and red warnings on Android Vitals because of this
in one or two days, we will release a new version.
and now, you can use staging version to check. sdkbox update --staging or sdkbox import sdkboxplay --staging
I’ve updated plugin to version v2.3.17.9. But the game update is not published yet. I’ll let you guys know as soon as I receive some new info about this crash.
So our game update (with plugin v.2.3.17.9) is published finally. The first crash (the one with NullPointerException) is still there. The second one (IllegalStateException) has changed to:
java.lang.IllegalStateException:
at com.google.android.gms.internal.zzbea.zze (Unknown Source)
at com.google.android.gms.internal.zzbej.zze (Unknown Source)
at com.google.android.gms.internal.zzbeb.zze (Unknown Source)
at com.google.android.gms.games.internal.api.zzcb.commitAndClose (Unknown Source)
at com.sdkbox.plugin.SdkboxGPGSavedGames$8$1$1.onResult (SdkboxGPGSavedGames.java:333)
at com.sdkbox.plugin.SdkboxGPGSavedGames$8$1$1.onResult (SdkboxGPGSavedGames.java:314)
at com.sdkbox.plugin.SdkboxGPGSavedGames.processSnapshotOpenResult (SdkboxGPGSavedGames.java:260)
at com.sdkbox.plugin.SdkboxGPGSavedGames.access$300 (SdkboxGPGSavedGames.java:27)
at com.sdkbox.plugin.SdkboxGPGSavedGames$8$1.onResult (SdkboxGPGSavedGames.java:313)
at com.sdkbox.plugin.SdkboxGPGSavedGames$8$1.onResult (SdkboxGPGSavedGames.java:309)
at com.google.android.gms.internal.zzbcs.handleMessage (Unknown Source)
at android.os.Handler.dispatchMessage (Handler.java:111)
at android.os.Looper.loop (Looper.java:227)
at android.app.ActivityThread.main (ActivityThread.java:6102)
at java.lang.reflect.Method.invoke (Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run (ZygoteInit.java:961)
at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:822)
As you can see it is the same as the one that @fryderyk88 has posted