New issue
Advanced search Search tips

Issue 784915 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner: ----
Closed: Jan 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: iOS
Pri: 3
Type: Task

Blocking:
issue 734150
issue 789994



Sign in to add a comment

Crash in loadErrorInNativeView when using WKBasedNavigationManager

Project Member Reported by danyao@chromium.org, Nov 14 2017

Issue description

Steps to reproduce:
- Open NTP
- Navigate to a unreachable page, e.g. http://localhost:8000/unreachable

Cause:
Network error like this is handled by [CRWWebController loadErrorInNativeView]. It presents the Native UI for network error and calls WKBasedNavigationManagerImpl::CommitPendingItem() to end the navigation. The crash is due to there not being a WKBackForwardListItem to commit the pending NavigationItem to in this case.

Stack trace:
    frame #1: 0x0000000107f880b0 Chromium`logging::LogMessage::~LogMessage(this=0x00007fff5941e1e0) at logging.cc:846
    frame #2: 0x0000000107f84a95 Chromium`logging::LogMessage::~LogMessage(this=0x00007fff5941e1e0) at logging.cc:575
  * frame #3: 0x0000000106c68684 Chromium`(anonymous namespace)::SetNavigationItemInWKItem(wk_item=0x0000000000000000, item=unique_ptr<web::NavigationItemImpl, std::__1::default_delete<web::NavigationItemImpl> > @ 0x00007fff5941e3c0) at wk_based_navigation_manager_impl.mm:38
    frame #4: 0x0000000106c68e9e Chromium`web::WKBasedNavigationManagerImpl::CommitPendingItem(this=0x00006100000b9980) at wk_based_navigation_manager_impl.mm:172
    frame #5: 0x0000000106c7987c Chromium`::-[CRWWebController loadNativeViewWithSuccess:navigationContext:](self=0x00007fd753415e60, _cmd="loadNativeViewWithSuccess:navigationContext:", loadSuccess=NO, context=0x0000618000144c50) at crw_web_controller.mm:1704
    frame #6: 0x0000000106c79e1e Chromium`::-[CRWWebController loadErrorInNativeView:navigationContext:](self=0x00007fd753415e60, _cmd="loadErrorInNativeView:navigationContext:", error=domain: "NSURLErrorDomain" - code: 18446744073709550612, context=0x0000618000144c50) at crw_web_controller.mm:1743
    frame #7: 0x0000000106c8c173 Chromium`::-[CRWWebController handleLoadError:forNavigation:](self=0x00007fd753415e60, _cmd="handleLoadError:forNavigation:", error=domain: "NSURLErrorDomain" - code: 18446744073709550612, navigation=0x00007fd75bb2b400) at crw_web_controller.mm:2974
    frame #8: 0x0000000106c9f31a Chromium`::-[CRWWebController webView:didFailProvisionalNavigation:withError:](self=0x00007fd753415e60, _cmd="webView:didFailProvisionalNavigation:withError:", webView=0x00007fd75c02ea00, navigation=0x00007fd75bb2b400, error=domain: "NSURLErrorDomain" - code: 18446744073709550612) at crw_web_controller.mm:4460
    frame #9: 0x000000011860d038 WebKit`WebKit::NavigationState::NavigationClient::didFailProvisionalNavigationWithError(WebKit::WebPageProxy&, WebKit::WebFrameProxy&, API::Navigation*, WebCore::ResourceError const&, API::Object*) + 146
    frame #10: 0x000000011876d1f5 WebKit`WebKit::WebPageProxy::didFailProvisionalLoadForFrame(unsigned long long, WebCore::SecurityOriginData const&, unsigned long long, WTF::String const&, WebCore::ResourceError const&, WebKit::UserData const&) + 333

 

Comment 1 by danyao@chromium.org, Nov 30 2017

Blocking: 789994

Comment 2 by danyao@chromium.org, Nov 30 2017

TabUsageRecorderTest/testOpenFromApp also seems to hit this bug.
Status: Fixed (was: Available)
Landed crrev.com/c/847907 that fixes this issue (I put in the wrong bug number in the code review).

Sign in to add a comment