DCHECK fail in tile_manager.cc(206) |
||
Issue descriptionBreakout from http://crbug.com/590856 we are hitting a DCHECK in tile_manager.cc. Steps to reproduce: - sync to ToT, build Linux Debug - hack your chrome_content_renderer_client.cc per attached patch (may not be necessary) - visit http://www.deepika.com - scroll up and down extensively, repeatedly, for potentially a couple of minutes BEGIN PATCH diff --git a/chrome/renderer/chrome_content_renderer_client.cc b/chrome/renderer/chrome_content_renderer_client.cc index 8486b3e..e74e6d8 100644 --- a/chrome/renderer/chrome_content_renderer_client.cc +++ b/chrome/renderer/chrome_content_renderer_client.cc @@ -556,39 +556,12 @@ bool ChromeContentRendererClient::OverrideCreatePlugin( const WebPluginParams& params, WebPlugin** plugin) { std::string orig_mime_type = params.mimeType.utf8(); -#if defined(ENABLE_EXTENSIONS) - if (!ChromeExtensionsRendererClient::GetInstance()->OverrideCreatePlugin( - render_frame, params)) { - return false; - } -#endif GURL url(params.url); -#if defined(ENABLE_PLUGINS) - ChromeViewHostMsg_GetPluginInfo_Output output; - WebString top_origin = frame->top()->securityOrigin().toString(); - render_frame->Send(new ChromeViewHostMsg_GetPluginInfo( - render_frame->GetRoutingID(), url, blink::WebStringToGURL(top_origin), - orig_mime_type, &output)); - *plugin = CreatePlugin(render_frame, frame, params, output); -#else // !defined(ENABLE_PLUGINS) - -#if defined(OS_ANDROID) - if (plugins::MobileYouTubePlugin::IsYouTubeURL(url, orig_mime_type)) { - base::StringPiece template_html( - ResourceBundle::GetSharedInstance().GetRawDataResource( - IDR_MOBILE_YOUTUBE_PLUGIN_HTML)); - *plugin = (new plugins::MobileYouTubePlugin(render_frame, frame, params, - template_html))->plugin(); - return true; - } -#endif // defined(OS_ANDROID) - PluginUMAReporter::GetInstance()->ReportPluginMissing(orig_mime_type, url); *plugin = NonLoadablePluginPlaceholder::CreateNotSupportedPlugin( render_frame, frame, params)->plugin(); -#endif // defined(ENABLE_PLUGINS) return true; } BEGIN SAMPLE CRASH STACK TRACE [1:1:0304/163554:WARNING:webmediaplayer_impl.cc(311)] Using MultibufferDataSource [1:1:0304/163557:ERROR:phishing_dom_feature_extractor.cc(196)] Feature extraction took too long, giving up [1:5:0304/163619:FATAL:tile_manager.cc(206)] Check failed: decode_it == graph->nodes.end() || !high_priority || static_cast<uint16_t>(TASK_CATEGORY_FOREGROUND) == decode_it->category. #0 0x7f52bb76e89e base::debug::StackTrace::StackTrace() #1 0x7f52bb7c9c6f logging::LogMessage::~LogMessage() #2 0x7f52ba0cd383 cc::(anonymous namespace)::InsertNodesForRasterTask() #3 0x7f52ba0cc438 cc::TileManager::ScheduleTasks() #4 0x7f52ba0c9c60 cc::TileManager::PrepareTiles() #5 0x7f52ba124406 cc::LayerTreeHostImpl::PrepareTiles() #6 0x7f52ba123167 cc::LayerTreeHostImpl::CommitComplete() #7 0x7f52ba1aa30f cc::ProxyImpl::ScheduledActionCommit() #8 0x7f52ba077d2d cc::Scheduler::ProcessScheduledActions() #9 0x7f52ba0786be cc::Scheduler::NotifyReadyToCommit() #10 0x7f52ba1a5b0c cc::ProxyImpl::StartCommitOnImpl() #11 0x7f52ba1bbd89 _ZN4base8internal15RunnableAdapterIMN2cc9ProxyImplEFvPNS2_15CompletionEventEPNS2_13LayerTreeHostENS_9TimeTicksEbEE3RunIJRKS5_RKS7_RKS8_RKbEEEvPS3_DpOT_ #12 0x7f52ba1bbc08 _ZN4base8internal12InvokeHelperILb1EvNS0_15RunnableAdapterIMN2cc9ProxyImplEFvPNS3_15CompletionEventEPNS3_13LayerTreeHostENS_9TimeTicksEbEEEE8MakeItSoINS_7WeakPtrIS4_EEJRKS6_RKS8_RKS9_RKbEEEvSC_T_DpOT0_ #13 0x7f52ba1bbb59 _ZN4base8internal7InvokerINS_13IndexSequenceIJLm0ELm1ELm2ELm3ELm4EEEENS0_9BindStateINS0_15RunnableAdapterIMN2cc9ProxyImplEFvPNS6_15CompletionEventEPNS6_13LayerTreeHostENS_9TimeTicksEbEEEFvPS7_S9_SB_SC_bEJRNS_7WeakPtrIS7_EES9_RSB_RSC_bEEENS0_12InvokeHelperILb1EvSF_EEFvvEE3RunEPNS0_13BindStateBaseE #14 0x7f52bb75602e base::Callback<>::Run() #15 0x7f52bb773d5e base::debug::TaskAnnotator::RunTask() #16 0x7f52bb7e5f8f base::MessageLoop::RunTask() #17 0x7f52bb7e6218 base::MessageLoop::DeferOrRunPendingTask() #18 0x7f52bb7e63e2 base::MessageLoop::DoWork() #19 0x7f52bb7f7bc3 base::MessagePumpDefault::Run() #20 0x7f52bb7e59bf base::MessageLoop::RunHandler() #21 0x7f52bb85cb64 base::RunLoop::Run() #22 0x7f52bb7e4a64 base::MessageLoop::Run() #23 0x7f52bb8ceea9 base::Thread::Run() #24 0x7f52bb8cf1f9 base::Thread::ThreadMain() #25 0x7f52bb8baeca base::(anonymous namespace)::ThreadFunc() #26 0x7f52acf7c182 start_thread #27 0x7f52a8e5647d clone Received signal 6 #0 0x7f52bb76e89e base::debug::StackTrace::StackTrace() #1 0x7f52bb76e3df base::debug::(anonymous namespace)::StackDumpSignalHandler() #2 0x7f52acf84340 <unknown> #3 0x7f52a8d92cc9 gsignal #4 0x7f52a8d960d8 abort #5 0x7f52bb76b466 base::debug::(anonymous namespace)::DebugBreak() #6 0x7f52bb76b448 base::debug::BreakDebugger() #7 0x7f52bb7c9fbd logging::LogMessage::~LogMessage() #8 0x7f52ba0cd383 cc::(anonymous namespace)::InsertNodesForRasterTask() #9 0x7f52ba0cc438 cc::TileManager::ScheduleTasks() #10 0x7f52ba0c9c60 cc::TileManager::PrepareTiles() #11 0x7f52ba124406 cc::LayerTreeHostImpl::PrepareTiles() #12 0x7f52ba123167 cc::LayerTreeHostImpl::CommitComplete() #13 0x7f52ba1aa30f cc::ProxyImpl::ScheduledActionCommit() #14 0x7f52ba077d2d cc::Scheduler::ProcessScheduledActions() #15 0x7f52ba0786be cc::Scheduler::NotifyReadyToCommit() #16 0x7f52ba1a5b0c cc::ProxyImpl::StartCommitOnImpl() #17 0x7f52ba1bbd89 _ZN4base8internal15RunnableAdapterIMN2cc9ProxyImplEFvPNS2_15CompletionEventEPNS2_13LayerTreeHostENS_9TimeTicksEbEE3RunIJRKS5_RKS7_RKS8_RKbEEEvPS3_DpOT_ #18 0x7f52ba1bbc08 _ZN4base8internal12InvokeHelperILb1EvNS0_15RunnableAdapterIMN2cc9ProxyImplEFvPNS3_15CompletionEventEPNS3_13LayerTreeHostENS_9TimeTicksEbEEEE8MakeItSoINS_7WeakPtrIS4_EEJRKS6_RKS8_RKS9_RKbEEEvSC_T_DpOT0_ #19 0x7f52ba1bbb59 _ZN4base8internal7InvokerINS_13IndexSequenceIJLm0ELm1ELm2ELm3ELm4EEEENS0_9BindStateINS0_15RunnableAdapterIMN2cc9ProxyImplEFvPNS6_15CompletionEventEPNS6_13LayerTreeHostENS_9TimeTicksEbEEEFvPS7_S9_SB_SC_bEJRNS_7WeakPtrIS7_EES9_RSB_RSC_bEEENS0_12InvokeHelperILb1EvSF_EEFvvEE3RunEPNS0_13BindStateBaseE #20 0x7f52bb75602e base::Callback<>::Run() #21 0x7f52bb773d5e base::debug::TaskAnnotator::RunTask() #22 0x7f52bb7e5f8f base::MessageLoop::RunTask() #23 0x7f52bb7e6218 base::MessageLoop::DeferOrRunPendingTask() #24 0x7f52bb7e63e2 base::MessageLoop::DoWork() #25 0x7f52bb7f7bc3 base::MessagePumpDefault::Run() #26 0x7f52bb7e59bf base::MessageLoop::RunHandler() #27 0x7f52bb85cb64 base::RunLoop::Run() #28 0x7f52bb7e4a64 base::MessageLoop::Run() #29 0x7f52bb8ceea9 base::Thread::Run() #30 0x7f52bb8cf1f9 base::Thread::ThreadMain() #31 0x7f52bb8baeca base::(anonymous namespace)::ThreadFunc() #32 0x7f52acf7c182 start_thread #33 0x7f52a8e5647d clone r8: 00007f529aaf50b0 r9: 0000000000000000 r10: 0000000000000008 r11: 0000000000000202 r12: 0000000000000000 r13: 0000000000000000 r14: 00007f529aaf99c0 r15: 00007f529aaf9700 di: 0000000000000001 si: 0000000000000005 bp: 00007f529aaf54f0 bx: 00007f529aaf9700 dx: 0000000000000006 ax: 0000000000000000 cx: ffffffffffffffff sp: 00007f529aaf53b8 ip: 00007f52a8d92cc9 efl: 0000000000000202 cgf: 0000000000000033 erf: 0000000000000000 trp: 0000000000000000 msk: 0000000000000000 cr2: 0000000000000000 [end of stack trace] [20566:20566:0304/163627:ERROR:process_metrics_linux.cc(136)] opendir(/proc/0/task): No such file or directory
,
Mar 11 2016
(with no patches applied)
,
Mar 14 2016
,
Mar 24 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/c38d1f4bce5165b0114fc9c429812e93f64850bf commit c38d1f4bce5165b0114fc9c429812e93f64850bf Author: ericrk <ericrk@chromium.org> Date: Thu Mar 24 20:03:13 2016 Handle out of order tile priorities when building graph Currently, InsertNodesForRasterTask in tile_manager.cc assumes that all high priority tasks will be added before low priority ones. This is generally true, but two cases violate this: - low resolution tiles in the NOW bin may have higher priority than other tiles that are required for draw/activation. - some SOON tiles not required for activation may come before SOON tiles which are required for activation. (bug files) To address the first issue, the calculation of high_priority now takes the NOW bucket into account. To fix the second issue, InsertNodesForRasterTask now handles out-of-order priorities and a bug has been filed to fix this. BUG= 592160 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1796423002 Cr-Commit-Position: refs/heads/master@{#383126} [modify] https://crrev.com/c38d1f4bce5165b0114fc9c429812e93f64850bf/cc/tiles/tile_manager.cc
,
Mar 24 2016
|
||
►
Sign in to add a comment |
||
Comment 1 by roc...@chromium.org
, Mar 11 2016