Random crashes in __71-[UIPresentationController _initViewHierarchyForPresentationSuperview:]_block_invoke + 412

Originator:steipete
Number:rdar://46489378 Date Originated:05-Dec-2018 06:24 PM
Status:Open Resolved:
Product:iOS + SDK Product Version:12.1
Classification:Crash/Hang/Data Loss Reproducible:Sometimes
 
Summary:
We’re seeing random crashes in UIKit via the stack trace below. My guess is that this happens during UIDocumentBrowserViewController presentation, but it’s hard to say, we see these crashes happening for more than a year now and they are not going away, so we finally report them.

This is one of the most dominant crash reasons for pdfviewer.io

Steps to Reproduce:
Run PDF Viewer, restart, it crashes at some point (this can take hours…)

Expected Results:
No crash.

Actual Results:
Crashed: com.apple.main-thread
0  UIKitCore                      0x2096231f0 __71-[UIPresentationController _initViewHierarchyForPresentationSuperview:]_block_invoke + 412
1  UIKitCore                      0x20961f530 -[UIPresentationController _transitionToPresentationController:withTransitionCoordinator:] + 1912
2  UIKitCore                      0x209706d1c -[UIViewController _adaptedPresentationControllerForTraitCollection:withTransitionCoordinator:] + 816
3  UIKitCore                      0x209625f1c -[UIPresentationController _sharedParent:willTransitionToTraitCollection:withTransitionCoordinator:] + 212
4  UIKitCore                      0x209625dac -[UIPresentationController _window:willTransitionToTraitCollection:withTransitionCoordinator:] + 96
5  UIKitCore                      0x2096f3c90 -[UIViewController _window:willTransitionToTraitCollection:withTransitionCoordinator:] + 356
6  UIKitCore                      0x209625dd8 -[UIPresentationController _window:willTransitionToTraitCollection:withTransitionCoordinator:] + 140
7  UIKitCore                      0x2096f3c90 -[UIViewController _window:willTransitionToTraitCollection:withTransitionCoordinator:] + 356
8  UIKitCore                      0x209d04d14 -[UIWindow _willTransitionToTraitCollection:withTransitionCoordinator:] + 452
9  UIKitCore                      0x209d048bc -[UIWindow _willChangeToSize:orientation:screen:withTransitionCoordinator:] + 196
10 UIKitCore                      0x209cfc1ec -[UIWindow _rotateToBounds:withAnimator:transitionContext:] + 264
11 UIKitCore                      0x209cfebd8 -[UIWindow _rotateWindowToOrientation:updateStatusBar:duration:skipCallbacks:] + 1196
12 UIKitCore                      0x209cff3d4 -[UIWindow _setRotatableClient:toOrientation:updateStatusBar:duration:force:isRotating:] + 516
13 UIKitCore                      0x209cfe67c -[UIWindow _setRotatableViewOrientation:updateStatusBar:duration:force:] + 128
14 UIKitCore                      0x209cfd2e0 __57-[UIWindow _updateToInterfaceOrientation:duration:force:]_block_invoke + 124
15 UIKitCore                      0x209cfd17c -[UIWindow _updateToInterfaceOrientation:duration:force:] + 460
16 UIKitCore                      0x20955c61c -[_UICanvasMetricsCalculator updateMetricsOnWindows:animated:] + 632
17 UIKitCore                      0x209561174 -[_UICanvas _computeMetrics:] + 180
18 UIKitCore                      0x20955bba0 _performChangesWithTransitionContext + 848
19 UIKitCore                      0x20955a3bc -[_UICanvasGeometrySettingsDiffAction _updateSceneGeometryWithSettingObserverContext:canvas:transitionContext:] + 132
20 UIKitCore                      0x20955a2b8 __124-[_UICanvasGeometrySettingsDiffAction performActionsForCanvas:withUpdatedScene:settingsDiff:fromSettings:transitionContext:]_block_invoke + 104
21 UIKitCore                      0x20955b840 _performActionsWithDelayForTransitionContext + 112
22 UIKitCore                      0x20955a20c -[_UICanvasGeometrySettingsDiffAction performActionsForCanvas:withUpdatedScene:settingsDiff:fromSettings:transitionContext:] + 176
23 UIKitCore                      0x20955f684 -[_UICanvas scene:didUpdateWithDiff:transitionContext:completion:] + 368
24 UIKitCore                      0x2098a3090 -[UIApplicationSceneClientAgent scene:handleEvent:withCompletion:] + 468
25 FrontBoardServices             0x1dfa556e4 __80-[FBSSceneImpl updater:didUpdateSettings:withDiff:transitionContext:completion:]_block_invoke.359 + 228
26 libdispatch.dylib              0x1dca5a484 _dispatch_client_callout + 16
27 libdispatch.dylib              0x1dc9fde20 _dispatch_block_invoke_direct$VARIANT$mp + 224
28 FrontBoardServices             0x1dfa93a9c __FBSSERIALQUEUE_IS_CALLING_OUT_TO_A_BLOCK__ + 40
29 FrontBoardServices             0x1dfa93728 -[FBSSerialQueue _performNext] + 416
30 FrontBoardServices             0x1dfa93d44 -[FBSSerialQueue _performNextFromRunLoopSource] + 56
31 CoreFoundation                 0x1dcfb01cc __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 24
32 CoreFoundation                 0x1dcfb014c __CFRunLoopDoSource0 + 88
33 CoreFoundation                 0x1dcfafa84 __CFRunLoopDoSources0 + 260
34 CoreFoundation                 0x1dcfaa8fc __CFRunLoopRun + 1040
35 CoreFoundation                 0x1dcfaa1cc CFRunLoopRunSpecific + 436
36 GraphicsServices               0x1df221584 GSEventRunModal + 100
37 UIKitCore                      0x209cbd054 UIApplicationMain + 212
38 Viewer                         0x1026ba95c main (main.swift:12)
39 libdyld.dylib                  0x1dca6abb4 start + 4

Version:
12.1

Notes:
I’m unable to provide a sample project or clear steps to reproduce, so we didn’t report that, but it keeps happening and I don’t see any way how we could fix this ourselves.

Comments


Please note: Reports posted here will not necessarily be seen by Apple. All problems should be submitted at bugreport.apple.com before they are posted here. Please only post information for Radars that you have filed yourself, and please do not include Apple confidential information in your posts. Thank you!