Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fixed crash when setting ORStackView.bottomMarginHeight without any child views on iOS8. #19

Merged
merged 1 commit into from
Jun 9, 2014

Conversation

dblock
Copy link
Contributor

@dblock dblock commented Jun 7, 2014

Adding a constraint with a nil view doesn't work anymore on iOS8. You get "Unexpected use of internal layout attribute".

2014-06-06 18:13:13.759 ORStackViewExample[83043:1114513] *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Unexpected use of internal layout attribute'
*** First throw call stack:
(
  0   CoreFoundation                      0x019a0916 __exceptionPreprocess + 182
  1   libobjc.A.dylib                     0x0163e8d9 objc_exception_throw + 44
  2   CoreFoundation                      0x019a07aa +[NSException raise:format:arguments:] + 138
  3   Foundation                          0x012bf67c -[NSAssertionHandler handleFailureInMethod:object:file:lineNumber:description:] + 118
  4   UIKit                               0x0080628e -[UIView(AdditionalLayoutSupport) nsli_lowerAttribute:intoExpression:withCoefficient:forConstraint:] + 2452
  5   Foundation                          0x01234952 lower_1_attribute + 194
  6   Foundation                          0x012343cd -[NSLayoutConstraint _lowerIntoExpression:reportingConstantIsRounded:] + 99
  7   Foundation                          0x0122852f -[NSLayoutConstraint _addToEngine:integralizationAdjustment:mutuallyExclusiveConstraints:] + 97
  8   UIKit                               0x007f7ba3 -[UIView(UIConstraintBasedLayout) _layoutEngine_didAddLayoutConstraint:roundingAdjustment:mutuallyExclusiveConstraints:] + 508
  9   UIKit                               0x007f7ffb -[UIView(UIConstraintBasedLayout) _tryToAddConstraintWithoutUpdatingConstraintsArray:roundingAdjustment:mutuallyExclusiveConstraints:] + 61
  10  UIKit                               0x007f8148 -[UIView(UIConstraintBasedLayout) _tryToAddConstraint:roundingAdjustment:mutuallyExclusiveConstraints:] + 273
  11  UIKit                               0x007f8310 -[UIView(UIConstraintBasedLayout) _addConstraint:] + 234
  12  UIKit                               0x007f8221 -[UIView(UIConstraintBasedLayout) addConstraint:] + 40
  13  ORStackViewExampleTests             0x0c22eee4 -[UIView(FLKAutoLayoutPredicate) applyPredicate:toView:fromAttribute:toAttribute:] + 404
  14  ORStackViewExampleTests             0x0c22cf3f __78+[UIView(FLKAutoLayout) alignAttribute:ofViews:toAttribute:ofViews:predicate:]_block_invoke + 239
  15  ORStackViewExampleTests             0x0c229b1c -[FLKAutoLayoutPredicateList iteratePredicatesUsingBlock:] + 508
  16  ORStackViewExampleTests             0x0c22ccdc +[UIView(FLKAutoLayout) alignAttribute:ofViews:toAttribute:ofViews:predicate:] + 764
  17  ORStackViewExampleTests             0x0c22c95e +[UIView(FLKAutoLayout) alignAttribute:ofViews:toViews:predicate:] + 206
  18  ORStackViewExampleTests             0x0c22a6d5 -[UIView(FLKAutoLayout) alignAttribute:toView:predicate:] + 373
  19  ORStackViewExampleTests             0x0c22bd5c -[UIView(FLKAutoLayout) alignBottomEdgeWithView:predicate:] + 140
  20  ORStackViewExampleTests             0x0c23aa5b -[ORStackView updateConstraints] + 3083
  21  UIKit                               0x0080411c -[UIView(AdditionalLayoutSupport) _internalUpdateConstraintsIfNeededAccumulatingViewsNeedingSecondPassAndViewsNeedingBaselineUpdate:] + 272
  22  UIKit                               0x0080430f -[UIView(AdditionalLayoutSupport) _updateConstraintsIfNeededAccumulatingViewsNeedingSecondPassAndViewsNeedingBaselineUpdate:] + 127
  23  UIKit                               0x0080428a __UIViewRecursionHelper + 41
  24  CoreFoundation                      0x01892f69 CFArrayApplyFunction + 57
  25  UIKit                               0x008040ac -[UIView(AdditionalLayoutSupport) _internalUpdateConstraintsIfNeededAccumulatingViewsNeedingSecondPassAndViewsNeedingBaselineUpdate:] + 160
  26  UIKit                               0x0080430f -[UIView(AdditionalLayoutSupport) _updateConstraintsIfNeededAccumulatingViewsNeedingSecondPassAndViewsNeedingBaselineUpdate:] + 127
  27  UIKit                               0x0080428a __UIViewRecursionHelper + 41
  28  CoreFoundation                      0x01892f69 CFArrayApplyFunction + 57
  29  UIKit                               0x008040ac -[UIView(AdditionalLayoutSupport) _internalUpdateConstraintsIfNeededAccumulatingViewsNeedingSecondPassAndViewsNeedingBaselineUpdate:] + 160
  30  UIKit                               0x0080430f -[UIView(AdditionalLayoutSupport) _updateConstraintsIfNeededAccumulatingViewsNeedingSecondPassAndViewsNeedingBaselineUpdate:] + 127
  31  UIKit                               0x008048a6 __60-[UIView(AdditionalLayoutSupport) updateConstraintsIfNeeded]_block_invoke + 105
  32  Foundation                          0x01238830 -[NSISEngine withBehaviors:performModifications:] + 143
  33  Foundation                          0x0123bda8 -[NSISEngine withAutomaticOptimizationDisabled:] + 48
  34  UIKit                               0x00803ecb -[UIView(AdditionalLayoutSupport) _withAutomaticEngineOptimizationDisabledIfEngineExists:] + 64
  35  UIKit                               0x008044fc -[UIView(AdditionalLayoutSupport) updateConstraintsIfNeeded] + 248
  36  UIKit                               0x007f710d -[UIWindow(UIConstraintBasedLayout) updateConstraintsIfNeeded] + 87
  37  UIKit                               0x007f705f -[UIWindow(UIConstraintBasedLayout) layoutSublayersOfLayer:] + 91
  38  libobjc.A.dylib                     0x01651763 -[NSObject performSelector:withObject:] + 70
  39  QuartzCore                          0x032aeb87 -[CALayer layoutSublayers] + 152

@dblock
Copy link
Contributor Author

dblock commented Jun 7, 2014

To repro the problem you need an iOS8 simulator, facebookarchive/ios-snapshot-test-case#40 and specta/specta#83.

@orta
Copy link
Owner

orta commented Jun 9, 2014

woohoo

orta added a commit that referenced this pull request Jun 9, 2014
Fixed crash when setting ORStackView.bottomMarginHeight without any child views on iOS8.
@orta orta merged commit eae8094 into orta:master Jun 9, 2014
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants