New issue
Advanced search Search tips

Issue 760953 link

Starred by 1 user

Issue metadata

Status: WontFix
Owner:
Closed: Dec 2017
Cc:
EstimatedDays: ----
NextAction: ----
OS: iOS
Pri: 3
Type: Bug



Sign in to add a comment

DCHECK(equalURLs) failing in WebStateImpl::GetCurrentURL()

Project Member Reported by jlebel@chromium.org, Aug 31 2017

Issue description

Chrome Version: 62.0.3202.0
OS: iOS 9.3 simulator on iPhone 5s

What steps will reproduce the problem?
(1) Log in youtube.com
(2) Open the account page: https://m.youtube.com/feed/account
(3) Click on the download arrow
(4) Click cancel

https://drive.google.com/open?id=0ByXziH_JVCGJNUtzZDVLSUNUZVE

DCHECK(equalURLs) fails.
GURL WebStateImpl::GetCurrentURL(URLVerificationTrustLevel* trust_level) const


(lldb) bt
* thread #1, name = 'CrWebMain', queue = 'com.apple.main-thread', stop reason = EXC_BREAKPOINT (code=EXC_I386_BPT, subcode=0x0)
    frame #0: 0x000000010513d4d4 Chromium`base::debug::BreakDebugger() at debugger_posix.cc:269
    frame #1: 0x00000001051a415b Chromium`logging::LogMessage::~LogMessage(this=0x00007fff5c175180) at logging.cc:791
    frame #2: 0x00000001051a0c35 Chromium`logging::LogMessage::~LogMessage(this=0x00007fff5c175180) at logging.cc:554
  * frame #3: 0x0000000103ec2f8d Chromium`web::WebStateImpl::GetCurrentURL(this=0x0000614000103e40, trust_level=0x00007fff5c1753dc) const at web_state_impl.mm:662
    frame #4: 0x000000010432e50d Chromium`(anonymous namespace)::GetPageURLAndCheckTrustLevel(web_state=0x0000614000103e40, page_url=0x00007fff5c175478) at password_controller.mm:255
    frame #5: 0x000000010432e26b Chromium`::-[PasswordController webState:didLoadPageWithSuccess:](self=0x00006080000bd120, _cmd="webState:didLoadPageWithSuccess:", webState=0x0000614000103e40, success=YES) at password_controller.mm:399
    frame #6: 0x0000000103ed3721 Chromium`web::WebStateObserverBridge::PageLoaded(this=0x000060300015f310, load_completion_status=SUCCESS) at web_state_observer_bridge.mm:79
    frame #7: 0x0000000103ebd51f Chromium`web::WebStateImpl::OnPageLoaded(this=0x0000614000103e40, url=0x00007fff5c175b80, load_success=true) at web_state_impl.mm:260
    frame #8: 0x0000000103e5d1dc Chromium`::-[CRWWebController didFinishWithURL:loadSuccess:](self=0x000061700001fc00, _cmd="didFinishWithURL:loadSuccess:", currentURL=0x00007fff5c175b80, loadSuccess=YES) at crw_web_controller.mm:2060
    frame #9: 0x0000000103e5cad5 Chromium`::-[CRWWebController loadCompleteWithSuccess:forNavigation:](self=0x000061700001fc00, _cmd="loadCompleteWithSuccess:forNavigation:", loadSuccess=YES, navigation=0x0000000000000000) at crw_web_controller.mm:2026
    frame #10: 0x0000000103e5c155 Chromium`::-[CRWWebController didFinishNavigation:](self=0x000061700001fc00, _cmd="didFinishNavigation:", navigation=0x0000000000000000) at crw_web_controller.mm:1995
    frame #11: 0x0000000103e681ef Chromium`::__70-[CRWWebController handleWindowHistoryDidReplaceStateMessage:context:]_block_invoke(.block_descriptor=<unavailable>, (null)=0x0000000000000000, (null)=0x0000000000000000) at crw_web_controller.mm:2698
    frame #12: 0x00000001145a01db WebKit`std::__1::__function::__func<-[WKWebView evaluateJavaScript:completionHandler:]::$_0, std::__1::allocator<-[WKWebView evaluateJavaScript:completionHandler:]::$_0>, void (API::SerializedScriptValue*, bool, WebKit::CallbackBase::Error)>::operator()(API::SerializedScriptValue*&&, bool&&, WebKit::CallbackBase::Error&&) + 361
    frame #13: 0x00000001144d4a59 WebKit`WebKit::GenericCallback<API::SerializedScriptValue*, bool>::performCallbackWithReturnValue(API::SerializedScriptValue*, bool) + 59
    frame #14: 0x00000001144ce4be WebKit`WebKit::WebPageProxy::scriptValueCallback(IPC::DataReference const&, bool, unsigned long long) + 152
    frame #15: 0x00000001144e9db2 WebKit`void IPC::handleMessage<Messages::WebPageProxy::ScriptValueCallback, WebKit::WebPageProxy, void (WebKit::WebPageProxy::*)(IPC::DataReference const&, bool, unsigned long long)>(IPC::MessageDecoder&, WebKit::WebPageProxy*, void (WebKit::WebPageProxy::*)(IPC::DataReference const&, bool, unsigned long long)) + 113
    frame #16: 0x000000011439acd7 WebKit`IPC::MessageReceiverMap::dispatchMessage(IPC::Connection&, IPC::MessageDecoder&) + 113
    frame #17: 0x000000011451d270 WebKit`WebKit::WebProcessProxy::didReceiveMessage(IPC::Connection&, IPC::MessageDecoder&) + 24
    frame #18: 0x0000000114358d76 WebKit`IPC::Connection::dispatchMessage(std::__1::unique_ptr<IPC::MessageDecoder, std::__1::default_delete<IPC::MessageDecoder> >) + 102
    frame #19: 0x000000011435b03e WebKit`IPC::Connection::dispatchOneMessage() + 114
    frame #20: 0x000000011b7d5802 JavaScriptCore`WTF::RunLoop::performWork() + 898
    frame #21: 0x000000011b7d5d12 JavaScriptCore`WTF::RunLoop::performWork(void*) + 34
    frame #22: 0x0000000111650301 CoreFoundation`__CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 17
    frame #23: 0x000000011164622c CoreFoundation`__CFRunLoopDoSources0 + 556
    frame #24: 0x00000001116456e3 CoreFoundation`__CFRunLoopRun + 867
    frame #25: 0x00000001116450f8 CoreFoundation`CFRunLoopRunSpecific + 488
    frame #26: 0x00000001164d3ad2 GraphicsServices`GSEventRunModal + 161
    frame #27: 0x0000000110066f09 UIKit`UIApplicationMain + 171
    frame #28: 0x0000000103a89a03 Chromium`(anonymous namespace)::RunUIApplicationMain(argc=1, argv=0x00007fff5c1775c0) at chrome_exe_main.mm:51
    frame #29: 0x0000000103a894fe Chromium`main(argc=1, argv=0x00007fff5c1775c0) at chrome_exe_main.mm:74
    frame #30: 0x00000001186f792d libdyld.dylib`start + 1
