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 on launch with shred feature and keep private tabs setting enabled #41765

Closed
2 of 5 tasks
Uni-verse opened this issue Oct 21, 2024 · 2 comments · Fixed by brave/brave-core#26139
Closed
2 of 5 tasks
Assignees
Labels
crash OS/iOS Fixes related to iOS browser functionality priority/P2 A bad problem. We might uplift this to the next planned release. QA Pass - iPhone QA/Yes release-notes/exclude

Comments

@Uni-verse
Copy link
Contributor

Uni-verse commented Oct 21, 2024

Description

Crash is occurring when launching/relaunching with Shred feature enabled as well as Keep Private Tabs on Nightly. It will crash a few times before restoring tabs.

When as far back as 1.73 (25)

Incident Identifier: 9B194C7C-4BEF-45D1-AC78-733748B09A54
Beta Identifier:     28F610EE-0199-4D37-91E8-1A1D9F20B5C1
Hardware Model:      iPhone13,3
Process:             Client [11452]
Path:                /private/var/containers/Bundle/Application/0F07693D-40C5-4905-8728-4EA2F2C80607/Client.app/Client
Identifier:          com.brave.ios.BrowserBeta
Version:             1.73 (30)
AppStoreTools:       16A242d
AppVariant:          1:iPhone13,3:18
Beta:                YES
Code Type:           ARM-64 (Native)
Role:                Background
Parent Process:      launchd [1]
Coalition:           com.brave.ios.BrowserBeta [3328]

Date/Time:           2024-10-21 12:41:59.3951 -0400
Launch Time:         2024-10-21 12:41:47.7088 -0400
OS Version:          iPhone OS 18.0 (22A3354)
Release Type:        User
Baseband Version:    5.02.06
Report Version:      104

Exception Type:  EXC_CRASH (SIGKILL)
Exception Codes: 0x0000000000000000, 0x0000000000000000
Termination Reason: FRONTBOARD 2343432205 
<RBSTerminateContext| domain:10 code:0x8BADF00D explanation:[app<com.brave.ios.BrowserBeta>:11452] Failed to terminate gracefully after 5.0s
ProcessVisibility: Unknown
ProcessState: Running
WatchdogEvent: process-exit
WatchdogVisibility: Foreground
WatchdogCPUStatistics: (
"Elapsed total CPU time (seconds): 11.130 (user 8.130, system 3.000), 36% CPU",
"Elapsed application CPU time (seconds): 0.019, 0% CPU"
) reportType:CrashLog maxTerminationResistance:Interactive>

Triggered by Thread:  0

