Closed Bug 1465865 Opened 7 years ago Closed 7 years ago

Crash report: Send Tab with app not running calls addTab before BVC viewDidLoad

Categories

(Firefox for iOS :: General, defect, P2)

Other
iOS
defect

Tracking

()

VERIFIED FIXED
Tracking Status
fxios 12.1 ---

People

(Reporter: garvan, Assigned: garvan)

Details

Attachments

(1 file)

55 bytes, text/x-github-pull-request
justindarc
: review+
Details | Review
The line reporting a crash is ``` func tab(_ tab: Tab, didCreateWebView webView: WKWebView) { webView.frame = webViewContainer.frame ``` webViewContainer is a UIView!, and is initialized in BVC.viewDidLoad(), and a SIGTRAP (as reported here) is indicative of an unwrapped nil. The stack trace indicates a new tab was created immediately at app start, and BVC.viewDidLoad() would not have run yet. Here is the annotated stack trace: Date/Time: 2018-05-30 06:52:44.4262 -0700 Launch Time: 2018-05-30 06:52:43.5272 -0700 OS Version: iPhone OS 11.4 (15F79) Baseband Version: 1.04.51 Report Version: 104 Exception Type: EXC_BREAKPOINT (SIGTRAP) Exception Codes: 0x0000000000000001, 0x0000000102580e38 Termination Signal: Trace/BPT trap: 5 Termination Reason: Namespace SIGNAL, Code 0x5 Terminating Process: exc handler [0] Triggered by Thread: 0 Thread 0 name: Thread 0 Crashed: 0 Client 0x0000000102580e38 specialized BrowserViewController.tab(_:didCreateWebView:) + 516 (BrowserViewController.swift:1577) 1 Client 0x000000010255d9a8 @objc BrowserViewController.tab(_:didCreateWebView:) + 64 2 Client 0x0000000102521a94 Tab.createWebview() + 1868 (Tab.swift:0) 3 Client 0x0000000102508eac specialized TabManager.configureTab(_:request:afterTab:flushToDisk:zombie:isPopup:) + 2712 (TabManager.swift:355) 4 Client 0x0000000102509658 specialized TabManager.addTab(_:configuration:afterTab:flushToDisk:zombie:isPrivate:) + 424 (TabManager.swift:0) 5 Client 0x000000010256e344 specialized BrowserViewController.openURLInNewTab(_:isPrivate:isPrivileged:) + 580 (BrowserViewController.swift:0) 6 Client 0x000000010242a508 specialized AppDelegate.openURLsInNewTabs(_:) + 1668 (AppDelegate.swift:0) [Comment: `openURLsInNewTabs` is from send tab.] 7 Client 0x0000000102420998 @objc AppDelegate.userNotificationCenter(_:didReceive:withCompletionHandler:) + 104 (AppDelegate.swift:0) 8 Leanplum 0x00000001032432d8 -[NSObject(LeanplumExtension) leanplum_userNotificationCenter:didReceiveNotificationResponse:withCompletionHandler:] + 448 9 UIKit 0x000000018ae5c2b0 -[UIApplication _handleNonLaunchSpecificActions:forScene:withTransitionContext:completion:] + 2664 (UIApplication.m:9451) 10 UIKit 0x000000018ae5a71c -[UIApplication _callInitializationDelegatesForMainScene:transitionContext:] + 4852 (UIApplication.m:2327) 11 UIKit 0x000000018ae275e0 -[UIApplication _runWithMainScene:transitionContext:completion:] + 1680 (UIApplication.m:3491) [COMMENT: the above 3 lines indicate app booting, note also the Launch Time to report time is <1s.] 12 UIKit 0x000000018b457b1c __111-[__UICanvasLifecycleMonitor_Compatability _scheduleFirstCommitForScene:transition:firstActivation:completion:]_block_invoke + 784 (_UICanvasLifecycleMonitor.m:175) 13 UIKit 0x000000018ae26dd0 +[_UICanvas _enqueuePostSettingUpdateTransactionBlock:] + 160 (_UICanvas.m:591) 14 UIKit 0x000000018ae26c6c -[__UICanvasLifecycleMonitor_Compatability _scheduleFirstCommitForScene:transition:firstActivation:completion:] + 240 (_UICanvasLifecycleMonitor.m:153) 15 UIKit 0x000000018ae25afc -[__UICanvasLifecycleMonitor_Compatability activateEventsOnly:withContext:completion:] + 724 (_UICanvasLifecycleMonitor.m:229) 16 UIKit 0x000000018babb84c __82-[_UIApplicationCanvas _transitionLifecycleStateWithTransitionContext:completion:]_block_invoke + 296 (_UIApplicationCanvas.m:0) 17 UIKit 0x000000018ae251ec -[_UIApplicationCanvas _transitionLifecycleStateWithTransitionContext:completion:] + 432 (_UIApplicationCanvas.m:156) 18 UIKit 0x000000018b8a0ac8 __125-[_UICanvasLifecycleSettingsDiffAction performActionsForCanvas:withUpdatedScene:settingsDiff:fromSettings:transitionContext:]_block_invoke + 220 (_UICanvasLifecycleSettingsDiffAction.m:211) 19 UIKit 0x000000018b9eebf8 _performActionsWithDelayForTransitionContext + 112 (_UICanvasSettingsDiffAction.m:34) 20 UIKit 0x000000018ae24c0c -[_UICanvasLifecycleSettingsDiffAction performActionsForCanvas:withUpdatedScene:settingsDiff:fromSettings:transitionContext:] + 248 (_UICanvasLifecycleSettingsDiffAction.m:182) 21 UIKit 0x000000018ae245a8 -[_UICanvas scene:didUpdateWithDiff:transitionContext:completion:] + 368 (_UICanvas.m:517) 22 UIKit 0x000000018ae215e0 -[UIApplication workspace:didCreateScene:withTransitionContext:completion:] + 540 (UIApplication.m:3109) 23 UIKit 0x000000018ae21330 -[UIApplicationSceneClientAgent scene:didInitializeWithEvent:completion:] + 364 (UIApplicationSceneClientAgent.m:41)
Priority: -- → P2
Attached file Pull request
Assignee: nobody → gkeeley
Status: NEW → ASSIGNED
Attachment #8983546 - Flags: review?(jdarcangelo)
Attachment #8983546 - Flags: review?(jdarcangelo) → review+
landed on master
Status: ASSIGNED → RESOLVED
Closed: 7 years ago
Resolution: --- → FIXED
Uplifted to 12.x: 75102a1ee
I was able to reproduce the crash on v12.0 (10862). On v12.1 (10923) the crash is no longer happening. Verifying as fixed.
Status: RESOLVED → VERIFIED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: