OneSignal-Android-SDK icon indicating copy to clipboard operation
OneSignal-Android-SDK copied to clipboard

[Bug]: Release 5.0.4 Crash on ApplicationService.kt:39 Reason:Unable to start receiver com.onesignal.notifications.receivers.NotificationDismissReceiver: java.lang.NullPointerException

Open passerby-yyds opened this issue 1 year ago • 7 comments

What happened?

This issue has increased the app crash rate by 5 percentage points. !!!! Please fix this issue as soon as possible, otherwise we will consider replacing the push platform.

image

image

Crashlytics - Stack trace

Application: com.nextmar.zeelool.android

Platform: android

Version: 2.8.3 (3158)

Issue: ec22dff928181e05b476a760168eda5f

Session: 65542A2E006D0001194E5BE97BE8B236_DNE_0_v2

Date: Wed Nov 15 2023 10:17:29 GMT+0800 (中国标准时间)

Fatal Exception: java.lang.RuntimeException: Unable to start receiver com.onesignal.notifications.receivers.NotificationDismissReceiver: java.lang.NullPointerException at android.app.ActivityThread.handleReceiver(ActivityThread.java:4903) at android.app.ActivityThread.-$$Nest$mhandleReceiver() at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2420) at android.os.Handler.dispatchMessage(Handler.java:106) at android.os.Looper.loopOnce(Looper.java:226) at android.os.Looper.loop(Looper.java:313) at android.app.ActivityThread.main(ActivityThread.java:8762) at java.lang.reflect.Method.invoke(Method.java) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:604) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1067)

Caused by java.lang.NullPointerException: at com.onesignal.core.internal.application.impl.ApplicationService.getAppContext(ApplicationService.kt:39) at com.onesignal.core.internal.device.impl.DeviceService.packageInstalledAndEnabled(DeviceService.kt:106) at com.onesignal.core.internal.device.impl.DeviceService.isGMSInstalledAndEnabled(DeviceService.kt:101) at com.onesignal.core.internal.device.impl.DeviceService.supportsGooglePush(DeviceService.kt:84) at com.onesignal.core.internal.device.impl.DeviceService.getDeviceType(DeviceService.kt:41) at com.onesignal.core.internal.device.impl.DeviceService.isAndroidDeviceType(DeviceService.kt:18) at com.onesignal.location.LocationModule$register$1.invoke(LocationModule.kt:31) at com.onesignal.location.LocationModule$register$1.invoke(LocationModule.kt:28) at com.onesignal.common.services.ServiceRegistrationLambda.resolve(ServiceRegistration.kt:164) at com.onesignal.common.services.ServiceProvider.getServiceOrNull(ServiceProvider.kt:79) at com.onesignal.common.services.ServiceProvider.getService(ServiceProvider.kt:67) at com.onesignal.common.services.ServiceRegistrationReflection.resolve(ServiceRegistration.kt:82) at com.onesignal.common.services.ServiceProvider.getServiceOrNull(ServiceProvider.kt:79) at com.onesignal.common.services.ServiceProvider.getService(ServiceProvider.kt:67) at com.onesignal.common.services.ServiceRegistrationReflection.resolve(ServiceRegistration.kt:82) at com.onesignal.common.services.ServiceProvider.getServiceOrNull(ServiceProvider.kt:79) at com.onesignal.common.services.ServiceProvider.getService(ServiceProvider.kt:67) at com.onesignal.internal.OneSignalImp.initWithContext(OneSignalImp.kt:474) at com.onesignal.OneSignal.initWithContext(OneSignal.kt:208) at com.onesignal.notifications.receivers.NotificationDismissReceiver.onReceive(NotificationDismissReceiver.kt:39) at android.app.ActivityThread.handleReceiver(ActivityThread.java:4894) at android.app.ActivityThread.-$$Nest$mhandleReceiver() at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2420) at android.os.Handler.dispatchMessage(Handler.java:106) at android.os.Looper.loopOnce(Looper.java:226) at android.os.Looper.loop(Looper.java:313) at android.app.ActivityThread.main(ActivityThread.java:8762) at java.lang.reflect.Method.invoke(Method.java) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:604) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1067)