Thread 0 name:  CrWebMain Dispatch queue: com.apple.main-thread
Thread 0 Crashed:
0   libsystem_kernel.dylib        	       0x1e03e2b70 __ulock_wait + 8
1   libdispatch.dylib             	       0x198242ac0 _dlock_wait + 56
2   libdispatch.dylib             	       0x1982429f0 _dispatch_once_wait + 112
3   Client                        	       0x101004a20 static Domain.getOrCreate(forUrl:persistent:) (in Client) (Domain.swift:181) + 5884448
4   Client                        	       0x100d28f68 specialized closure #2 in TabManager.restoreTabsInternal.getter (in Client) (TabManager.swift:1234) + 2887528
5   Client                        	       0x100d283d0 TabManager.restoreTabsInternal.getter (in Client) (TabManager.swift:1253) + 2884560
6   Client                        	       0x100d29f94 TabManager.restoreAllTabs.getter (in Client) (TabManager.swift:1387) + 2891668
7   Client                        	       0x100b61524 BrowserViewController.setupTabs() (in Client) (BrowserViewController.swift:1145) + 1021220
8   Client                        	       0x100b5f8e0 BrowserViewController.setupInteractions() (in Client) (BrowserViewController.swift:0) + 1013984
9   Client                        	       0x100b5ea04 BrowserViewController.viewDidLoad() (in Client) (BrowserViewController.swift:904) + 1010180
10  Client                        	       0x100b5ea70 @objc BrowserViewController.viewDidLoad() (in Client) (/<compiler-generated>:0) + 1010288
11  UIKitCore                     	       0x192d69558 -[UIViewController _sendViewDidLoadWithAppearanceProxyObjectTaggingEnabled] + 84
12  UIKitCore                     	       0x192d680e0 -[UIViewController loadViewIfRequired] + 936
13  UIKitCore                     	       0x19379dbd4 -[UINavigationController _ensureToViewControllersViewIsLoaded:] + 88
14  UIKitCore                     	       0x19379e04c -[UINavigationController transitionConductor:willTransitionFromViewController:toViewController:] + 188
15  UIKitCore                     	       0x193f9dac4 -[_UIViewControllerTransitionConductor startDeferredTransitionIfNeeded] + 456
16  UIKitCore                     	       0x192e674b0 -[UINavigationController __viewWillLayoutSubviews] + 84
17  UIKitCore                     	       0x19310a7e8 -[UILayoutContainerView layoutSubviews] + 172
18  UIKitCore                     	       0x192d20578 -[UIView(CALayerDelegate) layoutSublayersOfLayer:] + 2424
19  QuartzCore                    	       0x192065664 CA::Layer::layout_if_needed(CA::Transaction*) + 496
20  QuartzCore                    	       0x1920651f0 CA::Layer::layout_and_display_if_needed(CA::Transaction*) + 148
21  QuartzCore                    	       0x1920bc29c CA::Context::commit_transaction(CA::Transaction*, double, double*) + 472
22  QuartzCore                    	       0x19203b0d4 CA::Transaction::commit() + 648
23  UIKitCore                     	       0x192ec4428 __34-[UIApplication _firstCommitBlock]_block_invoke_2 + 36
24  CoreFoundation                	       0x1905ab444 __CFRUNLOOP_IS_CALLING_OUT_TO_A_BLOCK__ + 28
25  CoreFoundation                	       0x190599658 __CFRunLoopDoBlocks + 356
26  CoreFoundation                	       0x190598d1c __CFRunLoopRun + 864
27  CoreFoundation                	       0x1905985b8 CFRunLoopRunSpecific + 572
28  GraphicsServices              	       0x1dc02e1c4 GSEventRunModal + 164
29  UIKitCore                     	       0x1930ee5f0 -[UIApplication _run] + 816
30  UIKitCore                     	       0x19319d10c UIApplicationMain + 340
31  UIKitCore                     	       0x1934c9e50 0x192d10000 + 8101456
32  Client                        	       0x100a72908 0x100a68000 + 43272
33  dyld                          	       0x1b5d6bd34 start + 2724

Steps to reproduce

  1. New Install
  2. Open brave://flags and enable #brave-shred, relaunch browser
  3. Enable Keep Private Tabs in Private Tabs setting page
  4. Open some tabs in private mode, relaunch app.

Actual result

Crash a few times before restore

Expected result

No crash

Reproduces how often

Easily reproduced

Brave version

1.73 (30) - Reproducible
1.73 (25) - Reproducible

Device/iOS version

iPhone, iOS 18

Affected browser versions

  • latest AppStore
  • latest TestFlight
  • previous TestFlight

Reproducibility

  • with Brave Shields disabled
  • in the latest version of mobile Safari

Miscellaneous information

No response

@kjozwiak
Copy link
Member

The above requires 1.71.117 or higher for 1.71.x verification 👍

@Uni-verse
Copy link
Contributor Author

Uni-verse commented Oct 24, 2024

Verified on iPhone 12 running iOS 18 using version 1.71.118

  • Ensured crash does not occur on launch when brave://flags#brave-shred and Keep Private Tabs are enabled.
  • Ensured Shred button is shown and working on private and normal tabs.
  • Ensured that crash does not occur for existing users when upgrading.
example example
Image Image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
crash OS/iOS Fixes related to iOS browser functionality priority/P2 A bad problem. We might uplift this to the next planned release. QA Pass - iPhone QA/Yes release-notes/exclude
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants