Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

'NSInvalidArgumentException', reason: 'index out of bounds for arranged subview: ...' with UIButtonBar involved

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 UIBarButtons. 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?

like image 792
Kai Avatar asked Oct 19 '25 10:10

Kai


1 Answers

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).

like image 148
Kai Avatar answered Oct 22 '25 02:10

Kai



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!