Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ANR on AddDATBufferToFilterSet #33245

Closed
SergeyZhukovsky opened this issue Sep 25, 2023 · 0 comments · Fixed by brave/brave-core#20284
Closed

ANR on AddDATBufferToFilterSet #33245

SergeyZhukovsky opened this issue Sep 25, 2023 · 0 comments · Fixed by brave/brave-core#20284
Assignees
Labels
ANR Application Not Responding (Android stability issue) feature/shields/adblock Blocking ads & trackers with Shields OS/Android Fixes related to Android browser functionality OS/Desktop priority/P2 A bad problem. We might uplift this to the next planned release. QA/No release-notes/exclude

Comments

@SergeyZhukovsky
Copy link
Member

We see a spike of App Not Responding events in GPS on Android Nightly v1.60.49. It happens in a common code, so most likely desktop suffers from it as well. It seems like that PR causes it brave/brave-core#19946.
Stacks from GPS:

Stack Trace:
  RELADDR   FUNCTION                                                                          FILE:LINE
  00000000048b0a44  core::slice::memchr::memchr_naive::h71cff4389ee55395                              ../../third_party/rust-toolchain/lib/rustlib/src/rust/library/core/src/slice/memchr.rs:57:12
  00000000048b0ae3  core::slice::memchr::memchr_aligned::hdb66c9cc04d6052c                            ../../third_party/rust-toolchain/lib/rustlib/src/rust/library/core/src/slice/memchr.rs:119:22
  00000000048bd0b5  _$LT$core..str..pattern..CharSearcher$u20$as$u20$core..str..pattern..Searcher$GT$::next_match::h10737b38d93e3b17  ../../third_party/rust-toolchain/lib/rustlib/src/rust/library/core/src/str/pattern.rs:418:34
  v------>  core::str::iter::SplitInternal$LT$P$GT$::next_inclusive::h0a1638248a55e3c1        ../../third_party/rust-toolchain/lib/rustlib/src/rust/library/core/src/str/iter.rs:626:15
  v------>  _$LT$core..str..iter..SplitInclusive$LT$P$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$::next::ha8e4c1d6015f7335  ../../third_party/rust-toolchain/lib/rustlib/src/rust/library/core/src/str/iter.rs:1343:9
  v------>  _$LT$core..iter..adapters..map..Map$LT$I$C$F$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$::next::hfc31bdd173b73edb  ../../third_party/rust-toolchain/lib/rustlib/src/rust/library/core/src/iter/adapters/map.rs:103:9
  v------>  _$LT$core..str..iter..Lines$u20$as$u20$core..iter..traits..iterator..Iterator$GT$::next::hd41ca080b13f8508  ../../third_party/rust-toolchain/lib/rustlib/src/rust/library/core/src/str/iter.rs:1115:9
  v------>  core::iter::traits::iterator::Iterator::fold::he99c8a0c7862c6cb                   ../../third_party/rust-toolchain/lib/rustlib/src/rust/library/core/src/iter/traits/iterator.rs:2480:29
  v------>  _$LT$core..iter..adapters..map..Map$LT$I$C$F$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$::fold::hc7ecd7bbb3b4a897  ../../third_party/rust-toolchain/lib/rustlib/src/rust/library/core/src/iter/adapters/map.rs:124:9
  v------>  _$LT$core..iter..adapters..filter_map..FilterMap$LT$I$C$F$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$::fold::h30385feccfc9e165  ../../third_party/rust-toolchain/lib/rustlib/src/rust/library/core/src/iter/adapters/filter_map.rs:145:9
  v------>  core::iter::traits::iterator::Iterator::for_each::he7b77b09af102d73               ../../third_party/rust-toolchain/lib/rustlib/src/rust/library/core/src/iter/traits/iterator.rs:856:9
  v------>  itertools::Itertools::partition_map::hc5c36aeb4fc6e17e                            ../../brave/third_party/rust/itertools/v0_10/crate/src/lib.rs:2774:9
  v------>  adblock::lists::parse_filters_with_metadata::hc2c1a527cc92e91b                    ../../brave/third_party/rust/adblock/v0_8/crate/src/lists.rs:487:65
  v------>  adblock::lists::FilterSet::add_filters::hc6d04a7f7c2ebfc5                         ../../brave/third_party/rust/adblock/v0_8/crate/src/lists.rs:240:83
  00000000048cb921  adblock::lists::FilterSet::add_filter_list::hcc528d452a04b82c                     ../../brave/third_party/rust/adblock/v0_8/crate/src/lists.rs:234:9
  v------>  adblock_cxx::filter_set::FilterSet::add_filter_list_with_permissions::_$u7b$$u7b$closure$u7d$$u7d$::hf53835844495c884  ../../brave/components/brave_shields/adblock/rs/src/filter_set.rs:35:16
  00000000048b6cf7  adblock_cxx::filter_set::FilterSet::add_filter_list_with_permissions::hd33fa89043af1b3b  ../../brave/components/brave_shields/adblock/rs/src/filter_set.rs:34:9
  v------>  adblock_cxx::ffi::_::__FilterSet__add_filter_list_with_permissions::__FilterSet__add_filter_list_with_permissions::h0e2ffd6f9cfa8d05  ../../brave/components/brave_shields/adblock/rs/src/lib.rs:21:14
  v------>  adblock_cxx::ffi::_::__FilterSet__add_filter_list_with_permissions::_$u7b$$u7b$closure$u7d$$u7d$::h6f6f9aed27df75bd  ../../brave/components/brave_shields/adblock/rs/src/lib.rs:18:1
  v------>  cxx::unwind::prevent_unwind::h204ef493d10d4d15                                    ../../third_party/rust/cxx/v1/crate/src/unwind.rs:23:15
  00000000048b6e0f  adblock$cxxbridge1$FilterSet$add_filter_list_with_permissions                     ../../brave/components/brave_shields/adblock/rs/src/lib.rs:28:38
  000000000349281b  adblock::FilterSet::add_filter_list_with_permissions(std::__Cr::vector<unsigned char, std::__Cr::allocator<unsigned char>> const&, unsigned char)  gen/brave/components/brave_shields/adblock/rs/src/lib.rs.cc:1226:3
  000000000470f579  brave_shields::(anonymous namespace)::AddDATBufferToFilterSet(base::OnceCallback<void ()>, rust::cxxbridge1::Box<adblock::FilterSet>*, unsigned char, std::__Cr::vector<unsigned char, std::__Cr::allocator<unsigned char>>)  ../../brave/components/brave_shields/browser/ad_block_component_filters_provider.cc:31:18
  v------>  void base::internal::FunctorTraits<void (*)(base::OnceCallback<void ()>, rust::cxxbridge1::Box<adblock::FilterSet>*, unsigned char, std::__Cr::vector<unsigned char, std::__Cr::allocator<unsigned char>>), void>::Invoke<void (*)(base::OnceCallback<void ()>, rust::cxxbridge1::Box<adblock::FilterSet>*, unsigned char, std::__Cr::vector<unsigned char, std::__Cr::allocator<unsigned char>>), base::OnceCallback<void ()>, rust::cxxbridge1::Box<adblock::FilterSet>*, unsigned char, std::__Cr::vector<unsigned char, std::__Cr::allocator<unsigned char>>>(void (*&&)(base::OnceCallback<void ()>, rust::cxxbridge1::Box<adblock::FilterSet>*, unsigned char, std::__Cr::vector<unsigned char, std::__Cr::allocator<unsigned char>>), base::OnceCallback<void ()>&&, rust::cxxbridge1::Box<adblock::FilterSet>*&&, unsigned char&&, std::__Cr::vector<unsigned char, std::__Cr::allocator<unsigned char>>&&)  ../../base/functional/bind_internal.h:632:12
  v------>  void base::internal::InvokeHelper<false, void, 0u, 1u, 2u>::MakeItSo<void (*)(base::OnceCallback<void ()>, rust::cxxbridge1::Box<adblock::FilterSet>*, unsigned char, std::__Cr::vector<unsigned char, std::__Cr::allocator<unsigned char>>), std::__Cr::tuple<base::OnceCallback<void ()>, base::internal::UnretainedWrapper<rust::cxxbridge1::Box<adblock::FilterSet>, base::unretained_traits::MayNotDangle, (base::RawPtrTraits)0>, unsigned char>, std::__Cr::vector<unsigned char, std::__Cr::allocator<unsigned char>>>(void (*&&)(base::OnceCallback<void ()>, rust::cxxbridge1::Box<adblock::FilterSet>*, unsigned char, std::__Cr::vector<unsigned char, std::__Cr::allocator<unsigned char>>), std::__Cr::tuple<base::OnceCallback<void ()>, base::internal::UnretainedWrapper<rust::cxxbridge1::Box<adblock::FilterSet>, base::unretained_traits::MayNotDangle, (base::RawPtrTraits)0>, unsigned char>&&, std::__Cr::vector<unsigned char, std::__Cr::allocator<unsigned char>>&&)  ../../base/functional/bind_internal.h:893:12
  v------>  void base::internal::Invoker<base::internal::BindState<void (*)(base::OnceCallback<void ()>, rust::cxxbridge1::Box<adblock::FilterSet>*, unsigned char, std::__Cr::vector<unsigned char, std::__Cr::allocator<unsigned char>>), base::OnceCallback<void ()>, base::internal::UnretainedWrapper<rust::cxxbridge1::Box<adblock::FilterSet>, base::unretained_traits::MayNotDangle, (base::RawPtrTraits)0>, unsigned char>, void (std::__Cr::vector<unsigned char, std::__Cr::allocator<unsigned char>>)>::RunImpl<void (*)(base::OnceCallback<void ()>, rust::cxxbridge1::Box<adblock::FilterSet>*, unsigned char, std::__Cr::vector<unsigned char, std::__Cr::allocator<unsigned char>>), std::__Cr::tuple<base::OnceCallback<void ()>, base::internal::UnretainedWrapper<rust::cxxbridge1::Box<adblock::FilterSet>, base::unretained_traits::MayNotDangle, (base::RawPtrTraits)0>, unsigned char>, 0u, 1u, 2u>(void (*&&)(base::OnceCallback<void ()>, rust::cxxbridge1::Box<adblock::FilterSet>*, unsigned char, std::__Cr::vector<unsigned char, std::__Cr::allocator<unsigned char>>), std::__Cr::tuple<base::OnceCallback<void ()>, base::internal::UnretainedWrapper<rust::cxxbridge1::Box<adblock::FilterSet>, base::unretained_traits::MayNotDangle, (base::RawPtrTraits)0>, unsigned char>&&, std::__Cr::integer_sequence<unsigned int, 0u, 1u, 2u>, std::__Cr::vector<unsigned char, std::__Cr::allocator<unsigned char>>&&)  ../../base/functional/bind_internal.h:993:12
  000000000470f5e9  base::internal::Invoker<base::internal::BindState<void (*)(base::OnceCallback<void ()>, rust::cxxbridge1::Box<adblock::FilterSet>*, unsigned char, std::__Cr::vector<unsigned char, std::__Cr::allocator<unsigned char>>), base::OnceCallback<void ()>, base::internal::UnretainedWrapper<rust::cxxbridge1::Box<adblock::FilterSet>, base::unretained_traits::MayNotDangle, (base::RawPtrTraits)0>, unsigned char>, void (std::__Cr::vector<unsigned char, std::__Cr::allocator<unsigned char>>)>::RunOnce(base::internal::BindStateBase*, std::__Cr::vector<unsigned char, std::__Cr::allocator<unsigned char>>&&)  ../../base/functional/bind_internal.h:944:12
  0000000000f65899  base::OnceCallback<void (std::__Cr::vector<QuerySuggestion, std::__Cr::allocator<QuerySuggestion>>)>::Run(std::__Cr::vector<QuerySuggestion, std::__Cr::allocator<QuerySuggestion>>) &&  ../../base/functional/callback.h:152:12
  00000000018850e1  void base::internal::ReplyAdapter<std::__Cr::vector<unsigned char, std::__Cr::allocator<unsigned char>>, std::__Cr::vector<unsigned char, std::__Cr::allocator<unsigned char>>>(base::OnceCallback<void (std::__Cr::vector<unsigned char, std::__Cr::allocator<unsigned char>>)>, std::__Cr::unique_ptr<std::__Cr::vector<unsigned char, std::__Cr::allocator<unsigned char>>, std::__Cr::default_delete<std::__Cr::vector<unsigned char, std::__Cr::allocator<unsigned char>>>>*)  ../../base/task/post_task_and_reply_with_result_internal.h:31:23
  v------>  base::OnceCallback<void ()>::Run() &&                                             ../../base/functional/callback.h:152:12
  00000000025b9369  base::(anonymous namespace)::PostTaskAndReplyRelay::RunReply(base::(anonymous namespace)::PostTaskAndReplyRelay)  ../../base/threading/post_task_and_reply_impl.cc:124:29
  v------>  void base::internal::FunctorTraits<void (*)(base::(anonymous namespace)::PostTaskAndReplyRelay), void>::Invoke<void (*)(base::(anonymous namespace)::PostTaskAndReplyRelay), base::(anonymous namespace)::PostTaskAndReplyRelay>(void (*&&)(base::(anonymous namespace)::PostTaskAndReplyRelay), base::(anonymous namespace)::PostTaskAndReplyRelay&&)  ../../base/functional/bind_internal.h:632:12
  v------>  void base::internal::InvokeHelper<false, void, 0u>::MakeItSo<void (*)(base::(anonymous namespace)::PostTaskAndReplyRelay), std::__Cr::tuple<base::(anonymous namespace)::PostTaskAndReplyRelay>>(void (*&&)(base::(anonymous namespace)::PostTaskAndReplyRelay), std::__Cr::tuple<base::(anonymous namespace)::PostTaskAndReplyRelay>&&)  ../../base/functional/bind_internal.h:893:12
  v------>  void base::internal::Invoker<base::internal::BindState<void (*)(base::(anonymous namespace)::PostTaskAndReplyRelay), base::(anonymous namespace)::PostTaskAndReplyRelay>, void ()>::RunImpl<void (*)(base::(anonymous namespace)::PostTaskAndReplyRelay), std::__Cr::tuple<base::(anonymous namespace)::PostTaskAndReplyRelay>, 0u>(void (*&&)(base::(anonymous namespace)::PostTaskAndReplyRelay), std::__Cr::tuple<base::(anonymous namespace)::PostTaskAndReplyRelay>&&, std::__Cr::integer_sequence<unsigned int, 0u>)  ../../base/functional/bind_internal.h:993:12
  00000000025b9417  base::internal::Invoker<base::internal::BindState<void (*)(base::(anonymous namespace)::PostTaskAndReplyRelay), base::(anonymous namespace)::PostTaskAndReplyRelay>, void ()>::RunOnce(base::internal::BindStateBase*)  ../../base/functional/bind_internal.h:944:12
  v------>  base::OnceCallback<void ()>::Run() &&                                             ../../base/functional/callback.h:152:12
  000000000259c3c5  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*)::$_0>(perfetto::StaticString, base::PendingTask&, base::sequence_manager::internal::ThreadControllerWithMessagePumpImpl::DoWorkImpl(base::LazyNow*)::$_0&&)  ../../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:480:23
  00000000025a87c3  base::sequence_manager::internal::ThreadControllerWithMessagePumpImpl::DoWork()   ../../base/task/sequence_manager/thread_controller_with_message_pump_impl.cc:345:41
  00000000025a8d49  non-virtual thunk to base::sequence_manager::internal::ThreadControllerWithMessagePumpImpl::DoWork()  ../../base/task/sequence_manager/thread_controller_with_message_pump_impl.cc:0:0
  00000000025cc22f  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
  00000000025cc06f  base::(anonymous namespace)::NonDelayedLooperCallback(int, int, void*)            ../../base/message_loop/message_pump_android.cc:43:9
  0000000000010a75  android::Looper::pollInner(int)+672                                               /system/lib/libutils.so
  000000000001075b  android::Looper::pollOnce(int, int*, int*, void**)+30                             /system/lib/libutils.so
  00000000000d32bf  android::android_os_MessageQueue_nativePollOnce(_JNIEnv*, _jobject*, long long, int)+24  /system/lib/libandroid_runtime.so
