Closed Bug 1354942 Opened 8 years ago Closed 7 years ago

Crash in TabManager.preserveTabsInternal() -> ()

Categories

(Firefox for iOS :: General, defect)

Other
iOS
defect
Not set
critical

Tracking

()

RESOLVED INVALID
Tracking Status
fxios + ---
fxios-v7.0 --- affected

People

(Reporter: st3fan, Unassigned)

Details

(Keywords: crash, steps-wanted, Whiteboard: [fxios74])

Another NSArchiving related bug. Not sure what is happening here, inside NSKeyedArchiver#dealloc, but it is another reason to stop using it. Exception Type: EXC_BAD_ACCESS (SIGSEGV) Exception Subtype: KERN_INVALID_ADDRESS at 0x0000000000000008 Termination Signal: Segmentation fault: 11 Termination Reason: Namespace SIGNAL, Code 0xb Terminating Process: exc handler [0] Triggered by Thread: 0 0 libobjc.A.dylib 0x0000000185d396fc objc_object::release() + 0 1 CoreFoundation 0x00000001871cb35c -[__NSDictionaryM dealloc] + 120 2 CoreFoundation 0x00000001872d8e28 common_removeAllObjects + 188 3 CoreFoundation 0x00000001871c9ee0 -[__NSArrayM dealloc] + 28 4 Foundation 0x0000000187d63430 -[NSKeyedArchiver dealloc] + 228 5 Client 0x000000010023656c TabManager.preserveTabsInternal() -> () (TabManager.swift:0) 6 Client 0x0000000100244e80 partial apply for TabManager.(preserveTabs() -> ()).(closure #1) (TabManager.swift:0) 7 Client 0x00000001000564ec -[Try initWithTry:catch:] (Try.m:19) 8 Client 0x0000000100236718 TabManager.preserveTabs() -> () (TabManager.swift:0) 9 Client 0x0000000100236798 @objc TabManager.preserveTabs() -> () (TabManager.swift:0) 10 Client 0x000000010023c7f8 specialized TabManager.selectTab(Tab?, previous : Tab?) -> () (TabManager.swift:188) 11 Client 0x0000000100277be4 BrowserViewController.openURLInNewTab(URL?, isPrivate : Bool, isPrivileged : Bool) -> () (BrowserViewController.swift:0) 12 Client 0x00000001002a07a8 specialized BrowserViewController.performMenuAction(MenuAction, withAppState : AppState) -> () (BrowserViewController.swift:1327) 13 Client 0x000000010027a158 protocol witness for MenuActionDelegate.performMenuAction(MenuAction, withAppState : AppState) -> () in conformance BrowserViewController (BrowserViewController.swift:0) 14 Client 0x00000001002cc84c MenuViewController.(performMenuAction(MenuAction) -> ()).(closure #1) (MenuViewController.swift:0) 15 Client 0x00000001002d1c70 partial apply for MenuViewController.(performMenuAction(MenuAction) -> ()).(closure #1) (MenuViewController.swift:0) 16 libdispatch.dylib 0x00000001861721fc _dispatch_call_block_and_release + 24 17 libdispatch.dylib 0x00000001861721bc _dispatch_client_callout + 16 18 libdispatch.dylib 0x0000000186176d68 _dispatch_main_queue_callback_4CF + 1000 19 CoreFoundation 0x0000000187296810 __CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__ + 12 20 CoreFoundation 0x00000001872943fc __CFRunLoopRun + 1660 21 CoreFoundation 0x00000001871c22b8 CFRunLoopRunSpecific + 444 22 GraphicsServices 0x0000000188c76198 GSEventRunModal + 180 23 UIKit 0x000000018d2097fc -[UIApplication _run] + 684 24 UIKit 0x000000018d204534 UIApplicationMain + 208 25 Client 0x0000000100056994 main (main.swift:0) 26 libdyld.dylib 0x00000001861a55b8 start + 4
Whiteboard: [fxios74]
I find it hard to believe that this has anything to do with the Try/Catch handler. Is it possible that we are trying to serialize tabs with a bad history/title/url? Can we write a test to see if we can make NSArchiver crash on bad data coming from Tabs? Is this being done on the right thread? Is this a race condition? Are we modifying the tabs on another thread while archiving them? Leaving this for 7.4
Severity: normal → critical
Keywords: crash, steps-wanted
Status: NEW → RESOLVED
Closed: 7 years ago
Resolution: --- → INVALID
You need to log in before you can comment on or make changes to this bug.