NordicSemiconductor / Android-BLE-Library

A library that makes working with Bluetooth LE on Android a pleasure. Seriously.
BSD 3-Clause "New" or "Revised" License
1.98k stars 413 forks source link

Concurrent modification exception while notifying device disconnected #548

Closed archie94 closed 2 hours ago

archie94 commented 5 months ago

On 2.7.3 we are getting this crash on some user devices

Fatal Exception: java.util.ConcurrentModificationException:
       at java.util.HashMap$HashIterator.nextNode(HashMap.java:1574)
       at java.util.HashMap$ValueIterator.next(HashMap.java:1602)
       at no.nordicsemi.android.ble.BleManagerHandler.notifyDeviceDisconnected(BleManagerHandler.java:1934)
       at no.nordicsemi.android.ble.BleManagerHandler$4.onConnectionStateChange(BleManagerHandler.java:2214)
       at android.bluetooth.BluetoothGatt$1$4.run(BluetoothGatt.java:381)
       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.os.HandlerThread.run(HandlerThread.java:67)

At the moment we do not know the proper steps to reproduce.