serg@sergs-ubuntu:/media/serg/Projects/current-brave-browser/src/brave$ ^C
serg@sergs-ubuntu:/media/serg/Projects/current-brave-browser/src/brave$ 

Stack Trace:
  RELADDR   FUNCTION                                                                          FILE:LINE
  v------>  core::num::_$LT$impl$u20$u64$GT$::wrapping_mul::ha1b6c66d04536904                 ../../third_party/rust-toolchain/lib/rustlib/src/rust/library/core/src/num/uint_macros.rs:1253:13
  v------>  seahash::helper::diffuse::ha49989da5d9648c0                                       ../../brave/third_party/rust/seahash/v3/crate/src/helper.rs:86:9
  v------>  seahash::buffer::State::finalize::hfb73e349e77ec5f4                               ../../brave/third_party/rust/seahash/v3/crate/src/buffer.rs:231:9
  00000000079f3b98  seahash::buffer::hash_seeded::h6207e08f1504b42c                                   ../../brave/third_party/rust/seahash/v3/crate/src/buffer.rs:273:5
  v------>  adblock::utils::fast_hash::h7da918f049d731a9                                      ../../brave/third_party/rust/adblock/v0_8/crate/src/utils.rs:13:5
  00000000079e6164  adblock::filters::network::NetworkFilter::parse::h63063b14a4d4dfac                ../../brave/third_party/rust/adblock/v0_8/crate/src/filters/network.rs:873:17
  v------>  adblock::lists::parse_filter::h4037c9ca7810d235                                   ../../brave/third_party/rust/adblock/v0_8/crate/src/lists.rs:407:83
  v------>  adblock::lists::parse_filters_with_metadata::_$u7b$$u7b$closure$u7d$$u7d$::hdb8e909d62d9bfff  ../../brave/third_party/rust/adblock/v0_8/crate/src/lists.rs:490:13
  v------>  core::iter::adapters::map::map_fold::_$u7b$$u7b$closure$u7d$$u7d$::h22f875b5534654bf  ../../third_party/rust-toolchain/lib/rustlib/src/rust/library/core/src/iter/adapters/map.rs:84:28
  v------>  core::iter::traits::iterator::Iterator::fold::he99c8a0c7862c6cb                   ../../third_party/rust-toolchain/lib/rustlib/src/rust/library/core/src/iter/traits/iterator.rs:2481:21
  v------>  _$LT$core..iter..adapters..map..Map$LT$I$C$F$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$::fold::hc7ecd7bbb3b4a897  ../../third_party/rust-toolchain/lib/rustlib/src/rust/library/core/src/iter/adapters/map.rs:124:9
  v------>  _$LT$core..iter..adapters..filter_map..FilterMap$LT$I$C$F$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$::fold::h30385feccfc9e165  ../../third_party/rust-toolchain/lib/rustlib/src/rust/library/core/src/iter/adapters/filter_map.rs:145:9
  v------>  core::iter::traits::iterator::Iterator::for_each::he7b77b09af102d73               ../../third_party/rust-toolchain/lib/rustlib/src/rust/library/core/src/iter/traits/iterator.rs:856:9
  v------>  itertools::Itertools::partition_map::hc5c36aeb4fc6e17e                            ../../brave/third_party/rust/itertools/v0_10/crate/src/lib.rs:2774:9
  v------>  adblock::lists::parse_filters_with_metadata::hc2c1a527cc92e91b                    ../../brave/third_party/rust/adblock/v0_8/crate/src/lists.rs:487:65
  v------>  adblock::lists::FilterSet::add_filters::hc6d04a7f7c2ebfc5                         ../../brave/third_party/rust/adblock/v0_8/crate/src/lists.rs:240:83
  00000000079e7be8  adblock::lists::FilterSet::add_filter_list::hcc528d452a04b82c                     ../../brave/third_party/rust/adblock/v0_8/crate/src/lists.rs:234:9
  v------>  adblock_cxx::filter_set::FilterSet::add_filter_list_with_permissions::_$u7b$$u7b$closure$u7d$$u7d$::hf53835844495c884  ../../brave/components/brave_shields/adblock/rs/src/filter_set.rs:35:16
  00000000079c9190  adblock_cxx::filter_set::FilterSet::add_filter_list_with_permissions::hd33fa89043af1b3b  ../../brave/components/brave_shields/adblock/rs/src/filter_set.rs:34:9
  v------>  adblock_cxx::ffi::_::__FilterSet__add_filter_list_with_permissions::__FilterSet__add_filter_list_with_permissions::h0e2ffd6f9cfa8d05  ../../brave/components/brave_shields/adblock/rs/src/lib.rs:21:14
  v------>  adblock_cxx::ffi::_::__FilterSet__add_filter_list_with_permissions::_$u7b$$u7b$closure$u7d$$u7d$::h6f6f9aed27df75bd  ../../brave/components/brave_shields/adblock/rs/src/lib.rs:18:1
  v------>  cxx::unwind::prevent_unwind::h204ef493d10d4d15                                    ../../third_party/rust/cxx/v1/crate/src/unwind.rs:23:15
  00000000079c932c  adblock$cxxbridge1$FilterSet$add_filter_list_with_permissions                     ../../brave/components/brave_shields/adblock/rs/src/lib.rs:28:38
  00000000059ac21c  adblock::FilterSet::add_filter_list_with_permissions(std::__Cr::vector<unsigned char, std::__Cr::allocator<unsigned char>> const&, unsigned char)  gen/brave/components/brave_shields/adblock/rs/src/lib.rs.cc:1226:3
  00000000077404b0  brave_shields::(anonymous namespace)::AddDATBufferToFilterSet(base::OnceCallback<void ()>, rust::cxxbridge1::Box<adblock::FilterSet>*, unsigned char, std::__Cr::vector<unsigned char, std::__Cr::allocator<unsigned char>>)  ../../brave/components/brave_shields/browser/ad_block_component_filters_provider.cc:31:18
  v------>  void base::internal::FunctorTraits<void (*)(base::OnceCallback<void ()>, rust::cxxbridge1::Box<adblock::FilterSet>*, unsigned char, std::__Cr::vector<unsigned char, std::__Cr::allocator<unsigned char>>), void>::Invoke<void (*)(base::OnceCallback<void ()>, rust::cxxbridge1::Box<adblock::FilterSet>*, unsigned char, std::__Cr::vector<unsigned char, std::__Cr::allocator<unsigned char>>), base::OnceCallback<void ()>, rust::cxxbridge1::Box<adblock::FilterSet>*, unsigned char, std::__Cr::vector<unsigned char, std::__Cr::allocator<unsigned char>>>(void (*&&)(base::OnceCallback<void ()>, rust::cxxbridge1::Box<adblock::FilterSet>*, unsigned char, std::__Cr::vector<unsigned char, std::__Cr::allocator<unsigned char>>), base::OnceCallback<void ()>&&, rust::cxxbridge1::Box<adblock::FilterSet>*&&, unsigned char&&, std::__Cr::vector<unsigned char, std::__Cr::allocator<unsigned char>>&&)  ../../base/functional/bind_internal.h:632:12
  v------>  void base::internal::InvokeHelper<false, void, 0ul, 1ul, 2ul>::MakeItSo<void (*)(base::OnceCallback<void ()>, rust::cxxbridge1::Box<adblock::FilterSet>*, unsigned char, std::__Cr::vector<unsigned char, std::__Cr::allocator<unsigned char>>), std::__Cr::tuple<base::OnceCallback<void ()>, base::internal::UnretainedWrapper<rust::cxxbridge1::Box<adblock::FilterSet>, base::unretained_traits::MayNotDangle, (base::RawPtrTraits)0>, unsigned char>, std::__Cr::vector<unsigned char, std::__Cr::allocator<unsigned char>>>(void (*&&)(base::OnceCallback<void ()>, rust::cxxbridge1::Box<adblock::FilterSet>*, unsigned char, std::__Cr::vector<unsigned char, std::__Cr::allocator<unsigned char>>), std::__Cr::tuple<base::OnceCallback<void ()>, base::internal::UnretainedWrapper<rust::cxxbridge1::Box<adblock::FilterSet>, base::unretained_traits::MayNotDangle, (base::RawPtrTraits)0>, unsigned char>&&, std::__Cr::vector<unsigned char, std::__Cr::allocator<unsigned char>>&&)  ../../base/functional/bind_internal.h:893:12
  v------>  void base::internal::Invoker<base::internal::BindState<void (*)(base::OnceCallback<void ()>, rust::cxxbridge1::Box<adblock::FilterSet>*, unsigned char, std::__Cr::vector<unsigned char, std::__Cr::allocator<unsigned char>>), base::OnceCallback<void ()>, base::internal::UnretainedWrapper<rust::cxxbridge1::Box<adblock::FilterSet>, base::unretained_traits::MayNotDangle, (base::RawPtrTraits)0>, unsigned char>, void (std::__Cr::vector<unsigned char, std::__Cr::allocator<unsigned char>>)>::RunImpl<void (*)(base::OnceCallback<void ()>, rust::cxxbridge1::Box<adblock::FilterSet>*, unsigned char, std::__Cr::vector<unsigned char, std::__Cr::allocator<unsigned char>>), std::__Cr::tuple<base::OnceCallback<void ()>, base::internal::UnretainedWrapper<rust::cxxbridge1::Box<adblock::FilterSet>, base::unretained_traits::MayNotDangle, (base::RawPtrTraits)0>, unsigned char>, 0ul, 1ul, 2ul>(void (*&&)(base::OnceCallback<void ()>, rust::cxxbridge1::Box<adblock::FilterSet>*, unsigned char, std::__Cr::vector<unsigned char, std::__Cr::allocator<unsigned char>>), std::__Cr::tuple<base::OnceCallback<void ()>, base::internal::UnretainedWrapper<rust::cxxbridge1::Box<adblock::FilterSet>, base::unretained_traits::MayNotDangle, (base::RawPtrTraits)0>, unsigned char>&&, std::__Cr::integer_sequence<unsigned long, 0ul, 1ul, 2ul>, std::__Cr::vector<unsigned char, std::__Cr::allocator<unsigned char>>&&)  ../../base/functional/bind_internal.h:993:12
  00000000077406d4  base::internal::Invoker<base::internal::BindState<void (*)(base::OnceCallback<void ()>, rust::cxxbridge1::Box<adblock::FilterSet>*, unsigned char, std::__Cr::vector<unsigned char, std::__Cr::allocator<unsigned char>>), base::OnceCallback<void ()>, base::internal::UnretainedWrapper<rust::cxxbridge1::Box<adblock::FilterSet>, base::unretained_traits::MayNotDangle, (base::RawPtrTraits)0>, unsigned char>, void (std::__Cr::vector<unsigned char, std::__Cr::allocator<unsigned char>>)>::RunOnce(base::internal::BindStateBase*, std::__Cr::vector<unsigned char, std::__Cr::allocator<unsigned char>>&&)  ../../base/functional/bind_internal.h:944:12
  0000000002152d78  base::OnceCallback<void (std::__Cr::vector<QuerySuggestion, std::__Cr::allocator<QuerySuggestion>>)>::Run(std::__Cr::vector<QuerySuggestion, std::__Cr::allocator<QuerySuggestion>>) &&  ../../base/functional/callback.h:152:12
