Cell should never be in update animation (UICollectionView crash)

Viewed 2398

I've got Cell should never be in update animation crash in UICollectionView reported by crashlytics This crash happens only for users on iOS 14. It wasn't noticeable when the application used SDK iOS 13 (it affected less than 0.01 % of all users). But after supporting SDK iOS 14, crash frequency noticeably increased to almost 0.25 % of all users. Internally UICollectionView, as far as I understand (from some UIKit disassembly journey), loops through visible cells and checks that a cell animation counter is equal to zero (else, it crashes with the following stack trace). It's not for sure, but presumably crash happens while performBatchUpdates(_:completion:) I couldn't reproduce this bug, and I can't spend more time digging into UIKitCore disassembled code to understand when and why this animation counter changes.

Fatal Exception: NSInternalInconsistencyException
0  CoreFoundation                 0x1915e9114 __exceptionPreprocess
1  libobjc.A.dylib                0x1a4e0fcb4 objc_exception_throw
2  CoreFoundation                 0x1914f8308 -[CFPrefsSearchListSource addManagedSourceForIdentifier:user:]
3  Foundation                     0x1927dc2c8 -[NSAssertionHandler handleFailureInMethod:object:file:lineNumber:description:]
4  UIKitCore                      0x1935b8548 __43-[UICollectionView _updateVisibleCellsNow:]_block_invoke_4.1070
5  UIKitCore                      0x1935b8000 __43-[UICollectionView _updateVisibleCellsNow:]_block_invoke.1053
6  libdispatch.dylib              0x191221298 _dispatch_call_block_and_release
7  libdispatch.dylib              0x191222280 _dispatch_client_callout
8  libdispatch.dylib              0x1911d123c _dispatch_main_queue_callback_4CF$VARIANT$mp
9  CoreFoundation                 0x191568c30 __CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__
10 CoreFoundation                 0x1915630e8 __CFRunLoopRun
11 CoreFoundation                 0x191562200 CFRunLoopRunSpecific
12 GraphicsServices               0x1a765d598 GSEventRunModal
13 UIKitCore                      0x193e28004 -[UIApplication _run]
14 UIKitCore                      0x193e2d5d8 UIApplicationMain
15 App                            0x100dd2d1c main + 49 (main.m:49)
16 libdyld.dylib                  0x191241598 start

Did anyone face the same issue? Were you able to reproduce it?

0 Answers
Related