FinalizerDaemon: at java.lang.Object.wait(Object.java) at java.lang.Object.wait(Object.java:386) at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:210) at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:231) at java.lang.Daemons$FinalizerDaemon.runInternal(Daemons.java:309) at java.lang.Daemons$Daemon.run(Daemons.java:145) at java.lang.Thread.run(Thread.java:1012)

cached-pool-1-thread-0: at jdk.internal.misc.Unsafe.park(Unsafe.java) at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:252) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:1672) at java.util.concurrent.LinkedBlockingQueue.poll(LinkedBlockingQueue.java:460) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1070) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1131) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644) at java.lang.Thread.run(Thread.java:1012) at com.blankj.utilcode.util.ThreadUtils$UtilsThreadFactory$1.run(ThreadUtils.java:1136)

DefaultDispatcher-worker-2: at jdk.internal.misc.Unsafe.park(Unsafe.java) at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:376) at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.park(CoroutineScheduler.kt:795) at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.tryPark(CoroutineScheduler.kt:740) at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:711) at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:664)

WM.task-2: at jdk.internal.misc.Unsafe.park(Unsafe.java) at java.util.concurrent.locks.LockSupport.park(LockSupport.java:341) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionNode.block(AbstractQueuedSynchronizer.java:506) at java.util.concurrent.ForkJoinPool.unmanagedBlock(ForkJoinPool.java:3466) at java.util.concurrent.ForkJoinPool.managedBlock(ForkJoinPool.java:3437) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1623) at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:435) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1071) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1131) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644) at java.lang.Thread.run(Thread.java:1012)

Timer-0: at java.lang.Object.wait(Object.java) at java.lang.Object.wait(Object.java:386) at java.lang.Object.wait(Object.java:524) at java.util.TimerThread.mainLoop(Timer.java:534) at java.util.TimerThread.run(Timer.java:513)

Firebase-Messaging-Topics-Io: at jdk.internal.misc.Unsafe.park(Unsafe.java) at java.util.concurrent.locks.LockSupport.park(LockSupport.java:341) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionNode.block(AbstractQueuedSynchronizer.java:506) at java.util.concurrent.ForkJoinPool.unmanagedBlock(ForkJoinPool.java:3466) at java.util.concurrent.ForkJoinPool.managedBlock(ForkJoinPool.java:3437) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1623) at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1176) at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:905) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1071) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1131) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644) at com.google.android.gms.common.util.concurrent.zza.run(com.google.android.gms:play-services-basement@@18.2.0:2) at java.lang.Thread.run(Thread.java:1012)

Firebase Background Thread #2: at jdk.internal.misc.Unsafe.park(Unsafe.java) at java.util.concurrent.locks.LockSupport.park(LockSupport.java:341) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionNode.block(AbstractQueuedSynchronizer.java:506) at java.util.concurrent.ForkJoinPool.unmanagedBlock(ForkJoinPool.java:3466) at java.util.concurrent.ForkJoinPool.managedBlock(ForkJoinPool.java:3437) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1623) at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:435) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1071) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1131) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644) at com.google.firebase.concurrent.CustomThreadFactory.lambda$newThread$0$com-google-firebase-concurrent-CustomThreadFactory(CustomThreadFactory.java:47) at com.google.firebase.concurrent.CustomThreadFactory$$ExternalSyntheticLambda0.run(:4) at java.lang.Thread.run(Thread.java:1012)

pool-8-thread-1: at jdk.internal.misc.Unsafe.park(Unsafe.java) at java.util.concurrent.locks.LockSupport.park(LockSupport.java:341) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionNode.block(AbstractQueuedSynchronizer.java:506) at java.util.concurrent.ForkJoinPool.unmanagedBlock(ForkJoinPool.java:3466) at java.util.concurrent.ForkJoinPool.managedBlock(ForkJoinPool.java:3437) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1623) at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:435) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1071) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1131) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644) at java.lang.Thread.run(Thread.java:1012)

OkHttp ConnectionPool: at java.lang.Object.wait(Object.java) at com.android.okhttp.ConnectionPool$1.run(ConnectionPool.java:106) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644) at java.lang.Thread.run(Thread.java:1012)

queued-work-looper: at android.os.MessageQueue.nativePollOnce(MessageQueue.java) at android.os.MessageQueue.next(MessageQueue.java:335) at android.os.Looper.loopOnce(Looper.java:186) at android.os.Looper.loop(Looper.java:313) at android.os.HandlerThread.run(HandlerThread.java:67)

FinalizerWatchdogDaemon: at java.lang.Object.wait(Object.java) at java.lang.Object.wait(Object.java:386) at java.lang.Object.wait(Object.java:524) at java.lang.Daemons$FinalizerWatchdogDaemon.sleepUntilNeeded(Daemons.java:428) at java.lang.Daemons$FinalizerWatchdogDaemon.runInternal(Daemons.java:408) at java.lang.Daemons$Daemon.run(Daemons.java:145) at java.lang.Thread.run(Thread.java:1012)

pool-18-thread-1: at jdk.internal.misc.Unsafe.park(Unsafe.java) at java.util.concurrent.locks.LockSupport.park(LockSupport.java:341) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionNode.block(AbstractQueuedSynchronizer.java:506) at java.util.concurrent.ForkJoinPool.unmanagedBlock(ForkJoinPool.java:3466) at java.util.concurrent.ForkJoinPool.managedBlock(ForkJoinPool.java:3437) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1623) at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1176) at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:905) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1071) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1131) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644) at java.lang.Thread.run(Thread.java:1012)

awaitEvenIfOnMainThread task continuation executor1: at jdk.internal.misc.Unsafe.park(Unsafe.java) at java.util.concurrent.locks.LockSupport.park(LockSupport.java:341) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionNode.block(AbstractQueuedSynchronizer.java:506) at java.util.concurrent.ForkJoinPool.unmanagedBlock(ForkJoinPool.java:3466) at java.util.concurrent.ForkJoinPool.managedBlock(ForkJoinPool.java:3437) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1623) at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:435) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1071) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1131) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644) at com.google.firebase.crashlytics.internal.common.ExecutorUtils$1$1.onRun(ExecutorUtils.java:67) at com.google.firebase.crashlytics.internal.common.BackgroundPriorityRunnable.run(BackgroundPriorityRunnable.java:27) at java.lang.Thread.run(Thread.java:1012)

com.google.firebase.crashlytics.startup1: at jdk.internal.misc.Unsafe.park(Unsafe.java) at java.util.concurrent.locks.LockSupport.park(LockSupport.java:341) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionNode.block(AbstractQueuedSynchronizer.java:506) at java.util.concurrent.ForkJoinPool.unmanagedBlock(ForkJoinPool.java:3466) at java.util.concurrent.ForkJoinPool.managedBlock(ForkJoinPool.java:3437) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1623) at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:435) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1071) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1131) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644) at com.google.firebase.crashlytics.internal.common.ExecutorUtils$1$1.onRun(ExecutorUtils.java:67) at com.google.firebase.crashlytics.internal.common.BackgroundPriorityRunnable.run(BackgroundPriorityRunnable.java:27) at java.lang.Thread.run(Thread.java:1012)

DefaultDispatcher-worker-1: at jdk.internal.misc.Unsafe.park(Unsafe.java) at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:376) at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.park(CoroutineScheduler.kt:795) at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.tryPark(CoroutineScheduler.kt:740) at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:711) at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:664)

DefaultDispatcher-worker-3: at jdk.internal.misc.Unsafe.park(Unsafe.java) at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:376) at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.park(CoroutineScheduler.kt:795) at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.tryPark(CoroutineScheduler.kt:740) at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:711) at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:664)

ConnectivityThread: at android.os.MessageQueue.nativePollOnce(MessageQueue.java) at android.os.MessageQueue.next(MessageQueue.java:335) at android.os.Looper.loopOnce(Looper.java:186) at android.os.Looper.loop(Looper.java:313) at android.os.HandlerThread.run(HandlerThread.java:67)

