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

Crash: PinLayout.swift - Line 1236 #261

Open
orojasnypost opened this issue Dec 6, 2022 · 0 comments
Open

Crash: PinLayout.swift - Line 1236 #261

orojasnypost opened this issue Dec 6, 2022 · 0 comments

Comments

@orojasnypost
Copy link

I'm afraid that the issue is still happening.

Firebase crashlytics is reporting that our app is crashing after PinLayout tries to call referenceSuperview and this method calls viewDescription. It seems that the object referenceView which should be created from anchor.view in the method computeCoordinatesForAnchors in the line 384 of PinLayout+Coordinates is nil. And this causes referenceSuperview to fail to create a reference to the superview from referenceView.superview. Because of this when warnWontBeApplied is called in line 1236 of PinLayout crashes when it tries to call viewDescription(referenceView)

This is what we've tried:

All views and layout updating is done in the main thread.
Pin.logWarnings = true is nowhere in our code
I tried validating that the superView of the previous view isn't nil before pinning it. The fix was released but the issue persists in Crashlytics. (I'm not able to reproduce it locally).

This is the stacktrace from crashlytics:

Crashed: com.apple.main-thread
0 libswiftCore.dylib 0x41dd74 swift_getObjectType + 40
1 PinLayout 0x24910 PinLayout.viewDescription(:) + 100 (:100)
2 PinLayout 0xa258 PinLayout.referenceSuperview(
::) + 1236 (PinLayout.swift:1236)
3 PinLayout 0xee38 closure #1 in PinLayout.computeCoordinates(forAnchors:
:) + 384 (PinLayout+Coordinates.swift:384)
4 PinLayout 0xea30 PinLayout.computeCoordinates(forAnchors::) + 196 (:196)
5 PinLayout 0x18900 PinLayout.below(of:aligned:context:) + 170 (PinLayout+Relative.swift:170)
6 PinLayout 0x18e68 PinLayout.above(of:aligned:) + 244
7 NYP 0x2e40ec NYPVerticalContainerFrameView.layout() + 95 (NYPVerticalContainerFrameView.swift:95)
8 NYP 0x2e4d74 protocol witness for FrameViewProtocol.layout() in conformance NYPVerticalContainerFrameView + 20 (:20)
9 NYP 0x7369a8 FrameViewProtocol<>.heightThatFits(
:) + 43 (FrameViewType.swift:43)
10 NYP 0x2929ec NYPVerticalContainerFrame.height(forWidth:) + 91 (NYPVerticalContainerFrame.swift:91)
11 NYP 0x68ea1c ContainerCollectionViewLayout.attributesFor(frame:currentXOffset:currentYOffset:indexPath:inRow:) + 47 (Container+LayoutHelpers.swift:47)
12 NYP 0x69528c calculateAttributes #1 (for:) in attemptToLayout #1 (frame:atIndex:) in ContainerCollectionViewLayout.prepare() + 447 (ContainerCollectionViewLayout.swift:447)
13 NYP 0x69449c attemptToLayout #1 (frame:atIndex:) in ContainerCollectionViewLayout.prepare() + 472 (ContainerCollectionViewLayout.swift:472)
14 NYP 0x690690 ContainerCollectionViewLayout.prepare() + 498 (ContainerCollectionViewLayout.swift:498)
15 NYP 0x695db0 @objc ContainerCollectionViewLayout.prepare() + 28 (:28)
16 UIKitCore 0x76828 -[UICollectionViewData _prepareToLoadData] + 192
17 UIKitCore 0x444020 -[UICollectionViewData validateLayoutInRect:] + 96
18 UIKitCore 0x29ac8 -[UICollectionView layoutSubviews] + 220
19 UIKitCore 0x4cec -[UIView(CALayerDelegate) layoutSublayersOfLayer:] + 1980
20 QuartzCore 0xa4e8 CA::Layer::layout_if_needed(CA::Transaction*) + 500
21 UIKitCore 0xd2ae8 -[UIView(Hierarchy) layoutBelowIfNeeded] + 292
22 UIKitCore 0x781a98 __66-[UINavigationController _updateBottomBarsForNavigationTransition]_block_invoke + 152
23 UIKitCore 0x316d0 +[UIView(Animation) performWithoutAnimation:] + 76
24 UIKitCore 0x781800 -[UINavigationController _updateBottomBarsForNavigationTransition] + 240
25 UIKitCore 0x277ea4 -[UINavigationController _navigationBarWillBeginCoordinatedTransitionAnimations:] + 224
26 UIKitCore 0x277da0 -[UINavigationBar _sendNavigationBarAnimateTransition] + 72
27 UIKitCore 0x27546c __96-[_UINavigationBarVisualProviderModernIOS _performAnimationWithTransitionCompletion:transition:]_block_invoke_2 + 40
28 UIKitCore 0xd0af0 +[UIView _setupAnimationWithDuration:delay:view:options:factory:animations:start:animationStateGenerator:completion:] + 512
29 UIKitCore 0x1012f8 +[UIView(UIViewAnimationWithBlocks) _animateWithDuration:delay:options:factory:animations:completion:] + 52
30 UIKitCore 0xfe470 -[_UINavigationBarVisualProviderModernIOS _performAnimationWithTransitionCompletion:transition:] + 2044
31 UIKitCore 0x2ed4d0 -[UINavigationBar _pushNavigationItem:transitionAssistant:] + 464
32 UIKitCore 0x2ed280 -[UINavigationBar _pushNavigationItemUsingCurrentTransition:] + 144
33 UIKitCore 0x2ebc04 -[UINavigationBar pushNavigationItem:animated:] + 164
34 UIKitCore 0x2ebb40 -[UINavigationBar _performUpdatesIgnoringLock:] + 68
35 UIKitCore 0x2ebae0 -[UINavigationBar _pushNavigationItem:transition:] + 140
36 UIKitCore 0x1b7618 __71-[UINavigationController pushViewController:transition:forceImmediate:]_block_invoke + 292
37 UIKitCore 0x77ff08 __71-[UINavigationController pushViewController:transition:forceImmediate:]_block_invoke_3 + 88
38 UIKitCore 0x105270 __98-[UINavigationController _shouldSkipHostedRefreshControlUpdateSchedulingDeferredUpdateIfNecessary]_block_invoke + 40
39 UIKitCore 0x1a7bb4 -[UINavigationController _startDeferredTransitionIfNeeded:] + 880
40 UIKitCore 0x1a70f4 -[UINavigationController __viewWillLayoutSubviews] + 96
41 UIKitCore 0x1a7058 -[UILayoutContainerView layoutSubviews] + 172
42 UIKitCore 0x4cec -[UIView(CALayerDelegate) layoutSublayersOfLayer:] + 1980
43 QuartzCore 0xa4e8 CA::Layer::layout_if_needed(CA::Transaction*) + 500
44 QuartzCore 0x1db9c CA::Layer::layout_and_display_if_needed(CA::Transaction*) + 148
45 QuartzCore 0x2f098 CA::Context::commit_transaction(CA::Transaction*, double, double*) + 456
46 QuartzCore 0x663c4 CA::Transaction::commit() + 652
47 QuartzCore 0x4d408 CA::Transaction::flush_as_runloop_observer(bool) + 88
48 UIKitCore 0x504fb0 _UIApplicationFlushCATransaction + 52
49 UIKitCore 0x651678 _UIUpdateSequenceRun + 84
50 UIKitCore 0xc90904 schedulerStepScheduledMainSection + 172
51 UIKitCore 0xc8fad0 runloopSourceCallback + 92
52 CoreFoundation 0xd622c CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION + 28
53 CoreFoundation 0xe2614 __CFRunLoopDoSource0 + 176
54 CoreFoundation 0x6651c __CFRunLoopDoSources0 + 244
55 CoreFoundation 0x7beb8 __CFRunLoopRun + 836
56 CoreFoundation 0x811e4 CFRunLoopRunSpecific + 612
57 GraphicsServices 0x1368 GSEventRunModal + 164
58 UIKitCore 0x3a2d88 -[UIApplication _run] + 888
59 UIKitCore 0x3a29ec UIApplicationMain + 340
60 NYP 0x97f8 main + 24 (AppDelegate.swift:24)
61 ??? 0x1b5791948 (Missing)

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

No branches or pull requests

1 participant