(lldb) p *URL
error: indirection requires pointer operand ('GURL' invalid)
(lldb) p URL
(GURL) $0 = {
  spec_ = "https://m.youtube.com/#/feed/account"
  is_valid_ = true
  parsed_ = {
    scheme = (begin = 0, len = 5)
    username = (begin = 0, len = -1)
    password = (begin = 0, len = -1)
    host = (begin = 8, len = 13)
    port = (begin = 0, len = -1)
    path = (begin = 21, len = 1)
    query = (begin = 0, len = -1)
    ref = (begin = 23, len = 13)
    potentially_dangling_markup = false
    inner_parsed_ = 0x0000000000000000
  }
  inner_url_ = {
    __ptr_ = {
      std::__1::__compressed_pair_elem<GURL *, 0, false> = {
        __value_ = 0x0000000000000000
      }
    }
  }
}

 

Comment 1 by jlebel@chromium.org, Aug 31 2017

Description: Show this description
Components: Mobile>WebView>Glue
Owner: mrefaat@chromium.org
Status: Assigned (was: Untriaged)
Could not reproduce the problem, but I also was not sure about the steps (did not have access to the video). We landed many fixes around this DCHECK, so this might be fixed now. Jerome, could you please take a look. Thanks!
Cc: eugene...@chromium.org
Sorry by "take a look" I meant "please check if still reproducible"

Comment 5 by jlebel@chromium.org, Dec 18 2017

Status: WontFix (was: Assigned)
I can't reproduce.

Sign in to add a comment