OneBusAway / onebusaway-ios

OneBusAway for iOS, written in Swift.
Other
76 stars 32 forks source link

StopViewController crashing due to out of range index #649

Open ualch9 opened 1 year ago

ualch9 commented 1 year ago

A top StopViewController crasher. We've received multiple user feedback that this sometimes occurs when viewing the Puget Sound Roosevelt Link station in Seattle, and I suspect it to be this crash.

xcode://organizer/crashes/downloadPoint?adamId=329380089&platformId=iOS&installPlatformId=iOS&analyticsPointId=vPB0yZ897PbtjxyQePUCo&bundleId=org.onebusaway.iphone

#0  (null) in Swift runtime failure: Index out of range ()
#1  (null) in specialized _ArrayBuffer._checkInoutAndNativeTypeCheckedBounds(_:wasNativeTypeChecked:) ()
#2  (null) in specialized Array._checkSubscript(_:wasNativeTypeChecked:) ()
#3  0x00000001055570dc in specialized Array.subscript.getter at /Users/alanchu/Documents/projects/onebusaway/onebusaway-ios/OBAKit/Controls/ListView/ViewModels/OBAListViewSection.swift:77
#4  0x00000001055570dc in OBAListViewSection.subscript.getter at /Users/alanchu/Documents/projects/onebusaway/onebusaway-ios/OBAKit/Controls/ListView/OBAListView.swift:214
#5  (null) in OBAListView.itemForIndexPath(_:) ()
#6  0x0000000105557044 in OBAListView.itemForIndexPath(_:) at /Users/alanchu/Documents/projects/onebusaway/onebusaway-ios/OBAKit/Controls/ListView/OBAListView.swift:214
#7  0x0000000105557608 in closure #1 in closure #1 in OBAListView.createLayout() at /Users/alanchu/Documents/projects/onebusaway/onebusaway-ios/OBAKit/Controls/ListView/OBAListView.swift:227
#8  (null) in partial apply for closure #1 in UICollectionLayoutListConfiguration.itemSeparatorHandler.setter ()
#9  (null) in thunk for @escaping @callee_guaranteed (@in_guaranteed IndexPath, @guaranteed UIListSeparatorConfiguration) -> (@owned UIListSeparatorConfiguration) ()
#10 (null) in -[_UICollectionViewListLayoutSection _transformPreferredLayoutAttributes:interactionState:] ()
#11 (null) in __79-[UICollectionViewCompositionalLayout _postProcessPreferredAttributes:forView:]_block_invoke ()
#12 (null) in -[_UICollectionViewLayoutInteractionStateModule performPreferredAttributesProcessingBlock:withLayoutAttributes:forView:] ()
#13 (null) in -[UICollectionViewCompositionalLayout _postProcessPreferredAttributes:forView:] ()
#14 (null) in -[UICollectionView _checkForPreferredAttributesInView:originalAttributes:] ()
#15 (null) in -[UICollectionView _processViewSpecificInvalidationsForVisibleViews] ()
#16 (null) in -[UICollectionView _updateVisibleCellsNow:] ()
#17 (null) in -[UICollectionView _setupCellAnimations] ()
#18 (null) in -[UICollectionView _beginUpdates] ()
#19 (null) in -[UICollectionView _performBatchUpdates:completion:invalidationContext:tentativelyForReordering:animator:animationHandler:] ()
#20 (null) in +[UIView(Animation) performWithoutAnimation:] ()
#21 (null) in __179-[_UIDiffableDataSourceViewUpdater _performUpdateWithCollectionViewUpdateItems:dataSourceSnapshot:updateHandler:completion:viewPropertyAnimator:customAnimationsProvider:animated:]_block_invoke_3 ()
#22 (null) in -[UICollectionView _performInternalBatchUpdates:] ()
#23 (null) in -[UICollectionView _performDiffableUpdate:] ()
#24 (null) in -[_UIDiffableDataSourceViewUpdater _performUpdateWithCollectionViewUpdateItems:dataSourceSnapshot:updateHandler:completion:viewPropertyAnimator:customAnimationsProvider:animated:] ()
#25 (null) in -[__UIDiffableDataSource _commitNewDataSource:withViewUpdates:viewPropertyAnimator:customAnimationsProvider:animated:commitAlongsideHandler:completion:] ()
#26 (null) in __122-[__UIDiffableDataSource _applyDifferencesFromSnapshot:viewPropertyAnimator:customAnimationsProvider:animated:completion:]_block_invoke_2 ()
#27 (null) in __122-[__UIDiffableDataSource _applyDifferencesFromSnapshot:viewPropertyAnimator:customAnimationsProvider:animated:completion:]_block_invoke_7 ()
#28 (null) in _dispatch_client_callout ()
#29 (null) in _dispatch_lane_barrier_sync_invoke_and_complete ()
#30 (null) in -[__UIDiffableDataSource _applyDifferencesFromSnapshot:viewPropertyAnimator:customAnimationsProvider:animated:completion:] ()
#31 (null) in -[__UIDiffableDataSource applyDifferencesFromSnapshot:animatingDifferences:completion:] ()
#32 (null) in UICollectionViewDiffableDataSource.apply(_:animatingDifferences:completion:) ()
#33 0x00000001055590f8 in specialized OBAListView.applyData(animated:) at /Users/alanchu/Documents/projects/onebusaway/onebusaway-ios/OBAKit/Controls/ListView/OBAListView.swift:303
#34 (null) in OBAListView.applyData(animated:) ()
#35 0x00000001055b20d8 in StopViewController.operationError.didset at /Users/alanchu/Documents/projects/onebusaway/onebusaway-ios/OBAKit/Stops/StopViewController.swift:869
#36 (null) in StopViewController.operationError.setter ()
#37 0x00000001055ae078 in closure #1 in StopViewController.updateData() at /Users/alanchu/Documents/projects/onebusaway/onebusaway-ios/OBAKit/Stops/StopViewController.swift:467
#38 0x00000001051b6f5c in closure #1 in DecodableOperation.invokeCompletionHandler() at /Users/alanchu/Documents/projects/onebusaway/onebusaway-ios/OBAKitCore/Network/Operations/DecodableOperation.swift:53
#39 (null) in thunk for @escaping @callee_guaranteed () -> () ()
#40 (null) in _dispatch_call_block_and_release ()
#41 (null) in _dispatch_client_callout ()
#42 (null) in _dispatch_main_queue_drain ()
#43 (null) in _dispatch_main_queue_callback_4CF ()
#44 (null) in __CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__ ()
#45 (null) in __CFRunLoopRun ()
#46 (null) in CFRunLoopRunSpecific ()
#47 (null) in GSEventRunModal ()
#48 (null) in -[UIApplication _run] ()
#49 (null) in UIApplicationMain ()
#50 0x0000000104db0768 in main at /Users/alanchu/Documents/projects/onebusaway/onebusaway-ios/Apps/Shared/CommonClient/main.m:34
#51 (null) in start ()