DCHECK "sink_map_.empty()" in frame_sink_manager_impl.cc when interacting with dino page |
|||||
Issue descriptionI'm developing a feature that adds new interactivity options to the dino page. Sometimes when I tap on an item in that page -- via a DevTools inspect window connected to the Android emulator running Chromium -- with an onclick handler I get this DCHECK triggered (ToT, debug build): [FATAL:frame_sink_manager_impl.cc(62)] Check failed: sink_map_.empty(). Stack Trace: RELADDR FUNCTION FILE:LINE 00115b41 base::debug::StackTrace::StackTrace() /usr/local/google/clankium/src/base/debug/stack_trace.cc:203:28 0012aec0 logging::LogMessage::~LogMessage() /usr/local/google/clankium/src/base/logging.cc:599:29 0014f2cb viz::FrameSinkManagerImpl::~FrameSinkManagerImpl() /usr/local/google/clankium/src/components/viz/service/frame_sinks/frame_sink_manager_impl.cc:62:3 0014f4e0 viz::FrameSinkManagerImpl::~FrameSinkManagerImpl() /usr/local/google/clankium/src/components/viz/service/frame_sinks/frame_sink_manager_impl.cc:56:47 v------> std::__ndk1::default_delete<viz::FrameSinkManagerImpl>::operator()(viz::FrameSinkManagerImpl*) const /usr/local/google/clankium/src/third_party/android_ndk/sources/cxx-stl/llvm-libc++/include/memory:2234:5 v------> std::__ndk1::unique_ptr<viz::FrameSinkManagerImpl, std::__ndk1::default_delete<viz::FrameSinkManagerImpl> >::reset(viz::FrameSinkManagerImpl*) /usr/local/google/clankium/src/third_party/android_ndk/sources/cxx-stl/llvm-libc++/include/memory:2547:0 00164cc0 viz::VizCompositorThreadRunner::TearDownOnCompositorThread() /usr/local/google/clankium/src/components/viz/service/main/viz_compositor_thread_runner.cc:166:0 v------> void base::internal::FunctorTraits<void (viz::VizProcessContextProvider::*)(), void>::Invoke<void (viz::VizProcessContextProvider::*)(), viz::VizProcessContextProvider*>(void (viz::VizProcessContextProvider::*)(), viz::VizProcessContextProvider*&&) /usr/local/google/clankium/src/base/bind_internal.h:516:12 0014874c void base::internal::InvokeHelper<false, void>::MakeItSo<void (viz::VizProcessContextProvider::*)(), viz::VizProcessContextProvider*>(void (viz::VizProcessContextProvider::*&&)(), viz::VizProcessContextProvider*&&) /usr/local/google/clankium/src/base/bind_internal.h:616:0 00148719 void base::internal::Invoker<base::internal::BindState<void (viz::VizProcessContextProvider::*)(), base::internal::UnretainedWrapper<viz::VizProcessContextProvider> >, void ()>::RunImpl<void (viz::VizProcessContextProvider::*)(), std::__ndk1::tuple<base::internal::UnretainedWrapper<viz::VizProcessContextProvider> >, 0u>(void (viz::VizProcessContextProvider::*&&)(), std::__ndk1::tuple<base::internal::UnretainedWrapper<viz::VizProcessContextProvider> >&&, std::__ndk1::integer_sequence<unsigned int, 0u>) /usr/local/google/clankium/src/base/bind_internal.h:689:12 001486eb base::internal::Invoker<base::internal::BindState<void (viz::VizProcessContextProvider::*)(), base::internal::UnretainedWrapper<viz::VizProcessContextProvider> >, void ()>::RunOnce(base::internal::BindStateBase*) /usr/local/google/clankium/src/base/bind_internal.h:658:12 0010706d base::OnceCallback<void ()>::Run() && /usr/local/google/clankium/src/base/callback.h:99:12 00116767 base::debug::TaskAnnotator::RunTask(char const*, base::PendingTask*) /usr/local/google/clankium/src/base/debug/task_annotator.cc:101:33 00134a88 base::MessageLoop::RunTask(base::PendingTask*) /usr/local/google/clankium/src/base/message_loop/message_loop.cc:434:46 00134d22 base::MessageLoop::DeferOrRunPendingTask(base::PendingTask) /usr/local/google/clankium/src/base/message_loop/message_loop.cc:445:5 00134e85 base::MessageLoop::DoWork() /usr/local/google/clankium/src/base/message_loop/message_loop.cc:517:16 00137d54 base::MessagePumpForUI::OnNonDelayedLooperCallback() /usr/local/google/clankium/src/base/message_loop/message_pump_android.cc:165:37 00137a63 base::(anonymous namespace)::NonDelayedLooperCallback(int, int, void*) /usr/local/google/clankium/src/base/message_loop/message_pump_android.cc:70:9 00018350 <UNKNOWN> /system/lib/libutils.so 000192f7 <UNKNOWN> /system/lib/libutils.so 00018d74 <UNKNOWN> /system/lib/libutils.so 000c3393 <UNKNOWN> /system/lib/libandroid_runtime.so 000c3404 <UNKNOWN> /system/lib/libandroid_runtime.so 01d1a59c <UNKNOWN> /system/framework/x86/boot-framework.oat
,
Sep 18
Thanks for the report.
,
Sep 20
This is unlanded code right? VizCompositorThread in the GPU process is shutting down in that stack trace. That would likely mean the GPU process is shutting down. Do you know what's causing that? The browser will normally shut down all the compositing clients and call InvalidateFrameSinkId() with their ID before shutting down that thread.
,
Sep 20
The changes I was testing are for a feature that is gated behind a flag that is starting being experimented on this week. IDK if any of our changes would cause the GPU process to shut down so let me provide some more details. When it is enabled the user might be presented with some items in the dino page that will allow them to open downloaded contents or launch the downloads home. So those tapping on them could: * launch a navigation in that very tab to an offline page. * launch some other downloaded item, inside or outside Chrome (audio, video, documents, etc). * launch the downloads home. All (or at least most) of these actions are executed through Android intents.
,
Sep 21
+ericrk might have some ideas
,
Sep 21
If you'd like to have more details about our feature: go/downloads-on-error-page (private link)
,
Nov 20
carlosk: Does this still happen? It was likely the same issue as https://crrev.com/c/1315538 that was causing it.
,
Nov 28
I didn't see this happening anymore during my local testing.
,
Nov 28
#1 The test that failed with this error, is enabled with reports here: https://test-results.appspot.com/dashboards/flakiness_dashboard.html#tests=tabindexFocusDownloads I'm seeing no evidence of DCHECK sink_map_.empty() anymore. Not sure about the dino-case, though :)
,
Jan 10
This bug had an unsupported status. Updating to Untriaged so someone will reevaluate.
,
Jan 10
,
Jan 10
It sounds fixed. |
|||||
►
Sign in to add a comment |
|||||
Comment 1 by carlosk@chromium.org
, Sep 18