[45919:771:0726/114144.707075:861242472841403:FATAL:crw_web_controller.mm(1729)] Check failed: error.
0 ios_web_inttests 0x0000000103dad48d base::debug::StackTrace::StackTrace(unsigned long) + 157
1 ios_web_inttests 0x0000000103dad4cd base::debug::StackTrace::StackTrace(unsigned long) + 29
2 ios_web_inttests 0x0000000103a95aac base::debug::StackTrace::StackTrace() + 28
3 ios_web_inttests 0x0000000103ad2e5c logging::LogMessage::~LogMessage() + 460
4 ios_web_inttests 0x0000000103ad0cc5 logging::LogMessage::~LogMessage() + 21
5 ios_web_inttests 0x00000001034ed02e -[CRWWebController loadErrorPageForNavigationItem:navigationContext:] + 366
6 ios_web_inttests 0x00000001034ef5ff -[CRWWebController handleErrorRetryCommand:navigationItem:navigationContext:] + 639
7 ios_web_inttests 0x000000010351946d -[CRWWebController webView:didFinishNavigation:] + 3757
8 WebKit 0x000000010c010a37 WebKit::NavigationState::NavigationClient::didFinishNavigation(WebKit::WebPageProxy&, API::Navigation*, API::Object*) + 93
The failure is triggered when the test navigates forward to the error page the second time: https://cs.chromium.org/chromium/src/ios/web/web_state/error_page_inttest.mm?l=183
WKBasedNavigationManagerImpl::AddPendingItem() did not recognize that this is a back/forward navigation, and created a new pending item instead of reusing the navigation item associated with this entry (which has a placeholder URL). This puts the ErrorRetryStateMachine in the wrong state.
Comment 1 by danyao@chromium.org
, Sep 12