I hope someone is able to help me out here. For a weeks I am seeing this exception in my app:
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'index out of bounds for arranged subview: index = 5 expected to be less than or equal to 4'
*** First throw call stack:
(
0 CoreFoundation 0x00007fff23e3cf0e __exceptionPreprocess + 350
1 libobjc.A.dylib 0x00007fff50ba89b2 objc_exception_throw + 48
2 CoreFoundation 0x00007fff23e3cd4c +[NSException raise:format:] + 188
3 UIKitCore 0x00007fff49095fa8 -[UIStackView insertArrangedSubview:atIndex:] + 161
4 UIKitCore 0x00007fff48282ac1 -[_UIButtonBar _layoutBar] + 3461
5 UIKitCore 0x00007fff4828637e -[_UIButtonBarStackView updateConstraints] + 48
6 UIKitCore 0x00007fff490b0afa -[UIView(AdditionalLayoutSupport) _sendUpdateConstraintsIfNecessaryForSecondPass:] + 489
7 UIKitCore 0x00007fff490b10c8 -[UIView(AdditionalLayoutSupport) _updateConstraintsIfNeededCollectingViews:forSecondPass:] + 1187
8 UIKitCore 0x00007fff490b0f62 -[UIView(AdditionalLayoutSupport) _updateConstraintsIfNeededCollectingViews:forSecondPass:] + 829
9 Foundation 0x00007fff25aa5778 -[NSISEngine withBehaviors:performModifications:] + 84
10 UIKitCore 0x00007fff490b12de -[UIView(AdditionalLayoutSupport) _recursiveUpdateConstraintsIfNeededCollectingViews:forSecondPass:] + 112
11 UIKitCore 0x00007fff490b0f62 -[UIView(AdditionalLayoutSupport) _updateConstraintsIfNeededCollectingViews:forSecondPass:] + 829
12 Foundation 0x00007fff25aa5778 -[NSISEngine withBehaviors:performModifications:] + 84
13 UIKitCore 0x00007fff490b12de -[UIView(AdditionalLayoutSupport) _recursiveUpdateConstraintsIfNeededCollectingViews:forSecondPass:] + 112
14 UIKitCore 0x00007fff490b0f62 -[UIView(AdditionalLayoutSupport) _updateConstraintsIfNeededCollectingViews:forSecondPass:] + 829
15 UIKitCore 0x00007fff490b0f62 -[UIView(AdditionalLayoutSupport) _updateConstraintsIfNeededCollectingViews:forSecondPass:] + 829
16 UIKitCore 0x00007fff490b0f62 -[UIView(AdditionalLayoutSupport) _updateConstraintsIfNeededCollectingViews:forSecondPass:] + 829
17 UIKitCore 0x00007fff490b0f62 -[UIView(AdditionalLayoutSupport) _updateConstraintsIfNeededCollectingViews:forSecondPass:] + 829
18 UIKitCore 0x00007fff490b0f62 -[UIView(AdditionalLayoutSupport) _updateConstraintsIfNeededCollectingViews:forSecondPass:] + 829
19 Foundation 0x00007fff25aa5778 -[NSISEngine withBehaviors:performModifications:] + 84
20 UIKitCore 0x00007fff490b12de -[UIView(AdditionalLayoutSupport) _recursiveUpdateConstraintsIfNeededCollectingViews:forSecondPass:] + 112
21 UIKitCore 0x00007fff490b0f62 -[UIView(AdditionalLayoutSupport) _updateConstraintsIfNeededCollectingViews:forSecondPass:] + 829
22 UIKitCore 0x00007fff490b0f62 -[UIView(AdditionalLayoutSupport) _updateConstraintsIfNeededCollectingViews:forSecondPass:] + 829
23 UIKitCore 0x00007fff490b0f62 -[UIView(AdditionalLayoutSupport) _updateConstraintsIfNeededCollectingViews:forSecondPass:] + 829
24 Foundation 0x00007fff25aa5778 -[NSISEngine withBehaviors:performModifications:] + 84
25 UIKitCore 0x00007fff490b186a __100-[UIView(AdditionalLayoutSupport) _updateConstraintsIfNeededWithViewForVariableChangeNotifications:]_block_invoke + 85
26 UIKitCore 0x00007fff490b0077 -[UIView(AdditionalLayoutSupport) _withUnsatisfiableConstraintsLoggingSuspendedIfEngineDelegateExists:] + 104
27 UIKitCore 0x00007fff490b13c5 -[UIView(AdditionalLayoutSupport) _updateConstraintsIfNeededWithViewForVariableChangeNotifications:] + 154
28 UIKitCore 0x00007fff490a1390 -[UIWindow(UIConstraintBasedLayout) _updateConstraintsIfNeededWithViewForVariableChangeNotifications:] + 92
29 UIKitCore 0x00007fff490b22e4 -[UIView(AdditionalLayoutSupport) _updateConstraintsAtEngineLevelIfNeededWithViewForVariableChangeNotifications:] + 393
30 UIKitCore 0x00007fff4917f21b -[UIView(Hierarchy) _updateConstraintsAsNecessaryAndApplyLayoutFromEngine] + 272
31 UIKitCore 0x00007fff49193678 -[UIView(CALayerDelegate) layoutSublayersOfLayer:] + 2478
32 QuartzCore 0x00007fff2b4c6398 -[CALayer layoutSublayers] + 255
33 QuartzCore 0x00007fff2b4cc523 _ZN2CA5Layer16layout_if_neededEPNS_11TransactionE + 523
34 QuartzCore 0x00007fff2b4d7bba _ZN2CA5Layer28layout_and_display_if_neededEPNS_11TransactionE + 80
35 QuartzCore 0x00007fff2b420c04 _ZN2CA7Context18commit_transactionEPNS_11TransactionEd + 324
36 QuartzCore 0x00007fff2b4545ef _ZN2CA11Transaction6commitEv + 649
37 QuartzCore 0x00007fff2b454f81 _ZN2CA11Transaction17observer_callbackEP19__CFRunLoopObservermPv + 79
38 CoreFoundation 0x00007fff23da0127 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 23
39 CoreFoundation 0x00007fff23d9abde __CFRunLoopDoObservers + 430
40 CoreFoundation 0x00007fff23d9b12a __CFRunLoopRun + 1226
41 CoreFoundation 0x00007fff23d9a944 CFRunLoopRunSpecific + 404
42 GraphicsServices 0x00007fff38ba6c1a GSEventRunModal + 139
43 UIKitCore 0x00007fff48c8b9ec UIApplicationMain + 1605
44 MyApp 0x00000001012dd63b main + 75
45 libdyld.dylib 0x00007fff51a231fd start + 1
46 ??? 0x0000000000000001 0x0 + 1
)
I can not find out what the root cause it. Because _UIButtonBarStackView
is mentioned I assume that it has something to do with a UINavigationBar
UIBarButton
s. It seems to happen when I dismiss a modally presented UINavigationController
, but I am not sure.
It also looks like it started to happen with iOS 13.4.1, because I can't find any crash report with any older version.
Anyone might know what's going on here?
Found out the cause: I was adding the same UIBarButtonItem again to navigationItem.rightBarButtonItems
. Apple seems to raise exceptions about that since iOS 13.4.1(-ish).
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With