OneBusAway / onebusaway-ios

OneBusAway for iOS, written in Swift.
Other
81 stars 33 forks source link

App crashes when zooming out too far and scrolling #595

Closed aaronbrethorst closed 2 years ago

aaronbrethorst commented 2 years ago

From a user:

If I zoom out too far and try and scroll the map, it crashes (no error, just closes). Sorry if this is a duplicate bug report but I couldn't figure out how to read the GitHub site :)

ualch9 commented 2 years ago

Has the same crash signature as user-provided reports and xcode://organizer/crashes/downloadPoint?adamId=329380089&platformId=iOS&installPlatformId=iOS&analyticsPointId=BX26J_XrzncYF6Q0HBPKIH&bundleId=org.onebusaway.iphone

Reproducible on iOS 16 simulator:

2022-08-13 23:23:54.617181-0700 App[12982:297561] *** Assertion failure in -[OBAKit.OBAListView _setNeedsVisibleCellsUpdate:withLayoutAttributes:], UICollectionView.m:1738
2022-08-13 23:23:54.637860-0700 App[12982:297561] *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'UICollectionView (<OBAKit.OBAListView 0x139832400>) is stuck in its update/layout loop. This can happen for many reasons, including self-sizing views whose preferred attributes are not returning a consistent size. To debug this issue, check the Console app for logs in the "UICollectionViewRecursion" category.'
*** First throw call stack:
(
    0   CoreFoundation                      0x000000018040c858 __exceptionPreprocess + 172
    1   libobjc.A.dylib                     0x000000018005131c objc_exception_throw + 56
    2   Foundation                          0x0000000180b09108 _userInfoForFileAndLine + 0
    3   UIKitCore                           0x0000000111569d10 -[UICollectionView _setNeedsVisibleCellsUpdate:withLayoutAttributes:] + 440
    4   UIKitCore                           0x0000000111591248 -[UICollectionView _invalidateLayoutWithContext:] + 1212
    5   UIKitCore                           0x00000001115bb828 -[UICollectionViewLayout invalidateLayoutWithContext:] + 136
    6   UIKitCore                           0x00000001114ed704 -[UICollectionViewCompositionalLayout invalidateLayoutWithContext:] + 692
    7   UIKitCore                           0x00000001114ee5c0 -[UICollectionViewCompositionalLayout _didPerformUpdateVisibleCellsPassWithLayoutOffset:logInvalidationReason:] + 860
    8   UIKitCore                           0x0000000111575580 -[UICollectionView _updateVisibleCellsNow:] + 1964
    9   UIKitCore                           0x00000001115755e8 -[UICollectionView _updateVisibleCellsNow:] + 2068
    10  UIKitCore                           0x00000001115755e8 -[UICollectionView _updateVisibleCellsNow:] + 2068
    11  UIKitCore                           0x00000001115755e8 -[UICollectionView _updateVisibleCellsNow:] + 2068
    12  UIKitCore                           0x00000001115755e8 -[UICollectionView _updateVisibleCellsNow:] + 2068
    13  UIKitCore                           0x00000001115755e8 -[UICollectionView _updateVisibleCellsNow:] + 2068
    14  UIKitCore                           0x00000001115755e8 -[UICollectionView _updateVisibleCellsNow:] + 2068
    15  UIKitCore                           0x00000001115755e8 -[UICollectionView _updateVisibleCellsNow:] + 2068
    16  UIKitCore                           0x00000001115755e8 -[UICollectionView _updateVisibleCellsNow:] + 2068
    17  UIKitCore                           0x00000001115755e8 -[UICollectionView _updateVisibleCellsNow:] + 2068
    18  UIKitCore                           0x00000001115755e8 -[UICollectionView _updateVisibleCellsNow:] + 2068
    19  UIKitCore                           0x00000001115755e8 -[UICollectionView _updateVisibleCellsNow:] + 2068
    20  UIKitCore                           0x00000001115755e8 -[UICollectionView _updateVisibleCellsNow:] + 2068
    21  UIKitCore                           0x00000001115755e8 -[UICollectionView _updateVisibleCellsNow:] + 2068
    22  UIKitCore                           0x00000001115755e8 -[UICollectionView _updateVisibleCellsNow:] + 2068
    23  UIKitCore                           0x00000001115755e8 -[UICollectionView _updateVisibleCellsNow:] + 2068
    24  UIKitCore                           0x00000001115755e8 -[UICollectionView _updateVisibleCellsNow:] + 2068
    25  UIKitCore                           0x00000001115755e8 -[UICollectionView _updateVisibleCellsNow:] + 2068
    26  UIKitCore                           0x00000001115755e8 -[UICollectionView _updateVisibleCellsNow:] + 2068
    27  UIKitCore                           0x00000001115755e8 -[UICollectionView _updateVisibleCellsNow:] + 2068
    28  UIKitCore                           0x00000001115755e8 -[UICollectionView _updateVisibleCellsNow:] + 2068
    29  UIKitCore                           0x00000001115755e8 -[UICollectionView _updateVisibleCellsNow:] + 2068
    30  UIKitCore                           0x00000001115755e8 -[UICollectionView _updateVisibleCellsNow:] + 2068
    31  UIKitCore                           0x00000001115755e8 -[UICollectionView _updateVisibleCellsNow:] + 2068
    32  UIKitCore                           0x00000001115755e8 -[UICollectionView _updateVisibleCellsNow:] + 2068
    33  UIKitCore                           0x00000001115755e8 -[UICollectionView _updateVisibleCellsNow:] + 2068
    34  UIKitCore                           0x00000001115755e8 -[UICollectionView _updateVisibleCellsNow:] + 2068
    35  UIKitCore                           0x00000001115755e8 -[UICollectionView _updateVisibleCellsNow:] + 2068
    36  UIKitCore                           0x00000001115755e8 -[UICollectionView _updateVisibleCellsNow:] + 2068
    37  UIKitCore                           0x00000001115755e8 -[UICollectionView _updateVisibleCellsNow:] + 2068
    38  UIKitCore                           0x00000001115755e8 -[UICollectionView _updateVisibleCellsNow:] + 2068
    39  UIKitCore                           0x00000001115755e8 -[UICollectionView _updateVisibleCellsNow:] + 2068
    40  UIKitCore                           0x00000001115755e8 -[UICollectionView _updateVisibleCellsNow:] + 2068
    41  UIKitCore                           0x00000001115755e8 -[UICollectionView _updateVisibleCellsNow:] + 2068
    42  UIKitCore                           0x00000001115755e8 -[UICollectionView _updateVisibleCellsNow:] + 2068
    43  UIKitCore                           0x00000001115755e8 -[UICollectionView _updateVisibleCellsNow:] + 2068
    44  UIKitCore                           0x00000001115755e8 -[UICollectionView _updateVisibleCellsNow:] + 2068
    45  UIKitCore                           0x00000001115755e8 -[UICollectionView _updateVisibleCellsNow:] + 2068
    46  UIKitCore                           0x00000001115755e8 -[UICollectionView _updateVisibleCellsNow:] + 2068
    47  UIKitCore                           0x00000001115755e8 -[UICollectionView _updateVisibleCellsNow:] + 2068
    48  UIKitCore                           0x00000001115755e8 -[UICollectionView _updateVisibleCellsNow:] + 2068
    49  UIKitCore                           0x00000001115755e8 -[UICollectionView _updateVisibleCellsNow:] + 2068
    50  UIKitCore                           0x00000001115755e8 -[UICollectionView _updateVisibleCellsNow:] + 2068
    51  UIKitCore                           0x00000001115755e8 -[UICollectionView _updateVisibleCellsNow:] + 2068
    52  UIKitCore                           0x00000001115755e8 -[UICollectionView _updateVisibleCellsNow:] + 2068
    53  UIKitCore                           0x00000001115755e8 -[UICollectionView _updateVisibleCellsNow:] + 2068
    54  UIKitCore                           0x00000001115755e8 -[UICollectionView _updateVisibleCellsNow:] + 2068
    55  UIKitCore                           0x00000001115755e8 -[UICollectionView _updateVisibleCellsNow:] + 2068
    56  UIKitCore                           0x00000001115755e8 -[UICollectionView _updateVisibleCellsNow:] + 2068
    57  UIKitCore                           0x00000001115755e8 -[UICollectionView _updateVisibleCellsNow:] + 2068
    58  UIKitCore                           0x00000001115755e8 -[UICollectionView _updateVisibleCellsNow:] + 2068
    59  UIKitCore                           0x00000001115755e8 -[UICollectionView _updateVisibleCellsNow:] + 2068
    60  UIKitCore                           0x00000001115755e8 -[UICollectionView _updateVisibleCellsNow:] + 2068
    61  UIKitCore                           0x00000001115755e8 -[UICollectionView _updateVisibleCellsNow:] + 2068
    62  UIKitCore                           0x00000001115755e8 -[UICollectionView _updateVisibleCellsNow:] + 2068
    63  UIKitCore                           0x00000001115755e8 -[UICollectionView _updateVisibleCellsNow:] + 2068
    64  UIKitCore                           0x00000001115755e8 -[UICollectionView _updateVisibleCellsNow:] + 2068
    65  UIKitCore                           0x00000001115755e8 -[UICollectionView _updateVisibleCellsNow:] + 2068
    66  UIKitCore                           0x00000001115755e8 -[UICollectionView _updateVisibleCellsNow:] + 2068
    67  UIKitCore                           0x00000001115755e8 -[UICollectionView _updateVisibleCellsNow:] + 2068
    68  UIKitCore                           0x00000001115755e8 -[UICollectionView _updateVisibleCellsNow:] + 2068
    69  UIKitCore                           0x00000001115755e8 -[UICollectionView _updateVisibleCellsNow:] + 2068
    70  UIKitCore                           0x00000001115755e8 -[UICollectionView _updateVisibleCellsNow:] + 2068
    71  UIKitCore                           0x00000001115755e8 -[UICollectionView _updateVisibleCellsNow:] + 2068
    72  UIKitCore                           0x00000001115755e8 -[UICollectionView _updateVisibleCellsNow:] + 2068
    73  UIKitCore                           0x00000001115755e8 -[UICollectionView _updateVisibleCellsNow:] + 2068
    74  UIKitCore                           0x00000001115755e8 -[UICollectionView _updateVisibleCellsNow:] + 2068
    75  UIKitCore                           0x00000001115755e8 -[UICollectionView _updateVisibleCellsNow:] + 2068
    76  UIKitCore                           0x00000001115755e8 -[UICollectionView _updateVisibleCellsNow:] + 2068
    77  UIKitCore                           0x00000001115755e8 -[UICollectionView _updateVisibleCellsNow:] + 2068
    78  UIKitCore                           0x00000001115755e8 -[UICollectionView _updateVisibleCellsNow:] + 2068
    79  UIKitCore                           0x00000001115755e8 -[UICollectionView _updateVisibleCellsNow:] + 2068
    80  UIKitCore                           0x00000001115755e8 -[UICollectionView _updateVisibleCellsNow:] + 2068
    81  UIKitCore                           0x00000001115755e8 -[UICollectionView _updateVisibleCellsNow:] + 2068
    82  UIKitCore                           0x00000001115755e8 -[UICollectionView _updateVisibleCellsNow:] + 2068
    83  UIKitCore                           0x00000001115755e8 -[UICollectionView _updateVisibleCellsNow:] + 2068
    84  UIKitCore                           0x00000001115755e8 -[UICollectionView _updateVisibleCellsNow:] + 2068
    85  UIKitCore                           0x00000001115755e8 -[UICollectionView _updateVisibleCellsNow:] + 2068
    86  UIKitCore                           0x00000001115755e8 -[UICollectionView _updateVisibleCellsNow:] + 2068
    87  UIKitCore                           0x00000001115755e8 -[UICollectionView _updateVisibleCellsNow:] + 2068
    88  UIKitCore                           0x00000001115755e8 -[UICollectionView _updateVisibleCellsNow:] + 2068
    89  UIKitCore                           0x00000001115755e8 -[UICollectionView _updateVisibleCellsNow:] + 2068
    90  UIKitCore                           0x00000001115755e8 -[UICollectionView _updateVisibleCellsNow:] + 2068
    91  UIKitCore                           0x00000001115755e8 -[UICollectionView _updateVisibleCellsNow:] + 2068
    92  UIKitCore                           0x00000001115755e8 -[UICollectionView _updateVisibleCellsNow:] + 2068
    93  UIKitCore                           0x00000001115755e8 -[UICollectionView _updateVisibleCellsNow:] + 2068
    94  UIKitCore                           0x00000001115755e8 -[UICollectionView _updateVisibleCellsNow:] + 2068
    95  UIKitCore                           0x00000001115755e8 -[UICollectionView _updateVisibleCellsNow:] + 2068
    96  UIKitCore                           0x00000001115755e8 -[UICollectionView _updateVisibleCellsNow:] + 2068
    97  UIKitCore                           0x00000001115755e8 -[UICollectionView _updateVisibleCellsNow:] + 2068
    98  UIKitCore                           0x00000001115755e8 -[UICollectionView _updateVisibleCellsNow:] + 2068
    99  UIKitCore                           0x00000001115755e8 -[UICollectionView _updateVisibleCellsNow:] + 2068
    100 UIKitCore                           0x00000001115755e8 -[UICollectionView _updateVisibleCellsNow:] + 2068
    101 UIKitCore                           0x00000001115755e8 -[UICollectionView _updateVisibleCellsNow:] + 2068
    102 UIKitCore                           0x00000001115755e8 -[UICollectionView _updateVisibleCellsNow:] + 2068
    103 UIKitCore                           0x00000001115755e8 -[UICollectionView _updateVisibleCellsNow:] + 2068
    104 UIKitCore                           0x00000001115755e8 -[UICollectionView _updateVisibleCellsNow:] + 2068
    105 UIKitCore                           0x00000001115755e8 -[UICollectionView _updateVisibleCellsNow:] + 2068
    106 UIKitCore                           0x00000001115755e8 -[UICollectionView _updateVisibleCellsNow:] + 2068
    107 UIKitCore                           0x00000001115755e8 -[UICollectionView _updateVisibleCellsNow:] + 2068
    108 UIKitCore                           0x00000001115755e8 -[UICollectionView _updateVisibleCellsNow:] + 2068
    109 UIKitCore                           0x0000000111579f4c -[UICollectionView layoutSubviews] + 300
    110 UIKitCore                           0x00000001121e94a8 -[UIView(CALayerDelegate) layoutSublayersOfLayer:] + 1920
    111 QuartzCore                          0x0000000187f52420 _ZN2CA5Layer16layout_if_neededEPNS_11TransactionE + 440
    112 QuartzCore                          0x0000000187f5ced8 _ZN2CA5Layer28layout_and_display_if_neededEPNS_11TransactionE + 128
    113 QuartzCore                          0x0000000187e8ea70 _ZN2CA7Context18commit_transactionEPNS_11TransactionEdPd + 452
    114 QuartzCore                          0x0000000187eba718 _ZN2CA11Transaction6commitEv + 652
    115 QuartzCore                          0x0000000187ebbb4c _ZN2CA11Transaction25flush_as_runloop_observerEb + 68
    116 CoreFoundation                      0x0000000180370a2c __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 32
    117 CoreFoundation                      0x000000018036b3cc __CFRunLoopDoObservers + 512
    118 CoreFoundation                      0x000000018036b884 __CFRunLoopRun + 968
    119 CoreFoundation                      0x000000018036b0a4 CFRunLoopRunSpecific + 584
    120 GraphicsServices                    0x00000001892dcc8c GSEventRunModal + 160
    121 UIKitCore                           0x0000000111d57e80 -[UIApplication _run] + 868
    122 UIKitCore                           0x0000000111d5be28 UIApplicationMain + 124
    123 App                                 0x0000000102202cf0 main + 480
    124 dyld                                0x0000000102af5fa0 start_sim + 20
    125 ???                                 0x0000000102a4508c 0x0 + 4339290252
    126 ???                                 0x512d800000000000 0x0 + 5849472228512497664
)
libc++abi: terminating with uncaught exception of type NSException
*** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'UICollectionView (<OBAKit.OBAListView 0x139832400>) is stuck in its update/layout loop. This can happen for many reasons, including self-sizing views whose preferred attributes are not returning a consistent size. To debug this issue, check the Console app for logs in the "UICollectionViewRecursion" category.'
terminating with uncaught exception of type NSException
CoreSimulator 857.6 - Device: iPhone 13 Pro (415F7D76-C51B-4D8A-BCA4-9554017DA451) - Runtime: iOS 16.0 (20A5328h) - DeviceType: iPhone 13 Pro
ualch9 commented 2 years ago

Duplicate of #540