AsyncTask #1: at jdk.internal.misc.Unsafe.park(Unsafe.java) at java.util.concurrent.locks.LockSupport.park(LockSupport.java:341) at java.util.concurrent.SynchronousQueue$TransferStack$SNode.block(SynchronousQueue.java:288) at java.util.concurrent.ForkJoinPool.unmanagedBlock(ForkJoinPool.java:3466) at java.util.concurrent.ForkJoinPool.managedBlock(ForkJoinPool.java:3437) at java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:397) at java.util.concurrent.SynchronousQueue.take(SynchronousQueue.java:886) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1071) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1131) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644) at java.lang.Thread.run(Thread.java:1012)

pool-17-thread-1: at jdk.internal.misc.Unsafe.park(Unsafe.java) at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:252) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:1672) at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1188) at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:905) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1071) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1131) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644) at java.lang.Thread.run(Thread.java:1012)

Firebase Background Thread #0: at jdk.internal.misc.Unsafe.park(Unsafe.java) at java.util.concurrent.locks.LockSupport.park(LockSupport.java:341) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionNode.block(AbstractQueuedSynchronizer.java:506) at java.util.concurrent.ForkJoinPool.unmanagedBlock(ForkJoinPool.java:3466) at java.util.concurrent.ForkJoinPool.managedBlock(ForkJoinPool.java:3437) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1623) at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:435) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1071) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1131) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644) at com.google.firebase.concurrent.CustomThreadFactory.lambda$newThread$0$com-google-firebase-concurrent-CustomThreadFactory(CustomThreadFactory.java:47) at com.google.firebase.concurrent.CustomThreadFactory$$ExternalSyntheticLambda0.run(:4) at java.lang.Thread.run(Thread.java:1012)

Firebase Blocking Thread #0: at jdk.internal.misc.Unsafe.park(Unsafe.java) at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:252) at java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:401) at java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:903) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1070) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1131) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644) at com.google.firebase.concurrent.CustomThreadFactory.lambda$newThread$0$com-google-firebase-concurrent-CustomThreadFactory(CustomThreadFactory.java:47) at com.google.firebase.concurrent.CustomThreadFactory$$ExternalSyntheticLambda0.run(:4) at java.lang.Thread.run(Thread.java:1012)

pool-19-thread-1: at jdk.internal.misc.Unsafe.park(Unsafe.java) at java.util.concurrent.locks.LockSupport.park(LockSupport.java:341) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionNode.block(AbstractQueuedSynchronizer.java:506) at java.util.concurrent.ForkJoinPool.unmanagedBlock(ForkJoinPool.java:3466) at java.util.concurrent.ForkJoinPool.managedBlock(ForkJoinPool.java:3437) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1623) at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:435) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1071) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1131) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644) at java.lang.Thread.run(Thread.java:1012)

WM.task-3: at jdk.internal.misc.Unsafe.park(Unsafe.java) at java.util.concurrent.locks.LockSupport.park(LockSupport.java:341) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionNode.block(AbstractQueuedSynchronizer.java:506) at java.util.concurrent.ForkJoinPool.unmanagedBlock(ForkJoinPool.java:3466) at java.util.concurrent.ForkJoinPool.managedBlock(ForkJoinPool.java:3437) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1623) at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:435) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1071) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1131) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644) at java.lang.Thread.run(Thread.java:1012)

Firebase-Messaging-Init: at jdk.internal.misc.Unsafe.park(Unsafe.java) at java.util.concurrent.locks.LockSupport.park(LockSupport.java:341) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionNode.block(AbstractQueuedSynchronizer.java:506) at java.util.concurrent.ForkJoinPool.unmanagedBlock(ForkJoinPool.java:3466) at java.util.concurrent.ForkJoinPool.managedBlock(ForkJoinPool.java:3437) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1623) at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1176) at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:905) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1071) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1131) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644) at com.google.android.gms.common.util.concurrent.zza.run(com.google.android.gms:play-services-basement@@18.2.0:2) at java.lang.Thread.run(Thread.java:1012)

