New issue
Advanced search Search tips

Issue 646213 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Aug 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux
Pri: 3
Type: Bug



Sign in to add a comment

NOTREACHED() hit in WebRemoteFrameImpl::dataSource()

Project Member Reported by btolsch@chromium.org, Sep 13 2016

Issue description

Chrome 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>
 
Cc: dcheng@chromium.org
+cc: dcheng for triage

Comment 2 by dcheng@chromium.org, Sep 13 2016

Components: -Blink>Internals Internals>Sandbox>SiteIsolation
Owner: a...@chromium.org
Status: Assigned (was: Untriaged)
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?)

Comment 3 by a...@chromium.org, 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.
Status: Fixed (was: Assigned)
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