defold / extension-iap

In-app purchase extension for Defold
MIT License
20 stars 13 forks source link

failure com.defold.iap.IapGooglePlay.onPurchasesUpdated java.lang.NullPointerException #62

Closed TinyDobbins closed 7 months ago

TinyDobbins commented 7 months ago

this failure have some players (checked in Google Console)

[Redmi earth (Redmi 12C)] [Android 12 (SDK 31)]

Exception java.lang.RuntimeException:
  at android.app.LoadedApk$ReceiverDispatcher$Args.lambda$getRunnable$0$LoadedApk$ReceiverDispatcher$Args (LoadedApk.java:1728)
  at android.app.LoadedApk$ReceiverDispatcher$Args$$ExternalSyntheticLambda0.run
  at android.os.Handler.handleCallback (Handler.java:938)
  at android.os.Handler.dispatchMessage (Handler.java:99)
  at android.os.Looper.loopOnce (Looper.java:211)
  at android.os.Looper.loop (Looper.java:300)
  at android.app.ActivityThread.main (ActivityThread.java:8301)
  at java.lang.reflect.Method.invoke
  at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:577)
  at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1076)
Caused by java.lang.NullPointerException:
  at com.defold.iap.IapGooglePlay.onPurchasesUpdated (IapGooglePlay.java:371)
  at com.android.billingclient.api.zzn.onReceive (com.android.billingclient:billing@@5.0.0:5)
  at android.app.LoadedApk$ReceiverDispatcher$Args.lambda$getRunnable$0$LoadedApk$ReceiverDispatcher$Args (LoadedApk.java:1714)

[xiaomi ginkgo (Redmi Note 8)] [Android 11 (SDK 30)]

Exception java.lang.RuntimeException:
  at android.app.LoadedApk$ReceiverDispatcher$Args.lambda$getRunnable$0$LoadedApk$ReceiverDispatcher$Args (LoadedApk.java:1572)
  at android.app.-$$Lambda$LoadedApk$ReceiverDispatcher$Args$_BumDX2UKsnxLVrE6UJsJZkotuA.run
  at android.os.Handler.handleCallback (Handler.java:938)
  at android.os.Handler.dispatchMessage (Handler.java:99)
  at android.os.Looper.loop (Looper.java:236)
  at android.app.ActivityThread.main (ActivityThread.java:8037)
  at java.lang.reflect.Method.invoke
  at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:656)
  at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:967)
Caused by java.lang.NullPointerException:
  at com.defold.iap.IapGooglePlay.onPurchasesUpdated (IapGooglePlay.java:371)
  at com.android.billingclient.api.zzn.onReceive (com.android.billingclient:billing@@5.0.0:5)
  at android.app.LoadedApk$ReceiverDispatcher$Args.lambda$getRunnable$0$LoadedApk$ReceiverDispatcher$Args (LoadedApk.java:1562)

[samsung a14x (Galaxy A14 5G)] [Android 14 (SDK 34)]

Exception java.lang.RuntimeException:
  at android.app.LoadedApk$ReceiverDispatcher$Args.lambda$getRunnable$0 (LoadedApk.java:1884)
  at android.app.LoadedApk$ReceiverDispatcher$Args.$r8$lambda$gDuJqgxY6Zb-ifyeubKeivTLAwk
  at android.app.LoadedApk$ReceiverDispatcher$Args$$ExternalSyntheticLambda0.run
  at android.os.Handler.handleCallback (Handler.java:958)
  at android.os.Handler.dispatchMessage (Handler.java:99)
  at android.os.Looper.loopOnce (Looper.java:230)
  at android.os.Looper.loop (Looper.java:319)
  at android.app.ActivityThread.main (ActivityThread.java:8893)
  at java.lang.reflect.Method.invoke
  at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:608)
  at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1103)
Caused by java.lang.NullPointerException:
  at com.defold.iap.IapGooglePlay.onPurchasesUpdated (IapGooglePlay.java:371)
  at com.android.billingclient.api.zzn.onReceive (com.android.billingclient:billing@@5.0.0:5)
  at android.app.LoadedApk$ReceiverDispatcher$Args.lambda$getRunnable$0 (LoadedApk.java:1876)

[Xiaomi tiare (Redmi Go)] [Android 8.1 (SDK 27)]

Exception java.lang.RuntimeException:
  at android.app.LoadedApk$ReceiverDispatcher$Args.lambda$-android_app_LoadedApk$ReceiverDispatcher$Args_52497 (LoadedApk.java:1323)
  at android.app.-$Lambda$aS31cHIhRx41653CMnd4gZqshIQ.$m$7
  at android.app.-$Lambda$aS31cHIhRx41653CMnd4gZqshIQ.run
  at android.os.Handler.handleCallback (Handler.java:790)
  at android.os.Handler.dispatchMessage (Handler.java:99)
  at android.os.Looper.loop (Looper.java:164)
  at android.app.ActivityThread.main (ActivityThread.java:6518)
  at java.lang.reflect.Method.invoke
  at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:438)
  at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:807)
Caused by java.lang.NullPointerException:
  at com.defold.iap.IapGooglePlay.onPurchasesUpdated (IapGooglePlay.java:371)
  at com.android.billingclient.api.zzn.onReceive (com.android.billingclient:billing@@5.0.0:5)
  at android.app.LoadedApk$ReceiverDispatcher$Args.lambda$-android_app_LoadedApk$ReceiverDispatcher$Args_52497 (LoadedApk.java:1313)

[motorola rhode (moto g52)] [Android 13 (SDK 33)]

Exception java.lang.RuntimeException:
  at android.app.LoadedApk$ReceiverDispatcher$Args.lambda$getRunnable$0$android-app-LoadedApk$ReceiverDispatcher$Args (LoadedApk.java:1819)
  at android.app.LoadedApk$ReceiverDispatcher$Args$$ExternalSyntheticLambda0.run
  at android.os.Handler.handleCallback (Handler.java:984)
  at android.os.Handler.dispatchMessage (Handler.java:104)
  at android.os.Looper.loopOnce (Looper.java:238)
  at android.os.Looper.loop (Looper.java:357)
  at android.app.ActivityThread.main (ActivityThread.java:8149)
  at java.lang.reflect.Method.invoke
  at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:548)
  at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:957)
Caused by java.lang.NullPointerException:
  at com.defold.iap.IapGooglePlay.onPurchasesUpdated (IapGooglePlay.java:371)
  at com.android.billingclient.api.zzn.onReceive (com.android.billingclient:billing@@5.0.0:5)
  at android.app.LoadedApk$ReceiverDispatcher$Args.lambda$getRunnable$0$android-app-LoadedApk$ReceiverDispatcher$Args (LoadedApk.java:1809)
britzl commented 7 months ago

Thanks. And this is with the latest version of the extension?

britzl commented 7 months ago
at com.defold.iap.IapGooglePlay.onPurchasesUpdated (IapGooglePlay.java:371)

Line 371 in the stacktrace does not correspond to a line of code in IapGooglePlay.java onPurchasesUpdated()

TinyDobbins commented 7 months ago

oh, I use version 5.0.1, but the latest is 5.1.0. I'll update to the latest one and see if there are any of these errors.

britzl commented 7 months ago

Ok, that explains it. 5.1.0 specifically solves some null pointer exceptions. It should solve the issues you reported. I'm closing this ticket. Reopen if the problem persists.