Crashlytics Exception Handler1: at dalvik.system.VMStack.getThreadStackTrace(VMStack.java) at java.lang.Thread.getStackTrace(Thread.java:1841) at java.lang.Thread.getAllStackTraces(Thread.java:1909) at com.google.firebase.crashlytics.internal.common.CrashlyticsReportDataCapture.populateThreadsList(CrashlyticsReportDataCapture.java:334) at com.google.firebase.crashlytics.internal.common.CrashlyticsReportDataCapture.populateExecutionData(CrashlyticsReportDataCapture.java:305) at com.google.firebase.crashlytics.internal.common.CrashlyticsReportDataCapture.populateEventApplicationData(CrashlyticsReportDataCapture.java:253) at com.google.firebase.crashlytics.internal.common.CrashlyticsReportDataCapture.captureEventData(CrashlyticsReportDataCapture.java:106) at com.google.firebase.crashlytics.internal.common.SessionReportingCoordinator.persistEvent(SessionReportingCoordinator.java:303) at com.google.firebase.crashlytics.internal.common.SessionReportingCoordinator.persistFatalEvent(SessionReportingCoordinator.java:132) at com.google.firebase.crashlytics.internal.common.CrashlyticsController$2.call(CrashlyticsController.java:214) at com.google.firebase.crashlytics.internal.common.CrashlyticsController$2.call(CrashlyticsController.java:199) at com.google.firebase.crashlytics.internal.common.CrashlyticsBackgroundWorker$3.then(CrashlyticsBackgroundWorker.java:105) at com.google.android.gms.tasks.zze.run(com.google.android.gms:play-services-tasks@@18.0.2:1) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644) at com.google.firebase.crashlytics.internal.common.ExecutorUtils$1$1.onRun(ExecutorUtils.java:67) at com.google.firebase.crashlytics.internal.common.BackgroundPriorityRunnable.run(BackgroundPriorityRunnable.java:27) at java.lang.Thread.run(Thread.java:1012)

flutter-worker-1: at jdk.internal.misc.Unsafe.park(Unsafe.java) at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:252) at java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:401) at java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:903) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1070) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1131) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644) at java.lang.Thread.run(Thread.java:1012)

ScionFrontendApi: at jdk.internal.misc.Unsafe.park(Unsafe.java) at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:252) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:1672) at java.util.concurrent.LinkedBlockingQueue.poll(LinkedBlockingQueue.java:460) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1070) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1131) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644) at java.lang.Thread.run(Thread.java:1012)

Measurement Worker: at java.lang.Object.wait(Object.java) at java.lang.Object.wait(Object.java:386) at m.lk.run(:com.google.android.gms.dynamite_measurementdynamite@[email protected] (190400-0):71)

ReferenceQueueDaemon: at java.lang.Object.wait(Object.java) at java.lang.Object.wait(Object.java:386) at java.lang.Object.wait(Object.java:524) at java.lang.Daemons$ReferenceQueueDaemon.runInternal(Daemons.java:239) at java.lang.Daemons$Daemon.run(Daemons.java:145) at java.lang.Thread.run(Thread.java:1012)

Firebase Background Thread #1: at jdk.internal.misc.Unsafe.park(Unsafe.java) at java.util.concurrent.locks.LockSupport.park(LockSupport.java:341) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionNode.block(AbstractQueuedSynchronizer.java:506) at java.util.concurrent.ForkJoinPool.unmanagedBlock(ForkJoinPool.java:3466) at java.util.concurrent.ForkJoinPool.managedBlock(ForkJoinPool.java:3437) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1623) at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:435) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1071) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1131) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644) at com.google.firebase.concurrent.CustomThreadFactory.lambda$newThread$0$com-google-firebase-concurrent-CustomThreadFactory(CustomThreadFactory.java:47) at com.google.firebase.concurrent.CustomThreadFactory$$ExternalSyntheticLambda0.run(:4) at java.lang.Thread.run(Thread.java:1012)

Firebase Background Thread #3: at jdk.internal.misc.Unsafe.park(Unsafe.java) at java.util.concurrent.locks.LockSupport.park(LockSupport.java:341) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionNode.block(AbstractQueuedSynchronizer.java:506) at java.util.concurrent.ForkJoinPool.unmanagedBlock(ForkJoinPool.java:3466) at java.util.concurrent.ForkJoinPool.managedBlock(ForkJoinPool.java:3437) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1623) at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:435) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1071) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1131) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644) at com.google.firebase.concurrent.CustomThreadFactory.lambda$newThread$0$com-google-firebase-concurrent-CustomThreadFactory(CustomThreadFactory.java:47) at com.google.firebase.concurrent.CustomThreadFactory$$ExternalSyntheticLambda0.run(:4) at java.lang.Thread.run(Thread.java:1012)

WM.task-1: at jdk.internal.misc.Unsafe.park(Unsafe.java) at java.util.concurrent.locks.LockSupport.park(LockSupport.java:341) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionNode.block(AbstractQueuedSynchronizer.java:506) at java.util.concurrent.ForkJoinPool.unmanagedBlock(ForkJoinPool.java:3466) at java.util.concurrent.ForkJoinPool.managedBlock(ForkJoinPool.java:3437) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1623) at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:435) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1071) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1131) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644) at java.lang.Thread.run(Thread.java:1012)

WM.task-4: at jdk.internal.misc.Unsafe.park(Unsafe.java) at java.util.concurrent.locks.LockSupport.park(LockSupport.java:341) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionNode.block(AbstractQueuedSynchronizer.java:506) at java.util.concurrent.ForkJoinPool.unmanagedBlock(ForkJoinPool.java:3466) at java.util.concurrent.ForkJoinPool.managedBlock(ForkJoinPool.java:3437) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1623) at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:435) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1071) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1131) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644) at java.lang.Thread.run(Thread.java:1012)

flutter-worker-0: at jdk.internal.misc.Unsafe.park(Unsafe.java) at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:252) at java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:401) at java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:903) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1070) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1131) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644) at java.lang.Thread.run(Thread.java:1012)

GmsDynamite: at java.lang.Object.wait(Object.java) at java.lang.Object.wait(Object.java:386) at java.lang.Object.wait(Object.java:524) at com.google.android.gms.dynamite.zza.run(com.google.android.gms:play-services-basement@@18.2.0:2)

Steps to reproduce?

1. Install App
2. Open it
3. Close the application background
4. Send notification to device

You may receive a crash message.

What did you expect to happen?

You may receive a crash message. This doesn't happen 100% of the time.

Example code: image image

OneSignal Android SDK version

Release 5.0.4

Android version

13, 12, 11, 10

Specific Android models

No response

Relevant log output

No response

Code of Conduct

  • [X] I agree to follow this project's Code of Conduct

passerby-yyds avatar Nov 15 '23 02:11 passerby-yyds

@passerby-yyds thanks for reaching out! We're investigating this and will get back to you as soon as possible.

jennantilla avatar Nov 16 '23 19:11 jennantilla

any updates here, im facing the same issue

Ahmad0811 avatar Dec 29 '23 23:12 Ahmad0811

Any updates? I have the same issue @jennantilla

husseinTalal2 avatar Jan 22 '24 15:01 husseinTalal2

any updates? @jennantilla

Nalymoslih avatar Jan 22 '24 15:01 Nalymoslih

We are giving this issue 1 more week, otherwise we will move back to Firebase. This is the second time OneSignal has done that to us.

RekarBotany avatar Jan 22 '24 22:01 RekarBotany

Hello everyone, apologies for the delay and thank you for your patience! The team is looking into this more and we will update here as soon as we have some more information regarding a fix.

jennantilla avatar Jan 24 '24 02:01 jennantilla

Hi @passerby-yyds, I see that you have called OneSignal.initWithContext with applicationContext. Could you show us how the applicationContext was initialized? I had a similar issue before and was resolved by passing the context from getApplicationContext() instead of getContext().

jinliu9508 avatar Feb 20 '24 19:02 jinliu9508

@passerby-yyds @Ahmad0811 @husseinTalal2 @Nalymoslih @RekarBotany A fix for this issue has been released in Android SDK version 5.1.6. Thank you all for your contributions to resolving this issue, and please let us know if it still occurs..

https://github.com/OneSignal/OneSignal-Android-SDK/releases/tag/5.1.6

jinliu9508 avatar Mar 11 '24 20:03 jinliu9508