Search Unity

  1. Check out the Unite LA keynote for updates on the Visual Effect Editor, the FPS Sample, ECS, Unity for Film and more! Watch it now!
    Dismiss Notice
  2. The Unity Pro & Visual Studio Professional Bundle gives you the tools you need to develop faster & collaborate more efficiently. Learn more.
    Dismiss Notice
  3. Improved Prefab workflow (includes Nested Prefabs!), 2D isometric Tilemap and more! Get the 2018.3 Beta now.
    Dismiss Notice
  4. Improve your Unity skills with a certified instructor in a private, interactive classroom. Watch the overview now.
    Dismiss Notice
  5. Want to see the most recent patch releases? Take a peek at the patch release page.
    Dismiss Notice

Unity IAP: java.lang.NullPointerException

Discussion in 'Unity IAP' started by Niels-Wosylus, May 31, 2018.

  1. Niels-Wosylus

    Niels-Wosylus

    Joined:
    Jan 26, 2014
    Posts:
    5
    Hi. With the latest release of Unity IAP 1.19 we have been getting crashlogs from some of our users on Android. We are not exactly sure when this crash occurs or why, but I copied the details below

    Caused by java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.Object android.os.BaseBundle.get(java.lang.String)' on a null object reference
    at com.unity.purchasing.googleplay.IabHelper.getResponseCodeFromBundle(IabHelper.java:872)
    at com.unity.purchasing.googleplay.IabHelper.queryPurchaseHistory(IabHelper.java:919)
    at com.unity.purchasing.googleplay.IabHelper.queryInventory(IabHelper.java:647)
    at com.unity.purchasing.googleplay.IabHelper.queryInventory(IabHelper.java:598)
    at com.unity.purchasing.googleplay.IabHelper$3.workWith(IabHelper.java:707)
    at com.unity.purchasing.googleplay.BillingServiceManager$2.run(BillingServiceManager.java:146)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
    at java.lang.Thread.run(Thread.java:761)

    Are anyone else experiencing this? It is occurring on all our games with the new update. Is there are way we can fix it, or will we need for a new update? Is it possible to somehow downgrade Unity IAP (I cannot seem to find previous releases anywhere)?

    Thanks
     
  2. unityjingyao

    unityjingyao

    Unity Technologies

    Joined:
    Feb 20, 2017
    Posts:
    196
    Hi,
    I'm sorry that I couldn't reproduce this issue on my side.
    Is it possible to offer us the full log?
    Could you please send me more information? like Android version, device model?
     
  3. JeffDUnity3D

    JeffDUnity3D

    Unity Technologies

    Joined:
    May 2, 2017
    Posts:
    2,639
  4. Niels-Wosylus

    Niels-Wosylus

    Joined:
    Jan 26, 2014
    Posts:
    5
    Thank you for your reply!

    I put the stack trace here.
    # Crashlytics - plaintext stacktrace downloaded by Niels Wosylus at Sat, 02 Jun 2018 11:05:53 GMT
    # Issue #: 10
    # Issue ID: 5b07ef8f6007d59fcde36940
    # Session ID: 5B1274AE015600012B87B702D2F08F96_DNE_0_v2
    # Date: 2018-06-02T10:43:00Z
    # OS Version: 7.1.1
    # Device: ASUS_X00DD
    # RAM Free: 34.8%
    # Disk Free: 5.4%

    Fatal Exception: java.lang.Error: FATAL EXCEPTION [pool-7-thread-1]
    Unity version : 2018.1.1f1
    Device model : asus ASUS_X00DD
    Device fingerprint: asus/WW_Phone/ASUS_X00DD:7.1.1/NMF26F/14.0200.1803.352-20180302:user/release-keys



    Caused by java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.Object android.os.BaseBundle.get(java.lang.String)' on a null object reference
    at com.unity.purchasing.googleplay.IabHelper.getResponseCodeFromBundle(IabHelper.java:872)
    at com.unity.purchasing.googleplay.IabHelper.queryPurchaseHistory(IabHelper.java:919)
    at com.unity.purchasing.googleplay.IabHelper.queryInventory(IabHelper.java:647)
    at com.unity.purchasing.googleplay.IabHelper.queryInventory(IabHelper.java:598)
    at com.unity.purchasing.googleplay.IabHelper$3.workWith(IabHelper.java:707)
    at com.unity.purchasing.googleplay.BillingServiceManager$2.run(BillingServiceManager.java:146)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
    at java.lang.Thread.run(Thread.java:761)

    #0. Queue
    at java.lang.Object.wait(Object.java)
    at java.lang.Thread.parkFor$(Thread.java:2127)
    at sun.misc.Unsafe.park(Unsafe.java:325)
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:161)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2035)
    at java.util.concurrent.PriorityBlockingQueue.take(PriorityBlockingQueue.java:519)
    at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.performOperation(DependencyPriorityBlockingQueue.java:197)
    at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.get(DependencyPriorityBlockingQueue.java:236)
    at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.take(DependencyPriorityBlockingQueue.java:65)
    at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.take(DependencyPriorityBlockingQueue.java:46)
    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1058)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1118)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
    at java.lang.Thread.run(Thread.java:761)

    #1. Queue
    at java.lang.Object.wait(Object.java)
    at java.lang.Thread.parkFor$(Thread.java:2127)
    at sun.misc.Unsafe.park(Unsafe.java:325)
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:161)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2035)
    at java.util.concurrent.PriorityBlockingQueue.take(PriorityBlockingQueue.java:519)
    at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.performOperation(DependencyPriorityBlockingQueue.java:197)
    at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.get(DependencyPriorityBlockingQueue.java:236)
    at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.take(DependencyPriorityBlockingQueue.java:65)
    at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.take(DependencyPriorityBlockingQueue.java:46)
    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1058)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1118)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
    at java.lang.Thread.run(Thread.java:761)

    #2. TcmReceiver
    at android.net.LocalSocketImpl.readba_native(LocalSocketImpl.java)
    at android.net.LocalSocketImpl.-wrap1(LocalSocketImpl.java)
    at android.net.LocalSocketImpl$SocketInputStream.read(LocalSocketImpl.java:110)
    at com.qti.tcmclient.DpmTcmClient$TcmReceiver.run(DpmTcmClient.java:140)
    at java.lang.Thread.run(Thread.java:761)

    #3. FinalizerWatchdogDaemon
    at java.lang.Thread.sleep(Thread.java)
    at java.lang.Thread.sleep(Thread.java:371)
    at java.lang.Thread.sleep(Thread.java:313)
    at java.lang.Daemons$FinalizerWatchdogDaemon.sleepFor(Daemons.java:314)
    at java.lang.Daemons$FinalizerWatchdogDaemon.waitForFinalization(Daemons.java:336)
    at java.lang.Daemons$FinalizerWatchdogDaemon.run(Daemons.java:253)
    at java.lang.Thread.run(Thread.java:761)

    #4. OkHttp ConnectionPool
    at java.lang.Object.wait(Object.java)
    at com.android.okhttp.ConnectionPool.performCleanup(ConnectionPool.java:307)
    at com.android.okhttp.ConnectionPool.runCleanupUntilPoolIsEmpty(ConnectionPool.java:244)
    at com.android.okhttp.ConnectionPool.-wrap0(ConnectionPool.java)
    at com.android.okhttp.ConnectionPool$1.run(ConnectionPool.java:98)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
    at java.lang.Thread.run(Thread.java:761)

    #5. Queue
    at java.lang.Object.wait(Object.java)
    at java.lang.Thread.parkFor$(Thread.java:2127)
    at sun.misc.Unsafe.park(Unsafe.java:325)
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:161)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2035)
    at java.util.concurrent.PriorityBlockingQueue.take(PriorityBlockingQueue.java:519)
    at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.performOperation(DependencyPriorityBlockingQueue.java:197)
    at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.get(DependencyPriorityBlockingQueue.java:236)
    at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.take(DependencyPriorityBlockingQueue.java:65)
    at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.take(DependencyPriorityBlockingQueue.java:46)
    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1058)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1118)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
    at java.lang.Thread.run(Thread.java:761)

    #6. GoogleApiHandler
    at android.os.MessageQueue.nativePollOnce(MessageQueue.java)
    at android.os.MessageQueue.next(MessageQueue.java:323)
    at android.os.Looper.loop(Looper.java:139)
    at android.os.HandlerThread.run(HandlerThread.java:61)

    #7. UnityMain
    at com.unity3d.player.UnityPlayer.nativeRender(Unknown Source)
    at com.unity3d.player.UnityPlayer.c(Unknown Source)
    at com.unity3d.player.UnityPlayer$e$2.queueIdle(Unknown Source)
    at android.os.MessageQueue.next(MessageQueue.java:392)
    at android.os.Looper.loop(Looper.java:139)
    at com.unity3d.player.UnityPlayer$e.run(Unknown Source)

    #8. Queue
    at java.lang.Object.wait(Object.java)
    at java.lang.Thread.parkFor$(Thread.java:2127)
    at sun.misc.Unsafe.park(Unsafe.java:325)
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:161)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2035)
    at java.util.concurrent.PriorityBlockingQueue.take(PriorityBlockingQueue.java:519)
    at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.performOperation(DependencyPriorityBlockingQueue.java:197)
    at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.get(DependencyPriorityBlockingQueue.java:236)
    at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.take(DependencyPriorityBlockingQueue.java:65)
    at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.take(DependencyPriorityBlockingQueue.java:46)
    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1058)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1118)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
    at java.lang.Thread.run(Thread.java:761)

    #9. pool-7-thread-2
    at java.lang.Object.wait(Object.java)
    at java.lang.Thread.parkFor$(Thread.java:2127)
    at sun.misc.Unsafe.park(Unsafe.java:325)
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:161)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2035)
    at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:413)
    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1058)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1118)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
    at java.lang.Thread.run(Thread.java:761)

    #10. pool-7-thread-1
    at java.lang.Object.wait(Object.java)
    at java.lang.Thread.parkFor$(Thread.java:2127)
    at sun.misc.Unsafe.park(Unsafe.java:325)
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:161)
    at java.util.concurrent.FutureTask.awaitDone(FutureTask.java:421)
    at java.util.concurrent.FutureTask.get(FutureTask.java:163)
    at com.crashlytics.android.core.CrashlyticsBackgroundWorker.submitAndWait(CrashlyticsBackgroundWorker.java:43)
    at com.crashlytics.android.core.CrashlyticsController.handleUncaughtException(CrashlyticsController.java:285)
    at com.crashlytics.android.core.CrashlyticsController$5.onUncaughtException(CrashlyticsController.java:269)
    at com.crashlytics.android.core.CrashlyticsUncaughtExceptionHandler.uncaughtException(CrashlyticsUncaughtExceptionHandler.java:30)
    at com.unity3d.player.k.uncaughtException(Unknown Source)
    at java.lang.ThreadGroup.uncaughtException(ThreadGroup.java:1068)
    at java.lang.ThreadGroup.uncaughtException(ThreadGroup.java:1063)

    #11. AsyncTask #1
    at java.lang.Object.wait(Object.java)
    at java.lang.Thread.parkFor$(Thread.java:2127)
    at sun.misc.Unsafe.park(Unsafe.java:325)
    at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:201)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2077)
    at java.util.concurrent.LinkedBlockingQueue.poll(LinkedBlockingQueue.java:438)
    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1057)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1118)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
    at java.lang.Thread.run(Thread.java:761)

    #12. FMODAudioDevice
    at android.media.AudioTrack.native_write_byte(AudioTrack.java)
    at android.media.AudioTrack.write(AudioTrack.java:1920)
    at android.media.AudioTrack.write(AudioTrack.java:1857)
    at org.fmod.FMODAudioDevice.run(Unknown Source)
    at java.lang.Thread.run(Thread.java:761)

    #13. Measurement Worker
    at java.lang.Object.wait(Object.java)
    at java.lang.Object.wait(Object.java:407)
    at com.google.android.gms.internal.zzcki.run(Unknown Source)

    #14. Queue
    at java.lang.Object.wait(Object.java)
    at java.lang.Thread.parkFor$(Thread.java:2127)
    at sun.misc.Unsafe.park(Unsafe.java:325)
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:161)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2035)
    at java.util.concurrent.PriorityBlockingQueue.take(PriorityBlockingQueue.java:519)
    at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.performOperation(DependencyPriorityBlockingQueue.java:197)
    at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.get(DependencyPriorityBlockingQueue.java:236)
    at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.take(DependencyPriorityBlockingQueue.java:65)
    at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.take(DependencyPriorityBlockingQueue.java:46)
    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1058)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1118)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
    at java.lang.Thread.run(Thread.java:761)

    #15. HeapTaskDaemon
    at dalvik.system.VMRuntime.runHeapTasks(VMRuntime.java)
    at java.lang.Daemons$HeapTaskDaemon.run(Daemons.java:433)
    at java.lang.Thread.run(Thread.java:761)

    #16. pool-2-thread-1
    at java.lang.Object.wait(Object.java)
    at java.lang.Thread.parkFor$(Thread.java:2127)
    at sun.misc.Unsafe.park(Unsafe.java:325)
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:161)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2035)
    at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1091)
    at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1084)
    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1058)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1118)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
    at java.lang.Thread.run(Thread.java:761)

    #17. ReferenceQueueDaemon
    at java.lang.Object.wait(Object.java)
    at java.lang.Daemons$ReferenceQueueDaemon.run(Daemons.java:150)
    at java.lang.Thread.run(Thread.java:761)

    #18. Queue
    at java.lang.Object.wait(Object.java)
    at java.lang.Thread.parkFor$(Thread.java:2127)
    at sun.misc.Unsafe.park(Unsafe.java:325)
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:161)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2035)
    at java.util.concurrent.PriorityBlockingQueue.take(PriorityBlockingQueue.java:519)
    at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.performOperation(DependencyPriorityBlockingQueue.java:197)
    at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.get(DependencyPriorityBlockingQueue.java:236)
    at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.take(DependencyPriorityBlockingQueue.java:65)
    at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.take(DependencyPriorityBlockingQueue.java:46)
    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1058)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1118)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
    at java.lang.Thread.run(Thread.java:761)

    #19. Queue
    at java.lang.Object.wait(Object.java)
    at java.lang.Thread.parkFor$(Thread.java:2127)
    at sun.misc.Unsafe.park(Unsafe.java:325)
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:161)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2035)
    at java.util.concurrent.PriorityBlockingQueue.take(PriorityBlockingQueue.java:519)
    at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.performOperation(DependencyPriorityBlockingQueue.java:197)
    at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.get(DependencyPriorityBlockingQueue.java:236)
    at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.take(DependencyPriorityBlockingQueue.java:65)
    at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.take(DependencyPriorityBlockingQueue.java:46)
    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1058)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1118)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
    at java.lang.Thread.run(Thread.java:761)

    #20. pool-5-thread-1
    at java.lang.Object.wait(Object.java)
    at java.lang.Thread.parkFor$(Thread.java:2127)
    at sun.misc.Unsafe.park(Unsafe.java:325)
    at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:201)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2077)
    at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1103)
    at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1084)
    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1058)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1118)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
    at java.lang.Thread.run(Thread.java:761)

    #21. Queue
    at java.lang.Object.wait(Object.java)
    at java.lang.Thread.parkFor$(Thread.java:2127)
    at sun.misc.Unsafe.park(Unsafe.java:325)
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:161)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2035)
    at java.util.concurrent.PriorityBlockingQueue.take(PriorityBlockingQueue.java:519)
    at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.performOperation(DependencyPriorityBlockingQueue.java:197)
    at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.get(DependencyPriorityBlockingQueue.java:236)
    at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.take(DependencyPriorityBlockingQueue.java:65)
    at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.take(DependencyPriorityBlockingQueue.java:46)
    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1058)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1118)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
    at java.lang.Thread.run(Thread.java:761)

    #22. Queue
    at java.lang.Object.wait(Object.java)
    at java.lang.Thread.parkFor$(Thread.java:2127)
    at sun.misc.Unsafe.park(Unsafe.java:325)
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:161)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2035)
    at java.util.concurrent.PriorityBlockingQueue.take(PriorityBlockingQueue.java:519)
    at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.performOperation(DependencyPriorityBlockingQueue.java:197)
    at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.get(DependencyPriorityBlockingQueue.java:236)
    at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.take(DependencyPriorityBlockingQueue.java:65)
    at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.take(DependencyPriorityBlockingQueue.java:46)
    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1058)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1118)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
    at java.lang.Thread.run(Thread.java:761)

    #23. Answers Events Handler1
    at java.lang.Object.wait(Object.java)
    at java.lang.Thread.parkFor$(Thread.java:2127)
    at sun.misc.Unsafe.park(Unsafe.java:325)
    at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:201)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2077)
    at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1103)
    at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1084)
    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1058)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1118)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
    at io.fabric.sdk.android.services.common.ExecutorUtils$1$1.onRun(ExecutorUtils.java:75)
    at io.fabric.sdk.android.services.common.BackgroundPriorityRunnable.run(BackgroundPriorityRunnable.java:30)
    at java.lang.Thread.run(Thread.java:761)

    #24. FinalizerDaemon
    at java.lang.Object.wait(Object.java)
    at java.lang.Object.wait(Object.java:407)
    at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:188)
    at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:209)
    at java.lang.Daemons$FinalizerDaemon.run(Daemons.java:204)
    at java.lang.Thread.run(Thread.java:761)

    #25. AsyncTask #4
    at java.lang.Object.wait(Object.java)
    at java.lang.Thread.parkFor$(Thread.java:2127)
    at sun.misc.Unsafe.park(Unsafe.java:325)
    at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:201)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2077)
    at java.util.concurrent.LinkedBlockingQueue.poll(LinkedBlockingQueue.java:438)
    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1057)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1118)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
    at java.lang.Thread.run(Thread.java:761)

    #26. AsyncTask #3
    at java.lang.Object.wait(Object.java)
    at java.lang.Thread.parkFor$(Thread.java:2127)
    at sun.misc.Unsafe.park(Unsafe.java:325)
    at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:201)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2077)
    at java.util.concurrent.LinkedBlockingQueue.poll(LinkedBlockingQueue.java:438)
    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1057)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1118)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
    at java.lang.Thread.run(Thread.java:761)

    #27. Crashlytics Exception Handler1
    at dalvik.system.VMStack.getThreadStackTrace(VMStack.java)
    at java.lang.Thread.getStackTrace(Thread.java:1566)
    at java.lang.Thread.getAllStackTraces(Thread.java:1616)
    at com.crashlytics.android.core.CrashlyticsController.writeSessionEvent(CrashlyticsController.java:1114)
    at com.crashlytics.android.core.CrashlyticsController.writeFatal(CrashlyticsController.java:852)
    at com.crashlytics.android.core.CrashlyticsController.access$400(CrashlyticsController.java:59)
    at com.crashlytics.android.core.CrashlyticsController$6.call(CrashlyticsController.java:292)
    at com.crashlytics.android.core.CrashlyticsController$6.call(CrashlyticsController.java:285)
    at java.util.concurrent.FutureTask.run(FutureTask.java:237)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
    at io.fabric.sdk.android.services.common.ExecutorUtils$1$1.onRun(ExecutorUtils.java:75)
    at io.fabric.sdk.android.services.common.BackgroundPriorityRunnable.run(BackgroundPriorityRunnable.java:30)
    at java.lang.Thread.run(Thread.java:761)

    #28. pool-1-thread-1
    at java.lang.Object.wait(Object.java)
    at java.lang.Thread.parkFor$(Thread.java:2127)
    at sun.misc.Unsafe.park(Unsafe.java:325)
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:161)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2035)
    at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:413)
    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1058)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1118)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
    at java.lang.Thread.run(Thread.java:761)

    #29. UnityChoreographer
    at android.os.MessageQueue.nativePollOnce(MessageQueue.java)
    at android.os.MessageQueue.next(MessageQueue.java:323)
    at android.os.Looper.loop(Looper.java:139)
    at android.os.HandlerThread.run(HandlerThread.java:61)

    #30. AsyncTask #2
    at java.lang.Object.wait(Object.java)
    at java.lang.Thread.parkFor$(Thread.java:2127)
    at sun.misc.Unsafe.park(Unsafe.java:325)
    at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:201)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2077)
    at java.util.concurrent.LinkedBlockingQueue.poll(LinkedBlockingQueue.java:438)
    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1057)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1118)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
    at java.lang.Thread.run(Thread.java:761)


    These are the devices we have seen mostly be affected:

    Galaxy S7
    SM-A720F
    Galaxy J5
    Galaxy S6 Active
    Galaxy S5
    Galaxy Tab3 Lite 7.0
    SM-N950F
    Galaxy Tab3 8.0
    Galaxy J1(2016)
    SM-J106B
    Moto G (5) Plus
    Moto G (5S) Plus
    ONEPLUS A5000
    HTC One Google Play edition
    HUAWEI (unknown models)

    I will try downgrading Unity IAP to a previous version to see if that helps.
     
  5. unityjingyao

    unityjingyao

    Unity Technologies

    Joined:
    Feb 20, 2017
    Posts:
    196
    Hi,
    Thank you so much for sending me this information!
    This crash might be caused by google play in-app billing service. It would return a null value in some circumstance.
    We're going to add more check for the returned bundle by google play service. The fix should be included in next release.
    I apologize for any inconvenience this issue has caused.
    Thank you again for reporting this issue and your patience.
     
  6. MBG-Andrew

    MBG-Andrew

    Joined:
    Jun 1, 2018
    Posts:
    1
    Is this being tracked on the issue tracker?
     
  7. cfkhanh

    cfkhanh

    Joined:
    Dec 3, 2014
    Posts:
    2
    Hi,
    We have the same issues. If you need log to investigate the bugs, please see the attachment file.
     
  8. faisalimrann

    faisalimrann

    Joined:
    Jan 3, 2017
    Posts:
    1
    hi,
    I have same issue. any solution ?
     
  9. MorenoBralts

    MorenoBralts

    Joined:
    May 23, 2017
    Posts:
    19
    We are also having some users with this type of crash, happened along with the 1.19 IAP update. Will the next release be a bugfix release and will it release soon? I'm considering downgrading to 1.17
     
  10. JeffDUnity3D

    JeffDUnity3D

    Unity Technologies

    Joined:
    May 2, 2017
    Posts:
    2,639
    There is no specific time frame, but hopefully within 2-4 weeks for the next release.
     
  11. SamiSdd

    SamiSdd

    Joined:
    Mar 12, 2015
    Posts:
    7
  12. Leonid

    Leonid

    Joined:
    Aug 20, 2013
    Posts:
    34
    Hello! I have the same issue. @JeffDUnity3D can you please tell me, Is it fixed in new version?
     
  13. unityjingyao

    unityjingyao

    Unity Technologies

    Joined:
    Feb 20, 2017
    Posts:
    196
    Last edited: Jul 3, 2018
  14. Leonid

    Leonid

    Joined:
    Aug 20, 2013
    Posts:
    34
    Hi! Thanks for reply! The latest version is 1.20.0. We need to downgrade?
     
  15. unityjingyao

    unityjingyao

    Unity Technologies

    Joined:
    Feb 20, 2017
    Posts:
    196
    Hi @Leonid ,
    I'm so sorry that it should be v1.20.0.
    I've edited my previous reply.
     
    Leonid likes this.