NOTREACHED() hit in WebRemoteFrameImpl::dataSource() |
|||
Issue descriptionChrome Version: ToT (currently 55.0.2859.0) What steps will reproduce the problem? 1. Load a youtube video. What is the expected result? No CHECK failure. What happens instead of that? Reaches a NOTREACHED() statement and crashes. This has been occurring frequently today. I get the following stack trace: [1:1:0912/180053:FATAL:WebRemoteFrameImpl.cpp(292)] Check failed: false. #0 0x7fce9f0b7d1e base::debug::StackTrace::StackTrace() #1 0x7fce9f0d8fab logging::LogMessage::~LogMessage() #2 0x7fce9958eb85 blink::WebRemoteFrameImpl::dataSource() #3 0x7fce9d4e6eec content::RenderFrameImpl::didCreateDataSource() #4 0x7fce9950d98a blink::FrameLoaderClientImpl::createDocumentLoader() #5 0x7fce91c35c51 blink::FrameLoader::startLoad() #6 0x7fce91c327b9 blink::FrameLoader::load() #7 0x7fce99579195 blink::WebLocalFrameImpl::createChildFrame() #8 0x7fce918609c2 blink::HTMLFrameOwnerElement::loadOrRedirectSubframe() #9 0x7fce9185de35 blink::HTMLFrameElementBase::openURL() #10 0x7fce9185e7a4 blink::HTMLFrameElementBase::setNameAndOpenURL() #11 0x7fce91507e72 blink::ContainerNode::notifyNodeInserted() #12 0x7fce91505fef blink::ContainerNode::parserAppendChild() #13 0x7fce919279b5 blink::HTMLConstructionSite::executeTask() #14 0x7fce91928a47 blink::HTMLConstructionSite::executeQueuedTasks() #15 0x7fce91933c5f blink::HTMLDocumentParser::processTokenizedChunkFromBackgroundParser() #16 0x7fce919314e2 blink::HTMLDocumentParser::pumpPendingSpeculations() #17 0x7fce915d3393 blink::PendingScript::streamingFinished() #18 0x7fce915d36da blink::PendingScript::notifyFinished() #19 0x7fce917661e7 blink::Resource::checkNotify() #20 0x7fce91766cf9 blink::Resource::finish() #21 0x7fce91773e7c blink::ResourceFetcher::didFinishLoading() #22 0x7fce9ca26def content::WebURLLoaderImpl::Context::OnCompletedRequest() #23 0x7fce9ca02a6d content::ResourceDispatcher::OnRequestComplete() #24 0x7fce9ca045f4 _ZN3IPC8MessageTI32ResourceMsg_RequestComplete_MetaSt5tupleIJiN7content31ResourceRequestCompletionStatusEEEvE8DispatchINS3_18ResourceDispatcherES8_vMS8_FviRKS4_EEEbPKNS_7MessageEPT_PT0_PT1_T2_ #25 0x7fce9ca00c64 content::ResourceDispatcher::DispatchMessage() #26 0x7fce9ca002b8 content::ResourceDispatcher::OnMessageReceived() #27 0x7fce9f0b8874 base::debug::TaskAnnotator::RunTask() #28 0x7fce998d1e1c blink::scheduler::TaskQueueManager::ProcessTaskFromWorkQueue() #29 0x7fce998d08b5 blink::scheduler::TaskQueueManager::DoWork() #30 0x7fce9f0b8874 base::debug::TaskAnnotator::RunTask() #31 0x7fce9f0e3b65 base::MessageLoop::RunTask() #32 0x7fce9f0e3f38 base::MessageLoop::DeferOrRunPendingTask() #33 0x7fce9f0e435b base::MessageLoop::DoWork() #34 0x7fce9f0e5b1a base::MessagePumpDefault::Run() #35 0x7fce9f0e3661 base::MessageLoop::RunHandler() #36 0x7fce9f1109b0 base::RunLoop::Run() #37 0x7fce9d532698 content::RendererMain() #38 0x7fce9d6522ff content::RunZygote() #39 0x7fce9d652bdf content::RunNamedProcessTypeMain() #40 0x7fce9d653663 content::ContentMainRunnerImpl::Run() #41 0x7fce9d651ec0 content::ContentMain() #42 0x7fce9fb258cb ChromeMain #43 0x7fce96141f45 __libc_start_main #44 0x7fce9fb2579d <unknown>
,
Sep 13 2016
So I guess this is because we're not careful to check that |old_frame| is a WebLocalFrame here: https://chromium.googlesource.com/chromium/src/+blame/master/content/renderer/render_frame_impl.cc#3111 (More generally though, I'm not sure how this things are going to work at all once we have OOPI... has anyone looked at the user agent override / prefetching stuff?)
,
Sep 14 2016
I moved that code from RenderView to RenderFrame, but it was broken in the same way. I can take the assignment, but I am not very familiar with it.
,
Aug 24 2017
r477467 has moved DataSource method's declaration from WebFrame to WebLocalFrame (and has removed the DCHECK-ing WebRemoteFrameImpl::DataSource method). So - this crash should be fixed now. |
|||
►
Sign in to add a comment |
|||
Comment 1 by btolsch@chromium.org
, Sep 13 2016