New issue
Advanced search Search tips

Issue 728603 link

Starred by 1 user

Issue metadata

Status: Assigned
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: iOS
Pri: 1
Type: Bug



Sign in to add a comment

Two CRWWebController crashes that were not caught by breakpad

Project Member Reported by rohitrao@chromium.org, Jun 1 2017

Issue description

Below 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 + 


 
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.
Thanks for the link to WC.

First crash is a dup of crbug.com/727289
Second crash is a dup of  crbug.com/723665 

Cc: -eugene...@chromium.org
Owner: eugene...@chromium.org
Status: Assigned (was: Untriaged)
Cc: eugene...@chromium.org
Components: -Mobile>WebView>Glue
Owner: ----
Status: Untriaged (was: Assigned)
I assume that bug is related to Breakpad did not upload the symbols. 2 sample crashes already have bugs.
Owner: pkl@chromium.org
Status: Assigned (was: Untriaged)

Comment 7 by pkl@chromium.org, Jun 6 2017

Owner: ----
Status: Available (was: Assigned)
Project Member

Comment 8 by sheriffbot@chromium.org, Jun 13 2017

Labels: Fracas FoundIn-M-61
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
Project Member

Comment 9 by sheriffbot@chromium.org, Jun 18 2017

Labels: FoundIn-M-60
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
Cc: rohitrao@chromium.org
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

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.
Project Member

Comment 12 by sheriffbot@chromium.org, Jun 28 2018

Labels: Hotlist-Recharge-Cold
Status: Untriaged (was: Available)
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
Owner: rohitrao@chromium.org
Status: Assigned (was: Untriaged)
Rohit, did we ever figure out what the issue was with breakpad regarding these crashes?

Sign in to add a comment