Stack Trace:
  RELADDR   FUNCTION                                                                          FILE:LINE
  v------>  core::ptr::write::h280b27f63ca32470                                               ../../third_party/rust-toolchain/lib/rustlib/src/rust/library/core/src/ptr/mod.rs:1378:9
  v------>  alloc::vec::Vec$LT$T$C$A$GT$::push::h4252af361f9db3da                             ../../third_party/rust-toolchain/lib/rustlib/src/rust/library/alloc/src/vec/mod.rs:1833:13
  v------>  adblock::filters::network::parse_filter_options::h6bc3dad18841201a                ../../brave/third_party/rust/adblock/v0_8/crate/src/filters/network.rs:382:9
  v------>  adblock::filters::network::AbstractNetworkFilter::parse::h2417d347997946e6        ../../brave/third_party/rust/adblock/v0_8/crate/src/filters/network.rs:333:28
  00000000048c9d4a  adblock::filters::network::NetworkFilter::parse::h63063b14a4d4dfac                ../../brave/third_party/rust/adblock/v0_8/crate/src/filters/network.rs:522:22
  v------>  adblock::lists::parse_filter::h4037c9ca7810d235                                   ../../brave/third_party/rust/adblock/v0_8/crate/src/lists.rs:407:83
  v------>  adblock::lists::parse_filters_with_metadata::_$u7b$$u7b$closure$u7d$$u7d$::hdb8e909d62d9bfff  ../../brave/third_party/rust/adblock/v0_8/crate/src/lists.rs:490:13
  v------>  core::iter::adapters::map::map_fold::_$u7b$$u7b$closure$u7d$$u7d$::h22f875b5534654bf  ../../third_party/rust-toolchain/lib/rustlib/src/rust/library/core/src/iter/adapters/map.rs:84:28
  v------>  core::iter::traits::iterator::Iterator::fold::he99c8a0c7862c6cb                   ../../third_party/rust-toolchain/lib/rustlib/src/rust/library/core/src/iter/traits/iterator.rs:2481:21
  v------>  _$LT$core..iter..adapters..map..Map$LT$I$C$F$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$::fold::hc7ecd7bbb3b4a897  ../../third_party/rust-toolchain/lib/rustlib/src/rust/library/core/src/iter/adapters/map.rs:124:9
  v------>  _$LT$core..iter..adapters..filter_map..FilterMap$LT$I$C$F$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$::fold::h30385feccfc9e165  ../../third_party/rust-toolchain/lib/rustlib/src/rust/library/core/src/iter/adapters/filter_map.rs:145:9
  v------>  core::iter::traits::iterator::Iterator::for_each::he7b77b09af102d73               ../../third_party/rust-toolchain/lib/rustlib/src/rust/library/core/src/iter/traits/iterator.rs:856:9
  v------>  itertools::Itertools::partition_map::hc5c36aeb4fc6e17e                            ../../brave/third_party/rust/itertools/v0_10/crate/src/lib.rs:2774:9
  v------>  adblock::lists::parse_filters_with_metadata::hc2c1a527cc92e91b                    ../../brave/third_party/rust/adblock/v0_8/crate/src/lists.rs:487:65
  v------>  adblock::lists::FilterSet::add_filters::hc6d04a7f7c2ebfc5                         ../../brave/third_party/rust/adblock/v0_8/crate/src/lists.rs:240:83
  00000000048cbfe5  adblock::lists::FilterSet::add_filter_list::hcc528d452a04b82c                     ../../brave/third_party/rust/adblock/v0_8/crate/src/lists.rs:234:9
  v------>  adblock_cxx::filter_set::FilterSet::add_filter_list_with_permissions::_$u7b$$u7b$closure$u7d$$u7d$::hf53835844495c884  ../../brave/components/brave_shields/adblock/rs/src/filter_set.rs:35:16
  00000000048b6cf7  adblock_cxx::filter_set::FilterSet::add_filter_list_with_permissions::hd33fa89043af1b3b  ../../brave/components/brave_shields/adblock/rs/src/filter_set.rs:34:9
  v------>  adblock_cxx::ffi::_::__FilterSet__add_filter_list_with_permissions::__FilterSet__add_filter_list_with_permissions::h0e2ffd6f9cfa8d05  ../../brave/components/brave_shields/adblock/rs/src/lib.rs:21:14
  v------>  adblock_cxx::ffi::_::__FilterSet__add_filter_list_with_permissions::_$u7b$$u7b$closure$u7d$$u7d$::h6f6f9aed27df75bd  ../../brave/components/brave_shields/adblock/rs/src/lib.rs:18:1
  v------>  cxx::unwind::prevent_unwind::h204ef493d10d4d15                                    ../../third_party/rust/cxx/v1/crate/src/unwind.rs:23:15
  00000000048b6e0f  adblock$cxxbridge1$FilterSet$add_filter_list_with_permissions                     ../../brave/components/brave_shields/adblock/rs/src/lib.rs:28:38
  000000000349281b  adblock::FilterSet::add_filter_list_with_permissions(std::__Cr::vector<unsigned char, std::__Cr::allocator<unsigned char>> const&, unsigned char)  gen/brave/components/brave_shields/adblock/rs/src/lib.rs.cc:1226:3
  000000000470f579  brave_shields::(anonymous namespace)::AddDATBufferToFilterSet(base::OnceCallback<void ()>, rust::cxxbridge1::Box<adblock::FilterSet>*, unsigned char, std::__Cr::vector<unsigned char, std::__Cr::allocator<unsigned char>>)  ../../brave/components/brave_shields/browser/ad_block_component_filters_provider.cc:31:18
  v------>  void base::internal::FunctorTraits<void (*)(base::OnceCallback<void ()>, rust::cxxbridge1::Box<adblock::FilterSet>*, unsigned char, std::__Cr::vector<unsigned char, std::__Cr::allocator<unsigned char>>), void>::Invoke<void (*)(base::OnceCallback<void ()>, rust::cxxbridge1::Box<adblock::FilterSet>*, unsigned char, std::__Cr::vector<unsigned char, std::__Cr::allocator<unsigned char>>), base::OnceCallback<void ()>, rust::cxxbridge1::Box<adblock::FilterSet>*, unsigned char, std::__Cr::vector<unsigned char, std::__Cr::allocator<unsigned char>>>(void (*&&)(base::OnceCallback<void ()>, rust::cxxbridge1::Box<adblock::FilterSet>*, unsigned char, std::__Cr::vector<unsigned char, std::__Cr::allocator<unsigned char>>), base::OnceCallback<void ()>&&, rust::cxxbridge1::Box<adblock::FilterSet>*&&, unsigned char&&, std::__Cr::vector<unsigned char, std::__Cr::allocator<unsigned char>>&&)  ../../base/functional/bind_internal.h:632:12
  v------>  void base::internal::InvokeHelper<false, void, 0u, 1u, 2u>::MakeItSo<void (*)(base::OnceCallback<void ()>, rust::cxxbridge1::Box<adblock::FilterSet>*, unsigned char, std::__Cr::vector<unsigned char, std::__Cr::allocator<unsigned char>>), std::__Cr::tuple<base::OnceCallback<void ()>, base::internal::UnretainedWrapper<rust::cxxbridge1::Box<adblock::FilterSet>, base::unretained_traits::MayNotDangle, (base::RawPtrTraits)0>, unsigned char>, std::__Cr::vector<unsigned char, std::__Cr::allocator<unsigned char>>>(void (*&&)(base::OnceCallback<void ()>, rust::cxxbridge1::Box<adblock::FilterSet>*, unsigned char, std::__Cr::vector<unsigned char, std::__Cr::allocator<unsigned char>>), std::__Cr::tuple<base::OnceCallback<void ()>, base::internal::UnretainedWrapper<rust::cxxbridge1::Box<adblock::FilterSet>, base::unretained_traits::MayNotDangle, (base::RawPtrTraits)0>, unsigned char>&&, std::__Cr::vector<unsigned char, std::__Cr::allocator<unsigned char>>&&)  ../../base/functional/bind_internal.h:893:12
  v------>  void base::internal::Invoker<base::internal::BindState<void (*)(base::OnceCallback<void ()>, rust::cxxbridge1::Box<adblock::FilterSet>*, unsigned char, std::__Cr::vector<unsigned char, std::__Cr::allocator<unsigned char>>), base::OnceCallback<void ()>, base::internal::UnretainedWrapper<rust::cxxbridge1::Box<adblock::FilterSet>, base::unretained_traits::MayNotDangle, (base::RawPtrTraits)0>, unsigned char>, void (std::__Cr::vector<unsigned char, std::__Cr::allocator<unsigned char>>)>::RunImpl<void (*)(base::OnceCallback<void ()>, rust::cxxbridge1::Box<adblock::FilterSet>*, unsigned char, std::__Cr::vector<unsigned char, std::__Cr::allocator<unsigned char>>), std::__Cr::tuple<base::OnceCallback<void ()>, base::internal::UnretainedWrapper<rust::cxxbridge1::Box<adblock::FilterSet>, base::unretained_traits::MayNotDangle, (base::RawPtrTraits)0>, unsigned char>, 0u, 1u, 2u>(void (*&&)(base::OnceCallback<void ()>, rust::cxxbridge1::Box<adblock::FilterSet>*, unsigned char, std::__Cr::vector<unsigned char, std::__Cr::allocator<unsigned char>>), std::__Cr::tuple<base::OnceCallback<void ()>, base::internal::UnretainedWrapper<rust::cxxbridge1::Box<adblock::FilterSet>, base::unretained_traits::MayNotDangle, (base::RawPtrTraits)0>, unsigned char>&&, std::__Cr::integer_sequence<unsigned int, 0u, 1u, 2u>, std::__Cr::vector<unsigned char, std::__Cr::allocator<unsigned char>>&&)  ../../base/functional/bind_internal.h:993:12
  000000000470f5e9  base::internal::Invoker<base::internal::BindState<void (*)(base::OnceCallback<void ()>, rust::cxxbridge1::Box<adblock::FilterSet>*, unsigned char, std::__Cr::vector<unsigned char, std::__Cr::allocator<unsigned char>>), base::OnceCallback<void ()>, base::internal::UnretainedWrapper<rust::cxxbridge1::Box<adblock::FilterSet>, base::unretained_traits::MayNotDangle, (base::RawPtrTraits)0>, unsigned char>, void (std::__Cr::vector<unsigned char, std::__Cr::allocator<unsigned char>>)>::RunOnce(base::internal::BindStateBase*, std::__Cr::vector<unsigned char, std::__Cr::allocator<unsigned char>>&&)  ../../base/functional/bind_internal.h:944:12
  0000000000f65899  base::OnceCallback<void (std::__Cr::vector<QuerySuggestion, std::__Cr::allocator<QuerySuggestion>>)>::Run(std::__Cr::vector<QuerySuggestion, std::__Cr::allocator<QuerySuggestion>>) &&  ../../base/functional/callback.h:152:12
  00000000018850e1  void base::internal::ReplyAdapter<std::__Cr::vector<unsigned char, std::__Cr::allocator<unsigned char>>, std::__Cr::vector<unsigned char, std::__Cr::allocator<unsigned char>>>(base::OnceCallback<void (std::__Cr::vector<unsigned char, std::__Cr::allocator<unsigned char>>)>, std::__Cr::unique_ptr<std::__Cr::vector<unsigned char, std::__Cr::allocator<unsigned char>>, std::__Cr::default_delete<std::__Cr::vector<unsigned char, std::__Cr::allocator<unsigned char>>>>*)  ../../base/task/post_task_and_reply_with_result_internal.h:31:23
  v------>  base::OnceCallback<void ()>::Run() &&                                             ../../base/functional/callback.h:152:12
  00000000025b9369  base::(anonymous namespace)::PostTaskAndReplyRelay::RunReply(base::(anonymous namespace)::PostTaskAndReplyRelay)  ../../base/threading/post_task_and_reply_impl.cc:124:29
  v------>  void base::internal::FunctorTraits<void (*)(base::(anonymous namespace)::PostTaskAndReplyRelay), void>::Invoke<void (*)(base::(anonymous namespace)::PostTaskAndReplyRelay), base::(anonymous namespace)::PostTaskAndReplyRelay>(void (*&&)(base::(anonymous namespace)::PostTaskAndReplyRelay), base::(anonymous namespace)::PostTaskAndReplyRelay&&)  ../../base/functional/bind_internal.h:632:12
  v------>  void base::internal::InvokeHelper<false, void, 0u>::MakeItSo<void (*)(base::(anonymous namespace)::PostTaskAndReplyRelay), std::__Cr::tuple<base::(anonymous namespace)::PostTaskAndReplyRelay>>(void (*&&)(base::(anonymous namespace)::PostTaskAndReplyRelay), std::__Cr::tuple<base::(anonymous namespace)::PostTaskAndReplyRelay>&&)  ../../base/functional/bind_internal.h:893:12
  v------>  void base::internal::Invoker<base::internal::BindState<void (*)(base::(anonymous namespace)::PostTaskAndReplyRelay), base::(anonymous namespace)::PostTaskAndReplyRelay>, void ()>::RunImpl<void (*)(base::(anonymous namespace)::PostTaskAndReplyRelay), std::__Cr::tuple<base::(anonymous namespace)::PostTaskAndReplyRelay>, 0u>(void (*&&)(base::(anonymous namespace)::PostTaskAndReplyRelay), std::__Cr::tuple<base::(anonymous namespace)::PostTaskAndReplyRelay>&&, std::__Cr::integer_sequence<unsigned int, 0u>)  ../../base/functional/bind_internal.h:993:12
  00000000025b9417  base::internal::Invoker<base::internal::BindState<void (*)(base::(anonymous namespace)::PostTaskAndReplyRelay), base::(anonymous namespace)::PostTaskAndReplyRelay>, void ()>::RunOnce(base::internal::BindStateBase*)  ../../base/functional/bind_internal.h:944:12
  v------>  base::OnceCallback<void ()>::Run() &&                                             ../../base/functional/callback.h:152:12
  000000000259c3c5  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*)::$_0>(perfetto::StaticString, base::PendingTask&, base::sequence_manager::internal::ThreadControllerWithMessagePumpImpl::DoWorkImpl(base::LazyNow*)::$_0&&)  ../../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:480:23
  00000000025a87c3  base::sequence_manager::internal::ThreadControllerWithMessagePumpImpl::DoWork()   ../../base/task/sequence_manager/thread_controller_with_message_pump_impl.cc:345:41
  00000000025a8d49  non-virtual thunk to base::sequence_manager::internal::ThreadControllerWithMessagePumpImpl::DoWork()  ../../base/task/sequence_manager/thread_controller_with_message_pump_impl.cc:0:0
  00000000025cc22f  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
  00000000025cc06f  base::(anonymous namespace)::NonDelayedLooperCallback(int, int, void*)            ../../base/message_loop/message_pump_android.cc:43:9
  0000000000011ed1  android::Looper::pollInner(int)+696                                               /system/lib/libutils.so
  0000000000011bc3  android::Looper::pollOnce(int, int*, int*, void**)+62                             /system/lib/libutils.so
  00000000000be72b  android::android_os_MessageQueue_nativePollOnce(_JNIEnv*, _jobject*, long long, int)+24  /system/lib/libandroid_runtime.so
@SergeyZhukovsky SergeyZhukovsky added feature/shields/adblock Blocking ads & trackers with Shields priority/P2 A bad problem. We might uplift this to the next planned release. QA/No release-notes/exclude OS/Android Fixes related to Android browser functionality OS/Desktop ANR Application Not Responding (Android stability issue) labels Sep 25, 2023
@brave-builds brave-builds added this to the 1.60.x - Nightly milestone Sep 29, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ANR Application Not Responding (Android stability issue) feature/shields/adblock Blocking ads & trackers with Shields OS/Android Fixes related to Android browser functionality OS/Desktop priority/P2 A bad problem. We might uplift this to the next planned release. QA/No release-notes/exclude
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants