Make RankingHelper$Record.groups thread-safe
Symptom: System crash is happened due to NPE at RankingHelper.writeXml. Root cause: RankingHelper$Record.groups.values() returned null. Record.groups is an ArrayMap and this is not thread-safe. When multiple clients call NotificationManager#createNotificationChannelGroup and deleteNotificationChannelGroup at a same time, Record.groups is changed by multiple threads simultaneously. As a result, this ArrayMap object gets broken. Solution: Use ConcurrentHashMap instead of ArrayMap. Test: runtest systemui-notification, test app Bug: 62557189 Author: Tetsutoki Shiozawa <tetsutoki.shiozawa@sony.com> Change-Id: I2261dbd1ace4915695528595b9d14d68e5bec55d
Loading
Please register or sign in to comment