brave / brave-browser

Brave browser for Android, iOS, Linux, macOS, Windows.
https://brave.com
Mozilla Public License 2.0
17.52k stars 2.27k forks source link

Crash in media_detector_component_manager.cc #35501

Open SergeyZhukovsky opened 7 months ago

SergeyZhukovsky commented 7 months ago

I found that crash on nightly 1.64.5

Stack Trace:
  RELADDR   FUNCTION                                                                          FILE:LINE
  v------>  std::__Cr::vector<net::SchemefulSite, std::__Cr::allocator<net::SchemefulSite>>::begin() const  ../../third_party/libc++/src/include/vector:1510:30
  v------>  decltype(std::forward<std::__Cr::vector<net::SchemefulSite, std::__Cr::allocator<net::SchemefulSite>> const&>(fp).begin()) base::internal::begin<std::__Cr::vector<net::SchemefulSite, std::__Cr::allocator<net::SchemefulSite>> const&>(std::__Cr::vector<net::SchemefulSite, std::__Cr::allocator<net::SchemefulSite>> const&, base::internal::priority_tag<1ul>)  ../../base/ranges/ranges.h:44:37
  v------>  decltype(internal::begin(std::forward<std::__Cr::vector<net::SchemefulSite, std::__Cr::allocator<net::SchemefulSite>> const&>(fp), (base::internal::priority_tag<2ul>)())) base::ranges::begin<std::__Cr::vector<net::SchemefulSite, std::__Cr::allocator<net::SchemefulSite>> const&>(std::__Cr::vector<net::SchemefulSite, std::__Cr::allocator<net::SchemefulSite>> const&)  ../../base/ranges/ranges.h:105:10
  v------>  bool base::ranges::any_of<std::__Cr::vector<net::SchemefulSite, std::__Cr::allocator<net::SchemefulSite>> const&, playlist::MediaDetectorComponentManager::ShouldUseFakeUA(GURL const&) const::$_0, std::__Cr::identity, std::__Cr::random_access_iterator_tag>(std::__Cr::vector<net::SchemefulSite, std::__Cr::allocator<net::SchemefulSite>> const&, playlist::MediaDetectorComponentManager::ShouldUseFakeUA(GURL const&) const::$_0, std::__Cr::identity)  ../../base/ranges/algorithm.h:280:25
  0000000007d4b204  playlist::MediaDetectorComponentManager::ShouldUseFakeUA(GURL const&) const       ../../brave/components/playlist/browser/media_detector_component_manager.cc:213:10
  0000000007d509a0  playlist::PlaylistService::ShouldGetMediaFromBackgroundWebContents(content::WebContents*) const  ../../brave/components/playlist/browser/playlist_service.cc:743:10
  0000000007d528bc  playlist::PlaylistService::FindMediaFilesFromContents(content::WebContents*, base::OnceCallback<void (GURL const&, std::__Cr::vector<mojo::StructPtr<playlist::mojom::PlaylistItem>, std::__Cr::allocator<mojo::StructPtr<playlist::mojom::PlaylistItem>>>)>)  ../../brave/components/playlist/browser/playlist_service.cc:432:7
  0000000007d532c8  playlist::PlaylistService::FindMediaFilesFromActiveTab(base::OnceCallback<void (GURL const&, std::__Cr::vector<mojo::StructPtr<playlist::mojom::PlaylistItem>, std::__Cr::allocator<mojo::StructPtr<playlist::mojom::PlaylistItem>>>)>)  ../../brave/components/playlist/browser/playlist_service.cc:560:3
  000000000466a1b0  playlist::mojom::PlaylistServiceStubDispatch::AcceptWithResponder(playlist::mojom::PlaylistService*, mojo::Message*, std::__Cr::unique_ptr<mojo::MessageReceiverWithStatus, std::__Cr::default_delete<mojo::MessageReceiverWithStatus>>)  gen/brave/components/playlist/common/mojom/playlist.mojom.cc:0:0
  v------>  mojo::InterfaceEndpointClient::HandleValidatedMessage(mojo::Message*)             ../../mojo/public/cpp/bindings/lib/interface_endpoint_client.cc:970:56
  00000000049e67c0  mojo::InterfaceEndpointClient::HandleIncomingMessageThunk::Accept(mojo::Message*)  ../../mojo/public/cpp/bindings/lib/interface_endpoint_client.cc:363:18
  00000000049ea2b4  mojo::MessageDispatcher::Accept(mojo::Message*)                                   ../../mojo/public/cpp/bindings/lib/message_dispatcher.cc:48:24
  00000000049e7a1c  mojo::InterfaceEndpointClient::HandleIncomingMessage(mojo::Message*)              ../../mojo/public/cpp/bindings/lib/interface_endpoint_client.cc:701:20
  00000000049ec66c  mojo::internal::MultiplexRouter::ProcessIncomingMessage(mojo::internal::MultiplexRouter::MessageWrapper*, mojo::internal::MultiplexRouter::ClientCallBehavior, base::SequencedTaskRunner*)  ../../mojo/public/cpp/bindings/lib/multiplex_router.cc:1096:42
  00000000049ec28c  mojo::internal::MultiplexRouter::Accept(mojo::Message*)                           ../../mojo/public/cpp/bindings/lib/multiplex_router.cc:710:7
  00000000049ea238  mojo::MessageDispatcher::Accept(mojo::Message*)                                   ../../mojo/public/cpp/bindings/lib/message_dispatcher.cc:43:19
  00000000049e4120  mojo::Connector::DispatchMessage(mojo::ScopedHandleBase<mojo::MessageHandle>)     ../../mojo/public/cpp/bindings/lib/connector.cc:561:49
  00000000049e45e0  mojo::Connector::ReadAllAvailableMessages()                                       ../../mojo/public/cpp/bindings/lib/connector.cc:618:14
  00000000049e4494  mojo::Connector::OnWatcherHandleReady(char const*, unsigned int)                  ../../mojo/public/cpp/bindings/lib/connector.cc:417:3
  00000000023a14d8  base::RepeatingCallback<void (device::mojom::XRVisibilityState)>::Run(device::mojom::XRVisibilityState) const &  ../../base/functional/callback.h:344:12
  v------>  base::RepeatingCallback<void (unsigned int, mojo::HandleSignalsState const&)>::Run(unsigned int, mojo::HandleSignalsState const&) const &  ../../base/functional/callback.h:344:12
  00000000049f9878  mojo::SimpleWatcher::OnHandleReady(int, unsigned int, mojo::HandleSignalsState const&)  ../../mojo/public/cpp/system/simple_watcher.cc:278:14
  v------>  base::OnceCallback<void ()>::Run() &&                                             ../../base/functional/callback.h:156:12
  000000000471e35c  base::TaskAnnotator::RunTaskImpl(base::PendingTask&)                              ../../base/task/common/task_annotator.cc:201:34
  v------>  void base::TaskAnnotator::RunTask<base::sequence_manager::internal::ThreadControllerWithMessagePumpImpl::DoWorkImpl(base::LazyNow*)::$_3>(perfetto::StaticString, base::PendingTask&, base::sequence_manager::internal::ThreadControllerWithMessagePumpImpl::DoWorkImpl(base::LazyNow*)::$_3&&)  ../../base/task/common/task_annotator.h:89:5
  v------>  base::sequence_manager::internal::ThreadControllerWithMessagePumpImpl::DoWorkImpl(base::LazyNow*)  ../../base/task/sequence_manager/thread_controller_with_message_pump_impl.cc:477:23
  0000000004730994  base::sequence_manager::internal::ThreadControllerWithMessagePumpImpl::DoWork()   ../../base/task/sequence_manager/thread_controller_with_message_pump_impl.cc:342:41
  0000000004766344  base::MessagePumpForUI::DoNonDelayedLooperWork(bool)                              ../../base/message_loop/message_pump_android.cc:186:33
  v------>  base::MessagePumpForUI::OnNonDelayedLooperCallback()                              ../../base/message_loop/message_pump_android.cc:172:3
  000000000476604c  base::(anonymous namespace)::NonDelayedLooperCallback(int, int, void*)            ../../base/message_loop/message_pump_android.cc:43:9
  000000000000f198  android::Looper::pollOnce(int, int*, int*, void**)+408                            /system/lib64/libutils.so
  000000000018194c  android::android_os_MessageQueue_nativePollOnce(_JNIEnv*, _jobject*, long, int)+44  /system/lib64/libandroid_runtime.so
  00000000003154d4  art_jni_trampoline+116                                                            /data/misc/apexdata/com.android.art/dalvik-cache/arm64/boot.oat
  0000000000973470  android.os.MessageQueue.next+304                                                  /data/misc/apexdata/com.android.art/dalvik-cache/arm64/boot.oat
  0000000000970868  android.os.Looper.loopOnce+88                                                     /data/misc/apexdata/com.android.art/dalvik-cache/arm64/boot.oat
  0000000000970774  android.os.Looper.loop+916                                                        /data/misc/apexdata/com.android.art/dalvik-cache/arm64/boot.oat
  000000000071220c  android.app.ActivityThread.main+2028                                              /data/misc/apexdata/com.android.art/dalvik-cache/arm64/boot.oat
  000000000033f080  art_quick_invoke_static_stub+640                                                  /apex/com.android.art/lib64/libart.so
  00000000003884dc  _jobject* art::InvokeMethod<(art::PointerSize)8>(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, _jobject*, _jobject*, unsigned long)+1588  /apex/com.android.art/lib64/libart.so
  0000000000387e98  art::Method_invoke(_JNIEnv*, _jobject*, _jobject*, _jobjectArray*) (.__uniq.165753521025965369065708152063621506277)+32  /apex/com.android.art/lib64/libart.so
  000000000031b038  art_jni_trampoline+120                                                            /data/misc/apexdata/com.android.art/dalvik-cache/arm64/boot.oat
  0000000000b60bb4  com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run+116                   /data/misc/apexdata/com.android.art/dalvik-cache/arm64/boot.oat
  0000000000b6b738  com.android.internal.os.ZygoteInit.main+3208                                      /data/misc/apexdata/com.android.art/dalvik-cache/arm64/boot.oat
  000000000033f080  art_quick_invoke_static_stub+640                                                  /apex/com.android.art/lib64/libart.so
  00000000004e1ea8  art::JValue art::InvokeWithVarArgs<_jmethodID*>(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, _jmethodID*, std::__va_list)+728  /apex/com.android.art/lib64/libart.so
  000000000057b930  art::JNI<true>::CallStaticVoidMethodV(_JNIEnv*, _jclass*, _jmethodID*, std::__va_list)+156  /apex/com.android.art/lib64/libart.so
  00000000000daca8  _JNIEnv::CallStaticVoidMethod(_jclass*, _jmethodID*, ...)+104                     /system/lib64/libandroid_runtime.so
  00000000000e6e2c  android::AndroidRuntime::start(char const*, android::Vector<android::String8> const&, bool)+860  /system/lib64/libandroid_runtime.so
  000000000000254c  main+1260                                                                         /system/bin/app_process64
  00000000000546e8  __libc_init+104                                                                   /apex/com.android.runtime/lib64/bionic/libc.so
deeppandya commented 7 months ago

This issue could be related to performance issue. i will check once we have the PR merged.

iefremov commented 3 months ago

@deeppandya can we close?