Two CRWWebController crashes that were not caught by breakpad |
||||||||||
Issue descriptionBelow are two stack traces from crashes that I hit last week. The first one, I believe, was going back from a NYT article back to the main page. I don't remember exactly what I was doing, but I'm guessing that I used sideswipe. The second crash was shortly after, when I pressed "Restore" on the subsequent crash infobar. What's strange is that breakpad did not catch either of these reports. I had to go into Diagnostics and pull the apple crash reports off the device. I had my setting set to "Only on WiFi", but my understanding is that we should still be collecting breakpad reports while on LTE, just not uploading them. The second crash is a SIGTRAP, which also seems unusual. 1) Do we still enable breakpad if the user is on cellular? 2) Was my device just in a weird state that day, or is it possible that breakpad is consistently missing this kind of crash? First crash (Navigating back from NYT): Thread 0 name: CrWebMain Dispatch queue: com.apple.main-thread Thread 0 Crashed: 0 Chrome 0x00000001000cb940 <name omitted> + ref_counted.h:492 1 Chrome 0x00000001000c2df4 -[CRWWebController webView:didCommitNavigation:] + crw_web_controller.mm:4571 2 WebKit 0x00000001993beae0 WebKit::NavigationState::NavigationClient::didCommitNavigation(WebKit::WebPageProxy&, API::Navigation*, API::Object*) + 3 WebKit 0x00000001994feec8 WebKit::WebPageProxy::didCommitLoadForFrame(unsigned long long, unsigned long long, WTF::String const&, bool, unsigned int, WebCore::CertificateInfo const&, bool, std::optional<WebCore::HasInsecureContent>, WebKit::UserData const&) + 4 WebKit 0x000000019951fd14 void IPC::callMemberFunctionImpl<WebKit::WebPageProxy, void (WebKit::WebPageProxy::*)(unsigned long long, unsigned long long, WTF::String const&, bool, unsigned int, WebCore::CertificateInfo const&, bool, std::optional<WebCore::HasInsecureContent>, WebKit::UserData const&), std::__1::tuple<unsigned long long, unsigned long long, WTF::String, bool, unsigned int, WebCore::CertificateInfo, bool, std::optional<WebCore::HasInsecureContent>, WebKit::UserData>, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul, 8ul>(WebKit::WebPageProxy*, void (WebKit::WebPageProxy::*)(unsigned long long, unsigned long long, WTF::String const&, bool, unsigned int, WebCore::CertificateInfo const&, bool, std::optional<WebCore::HasInsecureContent>, WebKit::UserData const&), std::__1::tuple<unsigned long long, unsigned long long, WTF::String, bool, unsigned int, WebCore::CertificateInfo, bool, std::optional<WebCore::HasInsecureContent>, WebKit::UserData>&&, std::__1::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul, 8ul>) + 5 WebKit 0x0000000199519bc4 void IPC::handleMessage<Messages::WebPageProxy::DidCommitLoadForFrame, WebKit::WebPageProxy, void (WebKit::WebPageProxy::*)(unsigned long long, unsigned long long, WTF::String const&, bool, unsigned int, WebCore::CertificateInfo const&, bool, std::optional<WebCore::HasInsecureContent>, WebKit::UserData const&)>(IPC::Decoder&, WebKit::WebPageProxy*, void (WebKit::WebPageProxy::*)(unsigned long long, unsigned long long, WTF::String const&, bool, unsigned int, WebCore::CertificateInfo const&, bool, std::optional<WebCore::HasInsecureContent>, WebKit::UserData const&)) + 6 WebKit 0x00000001993bb774 IPC::MessageReceiverMap::dispatchMessage(IPC::Connection&, IPC::Decoder&) + 7 WebKit 0x0000000199564324 WebKit::WebProcessProxy::didReceiveMessage(IPC::Connection&, IPC::Decoder&) + 8 WebKit 0x0000000199381624 IPC::Connection::dispatchMessage(std::__1::unique_ptr<IPC::Decoder, std::__1::default_delete<IPC::Decoder> >) + 9 WebKit 0x0000000199383e1c IPC::Connection::dispatchOneMessage() + 10 JavaScriptCore 0x0000000194563f80 WTF::RunLoop::performWork() + 11 JavaScriptCore 0x0000000194564258 WTF::RunLoop::performWork(void*) + 12 CoreFoundation 0x000000018fc9542c __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 13 CoreFoundation 0x000000018fc94d9c __CFRunLoopDoSources0 + 14 CoreFoundation 0x000000018fc929a8 __CFRunLoopRun + 15 CoreFoundation 0x000000018fbc2da4 CFRunLoopRunSpecific + 16 GraphicsServices 0x000000019162d074 GSEventRunModal + 17 UIKit 0x0000000195e82364 UIApplicationMain + 18 Chrome 0x0000000100066bc0 main + chrome_exe_main.mm:63 19 libdyld.dylib 0x000000018ebd159c start + Second crash (Restore infobar): Thread 0 name: CrWebMain Dispatch queue: com.apple.main-thread Thread 0 Crashed: 0 Chrome 0x00000001000b4b1c -[CRWWebController ensureWebViewCreatedWithConfiguration:] + crw_web_controller.mm:3957 1 Chrome 0x00000001000ac140 -[CRWWebController loadCurrentURLInWebView] + crw_web_controller.mm:1663 2 Chrome 0x00000001000ad02c -[CRWWebController loadCurrentURL] + crw_web_controller.mm:1923 3 Chrome 0x00000001000ad2d8 -[CRWWebController triggerPendingLoad] + crw_web_controller.mm:1984 4 Chrome 0x00000001000ab5e0 -[CRWWebController view] + crw_web_controller.mm:1441 5 Chrome 0x00000001003fc328 -[Tab view] + tab.mm:695 6 Chrome 0x0000000100367314 -[BrowserViewController displayTab:isNewSelection:] + browser_view_controller.mm:1917 7 Chrome 0x0000000100368724 -[BrowserViewController tabSelected:] + browser_view_controller.mm:2196 8 Chrome 0x0000000100374ea8 -[BrowserViewController tabModel:didChangeActiveTab:previousTab:atIndex:] + browser_view_controller.mm:4586 9 CoreFoundation 0x000000018fcece80 __invoking___ + 10 CoreFoundation 0x000000018fbe22c4 -[NSInvocation invoke] + 11 CoreFoundation 0x000000018fbe6e9c -[NSInvocation invokeWithTarget:] + 12 Chrome 0x00000001006bb000 -[CRBProtocolObservers forwardInvocation:] + crb_protocol_observers.mm:169 13 CoreFoundation 0x000000018fcead54 ___forwarding___ + 14 CoreFoundation 0x000000018fbe6d4c _CF_forwarding_prep_0 + 15 Chrome 0x0000000100403190 -[TabModelObserversBridge webStateList:didChangeActiveWebState:oldWebState:atIndex:userAction:] + tab_model_observers_bridge.mm:93 16 Chrome 0x00000001001c7358 WebStateListObserverBridge::WebStateActivatedAt(WebStateList*, web::WebState*, web::WebState*, int, bool) + web_state_list_observer_bridge.mm:111 17 Chrome 0x00000001001c5790 WebStateList::NotifyIfActiveWebStateChanged(web::WebState*, bool) + web_state_list.mm:293 18 Chrome 0x00000001001c7f0c DeserializeWebStateList(WebStateList*, SessionWindowIOS*, base::Callback<std::__1::unique_ptr<web::WebState, std::__1::default_delete<web::WebState> > (CRWSessionStorage*), (base::internal::CopyMode)1, (base::internal::RepeatMode)1> const&) + web_state_list_serialization.mm:190 19 Chrome 0x00000001003f9f4c -[TabModel restoreSessionWindow:persistState:] + callback_internal.h:150 20 Chrome 0x00000001003f7610 -[CrashRestoreHelper restoreSessionsAfterCrash] + crash_restore_helper.mm:271 21 Chrome 0x00000001003f7988 (anonymous namespace)::SessionCrashedInfoBarDelegate::Accept() + crash_restore_helper.mm:160 22 Chrome 0x0000000100153c70 InfoBarIOS::InfoBarButtonDidPress(unsigned long) + infobar.mm:79 23 Chrome 0x0000000100153864 -[ConfirmInfoBarController infoBarButtonDidPress:] + confirm_infobar_controller.mm:148 24 UIKit 0x0000000195e5231c -[UIApplication sendAction:to:from:forEvent:] + 25 UIKit 0x0000000195e5229c -[UIControl sendAction:to:forEvent:] + 26 UIKit 0x0000000195e3c810 -[UIControl _sendActionsForEvents:withEvent:] + 27 UIKit 0x0000000195e51b80 -[UIControl touchesEnded:withEvent:] + 28 Chrome 0x0000000100161464 -[MDCButton touchesEnded:withEvent:] + MDCButton.m:333 29 UIKit 0x0000000195e5169c -[UIWindow _sendTouchesForEvent:] + 30 UIKit 0x0000000195e4ca34 -[UIWindow sendEvent:] + 31 UIKit 0x0000000195e1d648 -[UIApplication sendEvent:] + 32 UIKit 0x000000019661643c __dispatchPreprocessedEventFromEventQueue + 33 UIKit 0x0000000196610b98 __handleEventQueue + 34 UIKit 0x0000000196610fc4 __handleHIDEventFetcherDrain + 35 CoreFoundation 0x000000018fc9542c __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 36 CoreFoundation 0x000000018fc94d9c __CFRunLoopDoSources0 + 37 CoreFoundation 0x000000018fc929a8 __CFRunLoopRun + 38 CoreFoundation 0x000000018fbc2da4 CFRunLoopRunSpecific + 39 GraphicsServices 0x000000019162d074 GSEventRunModal + 40 UIKit 0x0000000195e82364 UIApplicationMain + 41 Chrome 0x000000010005abc0 main + chrome_exe_main.mm:63 42 libdyld.dylib 0x000000018ebd159c start +
,
Jun 1 2017
These were the top two crashes for that dev channel build, so it doesn't seem like there's a systemic problem that's preventing breakpad from catching these crashes. I wonder why my device didn't catch them.
,
Jun 1 2017
Thanks for the link to WC. First crash is a dup of crbug.com/727289 Second crash is a dup of crbug.com/723665
,
Jun 1 2017
,
Jun 1 2017
I assume that bug is related to Breakpad did not upload the symbols. 2 sample crashes already have bugs.
,
Jun 5 2017
,
Jun 6 2017
,
Jun 13 2017
Users experienced this crash on the following builds: Ios Dev 61.0.3122.0 - 86.96 CPM, 3 reports, 3 clients (signature -[CRWWebController webViewLoadingStateDidChange]) If this update was incorrect, please add "Fracas-Wrong" label to prevent future updates. - Go/Fracas
,
Jun 18 2017
Users experienced this crash on the following builds: Ios Beta 60.0.3112.32 - 117.72 CPM, 2 reports, 2 clients (signature -[CRWWebController webViewLoadingStateDidChange]) If this update was incorrect, please add "Fracas-Wrong" label to prevent future updates. - Go/Fracas
,
Jun 28 2017
I came across this crash on two different devices in two attempts with same steps. But not able to reproduce after that any more. Below are the steps that I followed. 1. Launch Chrome 2. Open New Incognito tab 3. Navigate to www.google.com 4. Tap on "Eat & Drink" below the Google Search box (This UI is only seen on mobiles") 5. While Eat & Drink results are loading tap quickly on browser back arrow. App Crashed. Below are the crash IDs. http://crash/4da8bc5e40000000 http://crash/5b98bc5e40000000
,
Jun 28 2017
Please Ignore my above comment. Somehow this bug is associated with the magic signature CRWWebController webViewLoadingStateDidChange in crash.corp. But this bug is mainly to check why reports are not uploaded. So I have created a new bug http://crbug/737595 and associated with the correct MagicSignature.
,
Jun 28 2018
This issue has been Available for over a year. If it's no longer important or seems unlikely to be fixed, please consider closing it out. If it is important, please re-triage the issue. Sorry for the inconvenience if the bug really should have been left as Available. For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
,
Jun 28 2018
Rohit, did we ever figure out what the issue was with breakpad regarding these crashes? |
||||||||||
►
Sign in to add a comment |
||||||||||
Comment 1 by rohitrao@chromium.org
, Jun 1 2017