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

[Bug]: java.util.ConcurrentModificationException

Open christiaan opened this issue 1 year ago • 6 comments

What happened?

The app completely crashes

Steps to reproduce?

We migrated from version 3.x to 5.x

Replaced `setAppId` with `initialize`.
Replaced `setNotificationOpenedHandler` with `click` event listener on Notifications.
Replaced `addSubscriptionObserver` with `change` event listener on User.pushSubscription.
And at the end added the requestPermission call.

What did you expect to happen?

No crash

OneSignal Cordova SDK version

5.0.4

Which platform(s) are affected?

  • [ ] iOS
  • [X] Android 13 and higher

Relevant log output

Exception java.util.ConcurrentModificationException:
  at java.util.ArrayList$Itr.checkForComodification (ArrayList.java:1029)
  at java.util.ArrayList$Itr.next (ArrayList.java:982)
  at com.onesignal.common.events.EventProducer.fire (EventProducer.kt:49)
  at com.onesignal.core.internal.application.impl.ApplicationService.setCurrent (ApplicationService.kt:50)
  at com.onesignal.core.internal.application.impl.ApplicationService.onActivityStarted (ApplicationService.kt:150)
  at android.app.Application.dispatchActivityStarted (Application.java:420)
  at android.app.Activity.dispatchActivityStarted (Activity.java:1451)
  at android.app.Activity.onStart (Activity.java:1969)
  at android.app.Instrumentation.callActivityOnStart (Instrumentation.java:1510)
  at android.app.Activity.performStart (Activity.java:8616)
  at android.app.ActivityThread.handleStartActivity (ActivityThread.java:4204)
  at android.app.servertransaction.TransactionExecutor.performLifecycleSequence (TransactionExecutor.java:221)
  at android.app.servertransaction.TransactionExecutor.cycleToPath (TransactionExecutor.java:201)
  at android.app.servertransaction.TransactionExecutor.executeLifecycleState (TransactionExecutor.java:173)
  at android.app.servertransaction.TransactionExecutor.execute (TransactionExecutor.java:97)
  at android.app.ActivityThread$H.handleMessage (ActivityThread.java:2574)
  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:8757)
  at java.lang.reflect.Method.invoke
  at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:571)
  at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1067)

Code of Conduct

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

christiaan avatar Dec 20 '23 08:12 christiaan

Thank you for this report, @christiaan. We are already investigating this crash happening in the same place as your stack trace. We will let you know when a fix is ready!

jennantilla avatar Dec 21 '23 23:12 jennantilla

@jennantilla Hello! Do you have any update on this issue?

Sergeo-sel avatar Jan 02 '24 08:01 Sergeo-sel

@jennantilla can you link the issue in which that bug is tracked?

christiaan avatar Jan 11 '24 07:01 christiaan

@jennantilla is there a way to speed this up? Without a short solution timeline I have to consider moving to some OneSignal alternative.

bartvanvelden avatar Jan 11 '24 11:01 bartvanvelden

@brayden-onesignal can you help out here?

bartvanvelden avatar Jan 16 '24 12:01 bartvanvelden

or @gdeglin what can we do to get this fixed?

bartvanvelden avatar Jan 16 '24 12:01 bartvanvelden

Hello everyone! Apologies that these responses were missed. In case you missed it, the ConcurrentModificationExceptions were resolved in Q1. Please update to our latest SDK version. If you have any further questions or concerns, please let us know!

jennantilla avatar Apr 18 '24 19:04 jennantilla