brave / brave-browser

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

Crash when trying to ask question on article with brave-ai-chat-page-content-refine enabled #41481

Open srirambv opened 5 days ago

srirambv commented 5 days ago

IMPORTANT: Your crash has already been automatically reported to our crash system. Please file this bug only if you can provide more information about it.

Brave Version: 1.71.104 Chromium: 129.0.6668.89 Operating System: Android 14

URL (if applicable) where crash occurred: https://www.brianbondy.com/blog/187/cocodona-2024

Can you reproduce this crash? Yes

What steps will reproduce this crash? (If it's not reproducible, what were you doing just before the crash?)

  1. Enable brave-ai-chat-page-content-refine flag
  2. Visit https://brave.com/blog/brave-shields-manifest-v3/ in a new tab
  3. Open Leo from menu and ask Will MV2 be deprecated in Brave?
  4. Leo generates response
  5. Visit https://www.brianbondy.com/blog/187/cocodona-2024 in a second tab
  6. Open Leo and ask Who was the pacer?
  7. Browser crashed

DO NOT CHANGE BELOW THIS LINE Crash ID: crash/99581700-1893-b30c-0000-000000000000

Additional Info

There is no premium selected on Leo. Using the default free model cc: @darkdh @hffvld @Uni-verse

darkdh commented 5 days ago

I can constantly reproduce it on Android Nightly 1.72.61 (chromium 130.0.6723.31)

[ 00 ] allocator_shim::internal::PartitionFree(void*, void*) ( partition_root.h:1464 )
[ 01 ] tflite::SimpleMemoryArena::Commit(bool*) ( simple_memory_arena.cc:130 )
[ 02 ] tflite::ArenaPlanner::Commit(bool*) ( arena_planner.cc:433 )
[ 03 ] tflite::ArenaPlanner::ExecuteAllocations(int, int) ( arena_planner.cc:367 )
[ 04 ] tflite::Subgraph::PrepareOpsAndTensors() ( subgraph.cc:1570 )
[ 05 ] tflite::Subgraph::InvokeImpl() ( subgraph.cc:1650 )
[ 06 ] tflite::Subgraph::Invoke() ( subgraph.cc:1619 )
[ 07 ] tflite::impl::Interpreter::Invoke() ( interpreter.cc:243 )
[ 08 ] tflite::support::TfLiteInterpreterWrapper::InvokeWithFallback(std::__Cr::function<absl::Status (tflite::impl::Interpreter*)> const&) ( tflite_wrapper.cc:269 )
[ 09 ] tflite::task::core::BaseTaskApi<tflite::task::processor::EmbeddingResult, std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char>> const&>::InferWithFallback(std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char>> const&) ( base_task_api.h:154 )
[ 10 ] ai_chat::TextEmbedder::EmbedSegments() ( text_embedder.cc:169 )
[ 11 ] ai_chat::TextEmbedder::GetTopSimilarityWithPromptTilContextLimitInternal(std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char>> const&, std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char>> const&, unsigned int, base::OnceCallback<void (base::expected<std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char>>, std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char>>>)>) ( text_embedder.cc:149 )
[ 12 ] base::internal::TaskTracker::RunSkipOnShutdown(base::internal::Task&, base::TaskTraits const&, base::internal::TaskSource*, base::internal::SequenceToken const&) ( callback.h:156 )
[ 13 ] base::internal::TaskTracker::RunAndPopNextTask(base::internal::RegisteredTaskSource) ( task_tracker.cc:693 )
[ 14 ] base::internal::WorkerThread::RunWorker() ( worker_thread.cc:493 )
[ 15 ] base::internal::WorkerThread::RunPooledWorker() ( worker_thread.cc:379 )
[ 16 ] base::internal::WorkerThread::ThreadMain() ( worker_thread.cc:359 )
[ 17 ] base::(anonymous namespace)::ThreadFunc(void*) ( platform_thread_posix.cc:101 )
[ 18 ] __pthread_start(void*)
[ 19 ] __start_thread
darkdh commented 5 days ago

@srirambv can you try a version with chromium 128 to see if it crashes? Just do the step 5-6 should be sufficient. Mainly I want to make sure if chromium 129 bump causes this because the Nightly build on Android after merge didn't have this problem.

darkdh commented 4 days ago

It doesn't crash when running on x86 emulator

AlexeyBarabash commented 4 days ago
I have tried arm32 apk from https://github.com/brave/brave-browser/releases/tag/v1.72.75 - it succeeded version result
Image Image
I have tried arm64 apk from https://github.com/brave/brave-browser/releases/tag/v1.72.75 - it crashed version result
Image crash, no screenshot
darkdh commented 4 days ago

It doesn't crash on local component arm64 build but it crashes on static arm64 local build

darkdh commented 3 days ago

debbuger result

* thread #34, name = 'ThreadPoolForeg', stop reason = signal SIGSEGV: address not mapped to object (fault address: 0x70c8001000)
    frame #0: 0x0000006d89173340 libmonochrome_64.so`allocator_shim::internal::PartitionFree(void*, void*) [inlined] partition_alloc::PartitionRoot::FromFirstSuperPage(unsigned long) at partition_root.h:1793:39
   1790     uintptr_t super_page) {
   1791   PA_DCHECK(internal::IsReservationStart(super_page));
   1792   auto* extent_entry = internal::PartitionSuperPageToExtent(super_page);
-> 1793   PartitionRoot* root = extent_entry->root;
   1794   PA_DCHECK(root->inverted_self == ~reinterpret_cast<uintptr_t>(root));
   1795   return root;
   1796 }
(lldb) bt
* thread #34, name = 'ThreadPoolForeg', stop reason = signal SIGSEGV: address not mapped to object (fault address: 0x70c8001000)
  * frame #0: 0x0000006d89173340 libmonochrome_64.so`allocator_shim::internal::PartitionFree(void*, void*) [inlined] partition_alloc::PartitionRoot::FromFirstSuperPage(unsigned long) at partition_root.h:1793:39
    frame #1: 0x0000006d89173340 libmonochrome_64.so`allocator_shim::internal::PartitionFree(void*, void*) [inlined] partition_alloc::PartitionRoot::FromAddrInFirstSuperpage(unsigned long) at partition_root.h:1802:10
    frame #2: 0x0000006d89173340 libmonochrome_64.so`allocator_shim::internal::PartitionFree(void*, void*) [inlined] void partition_alloc::PartitionRoot::FreeInlineInUnknownRoot<(partition_alloc::internal::FreeFlags)2>(void*) at partition_root.h:1431:16
    frame #3: 0x0000006d89173314 libmonochrome_64.so`allocator_shim::internal::PartitionFree(void*, void*) [inlined] void allocator_shim::internal::PartitionFreeInternal<(partition_alloc::internal::FreeFlags)2>(void*, void*) at allocator_shim_default_dispatch_to_partition_alloc.cc:407:3
    frame #4: 0x0000006d89173314 libmonochrome_64.so`allocator_shim::internal::PartitionFree(void*, void*) at allocator_shim_default_dispatch_to_partition_alloc.cc:411:3
    frame #5: 0x0000006d8b0908f4 libmonochrome_64.so`tflite::SimpleMemoryArena::Commit(bool*) [inlined] (anonymous namespace)::AlignedFree(tflite::PointerAlignedPointerPair const&) at simple_memory_arena.cc:130:3
    frame #6: 0x0000006d8b0908ec libmonochrome_64.so`tflite::SimpleMemoryArena::Commit(bool*) [inlined] (anonymous namespace)::AlignedRealloc(tflite::PointerAlignedPointerPair const&, unsigned long, unsigned long, unsigned long) at simple_memory_arena.cc:144:3
    frame #7: 0x0000006d8b0908b0 libmonochrome_64.so`tflite::SimpleMemoryArena::Commit(bool*) [inlined] tflite::ResizableAlignedBuffer::Resize(unsigned long) at simple_memory_arena.cc:166:21
    frame #8: 0x0000006d8b090898 libmonochrome_64.so`tflite::SimpleMemoryArena::Commit(bool*) at simple_memory_arena.cc:291:43
    frame #9: 0x0000006d8b06cba0 libmonochrome_64.so`tflite::ArenaPlanner::ExecuteAllocations(int, int) [inlined] tflite::ArenaPlanner::Commit(bool*) at arena_planner.cc:433:3
    frame #10: 0x0000006d8b06cb8c libmonochrome_64.so`tflite::ArenaPlanner::ExecuteAllocations(int, int) at arena_planner.cc:367:3
    frame #11: 0x0000006d8b07ed34 libmonochrome_64.so`tflite::Subgraph::PrepareOpsAndTensors() at subgraph.cc:1570:3
    frame #12: 0x0000006d8b0800b0 libmonochrome_64.so`tflite::Subgraph::InvokeImpl() at subgraph.cc:1650:7
    frame #13: 0x0000006d8b07ff60 libmonochrome_64.so`tflite::Subgraph::Invoke() at subgraph.cc:1619:17
    frame #14: 0x0000006d8b076b48 libmonochrome_64.so`tflite::impl::Interpreter::Invoke() at interpreter.cc:243:3
    frame #15: 0x0000006d8b77fd50 libmonochrome_64.so`tflite::support::TfLiteInterpreterWrapper::InvokeWithFallback(std::__Cr::function<absl::Status (tflite::impl::Interpreter*)> const&) at tflite_wrapper.cc:270:28
    frame #16: 0x0000006d8b7899e8 libmonochrome_64.so`tflite::task::core::BaseTaskApi<tflite::task::processor::EmbeddingResult, std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char>> const&>::InferWithFallback(std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char>> const&) at base_task_api.h:154:30
    frame #17: 0x0000006d876c3690 libmonochrome_64.so`ai_chat::TextEmbedder::GetTopSimilarityWithPromptTilContextLimitInternal(std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char>> const&, std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char>> const&, unsigned int, base::OnceCallback<void (base::expected<std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char>>, std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char>>>)>) at text_embedder.cc:144:52
    frame #18: 0x0000006d876c39cc libmonochrome_64.so`base::internal::Invoker<base::internal::FunctorTraits<void (ai_chat::TextEmbedder::*&&)(std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char>> const&, std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char>> const&, unsigned int, base::OnceCallback<void (base::expected<std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char>>, std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char>>>)>), base::WeakPtr<ai_chat::TextEmbedder>&&, std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char>>&&, std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char>>&&, unsigned int&&, base::OnceCallback<void (base::expected<std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char>>, std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char>>>)>&&>, base::internal::BindState<true, true, false, void (ai_chat::TextEmbedder::*)(std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char>> const&, std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char>> const&, unsigned int, base::OnceCallback<void (base::expected<std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char>>, std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char>>>)>), base::WeakPtr<ai_chat::TextEmbedder>, std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char>>, std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char>>, unsigned int, base::OnceCallback<void (base::expected<std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char>>, std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char>>>)>>, void ()>::RunOnce(base::internal::BindStateBase*) [inlined] void base::internal::DecayedFunctorTraits<void (ai_chat::TextEmbedder::*)(std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char>> const&, std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char>> const&, unsigned int, base::OnceCallback<void (base::expected<std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char>>, std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char>>>)>), base::WeakPtr<ai_chat::TextEmbedder>&&, std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char>>&&, std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char>>&&, unsigned int&&, base::OnceCallback<void (base::expected<std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char>>, std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char>>>)>&&>::Invoke<void (ai_chat::TextEmbedder::*)(std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char>> const&, std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char>> const&, unsigned int, base::OnceCallback<void (base::expected<std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char>>, std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char>>>)>), base::WeakPtr<ai_chat::TextEmbedder> const&, std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char>>, std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char>>, unsigned int, base::OnceCallback<void (base::expected<std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char>>, std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char>>>)>>(void (ai_chat::TextEmbedder::*)(std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char>> const&, std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char>> const&, unsigned int, base::OnceCallback<void (base::expected<std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char>>, std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char>>>)>), base::WeakPtr<ai_chat::TextEmbedder> const&, std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char>>&&, std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char>>&&, unsigned int&&, base::OnceCallback<void (base::expected<std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char>>, std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char>>>)>&&) at bind_internal.h:738:12
    frame #19: 0x0000006d876c39bc libmonochrome_64.so`base::internal::Invoker<base::internal::FunctorTraits<void (ai_chat::TextEmbedder::*&&)(std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char>> const&, std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char>> const&, unsigned int, base::OnceCallback<void (base::expected<std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char>>, std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char>>>)>), base::WeakPtr<ai_chat::TextEmbedder>&&, std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char>>&&, std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char>>&&, unsigned int&&, base::OnceCallback<void (base::expected<std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char>>, std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char>>>)>&&>, base::internal::BindState<true, true, false, void (ai_chat::TextEmbedder::*)(std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char>> const&, std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char>> const&, unsigned int, base::OnceCallback<void (base::expected<std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char>>, std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char>>>)>), base::WeakPtr<ai_chat::TextEmbedder>, std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char>>, std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char>>, unsigned int, base::OnceCallback<void (base::expected<std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char>>, std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char>>>)>>, void ()>::RunOnce(base::internal::BindStateBase*) [inlined] void base::internal::InvokeHelper<true, base::internal::FunctorTraits<void (ai_chat::TextEmbedder::*&&)(std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char>> const&, std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char>> const&, unsigned int, base::OnceCallback<void (base::expected<std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char>>, std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char>>>)>), base::WeakPtr<ai_chat::TextEmbedder>&&, std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char>>&&, std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char>>&&, unsigned int&&, base::OnceCallback<void (base::expected<std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char>>, std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char>>>)>&&>, void, 0ul, 1ul, 2ul, 3ul, 4ul>::MakeItSo<void (ai_chat::TextEmbedder::*)(std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char>> const&, std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char>> const&, unsigned int, base::OnceCallback<void (base::expected<std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char>>, std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char>>>)>), std::__Cr::tuple<base::WeakPtr<ai_chat::TextEmbedder>, std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char>>, std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char>>, unsigned int, base::OnceCallback<void (base::expected<std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char>>, std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char>>>)>>>(void (ai_chat::TextEmbedder::*&&)(std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char>> const&, std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char>> const&, unsigned int, base::OnceCallback<void (base::expected<std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char>>, std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char>>>)>), std::__Cr::tuple<base::WeakPtr<ai_chat::TextEmbedder>, std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char>>, std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char>>, unsigned int, base::OnceCallback<void (base::expected<std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char>>, std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char>>>)>>&&) at bind_internal.h:954:5
    frame #20: 0x0000006d876c398c libmonochrome_64.so`base::internal::Invoker<base::internal::FunctorTraits<void (ai_chat::TextEmbedder::*&&)(std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char>> const&, std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char>> const&, unsigned int, base::OnceCallback<void (base::expected<std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char>>, std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char>>>)>), base::WeakPtr<ai_chat::TextEmbedder>&&, std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char>>&&, std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char>>&&, unsigned int&&, base::OnceCallback<void (base::expected<std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char>>, std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char>>>)>&&>, base::internal::BindState<true, true, false, void (ai_chat::TextEmbedder::*)(std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char>> const&, std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char>> const&, unsigned int, base::OnceCallback<void (base::expected<std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char>>, std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char>>>)>), base::WeakPtr<ai_chat::TextEmbedder>, std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char>>, std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char>>, unsigned int, base::OnceCallback<void (base::expected<std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char>>, std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char>>>)>>, void ()>::RunOnce(base::internal::BindStateBase*) [inlined] void base::internal::Invoker<base::internal::FunctorTraits<void (ai_chat::TextEmbedder::*&&)(std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char>> const&, std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char>> const&, unsigned int, base::OnceCallback<void (base::expected<std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char>>, std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char>>>)>), base::WeakPtr<ai_chat::TextEmbedder>&&, std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char>>&&, std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char>>&&, unsigned int&&, base::OnceCallback<void (base::expected<std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char>>, std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char>>>)>&&>, base::internal::BindState<true, true, false, void (ai_chat::TextEmbedder::*)(std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char>> const&, std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char>> const&, unsigned int, base::OnceCallback<void (base::expected<std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char>>, std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char>>>)>), base::WeakPtr<ai_chat::TextEmbedder>, std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char>>, std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char>>, unsigned int, base::OnceCallback<void (base::expected<std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char>>, std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char>>>)>>, void ()>::RunImpl<void (ai_chat::TextEmbedder::*)(std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char>> const&, std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char>> const&, unsigned int, base::OnceCallback<void (base::expected<std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char>>, std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char>>>)>), std::__Cr::tuple<base::WeakPtr<ai_chat::TextEmbedder>, std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char>>, std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char>>, unsigned int, base::OnceCallback<void (base::expected<std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char>>, std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char>>>)>>, 0ul, 1ul, 2ul, 3ul, 4ul>(void (ai_chat::TextEmbedder::*&&)(std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char>> const&, std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char>> const&, unsigned int, base::OnceCallback<void (base::expected<std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char>>, std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char>>>)>), std::__Cr::tuple<base::WeakPtr<ai_chat::TextEmbedder>, std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char>>, std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char>>, unsigned int, base::OnceCallback<void (base::expected<std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char>>, std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char>>>)>>&&, std::__Cr::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul>) at bind_internal.h:1067:14
    frame #21: 0x0000006d876c398c libmonochrome_64.so`base::internal::Invoker<base::internal::FunctorTraits<void (ai_chat::TextEmbedder::*&&)(std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char>> const&, std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char>> const&, unsigned int, base::OnceCallback<void (base::expected<std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char>>, std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char>>>)>), base::WeakPtr<ai_chat::TextEmbedder>&&, std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char>>&&, std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char>>&&, unsigned int&&, base::OnceCallback<void (base::expected<std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char>>, std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char>>>)>&&>, base::internal::BindState<true, true, false, void (ai_chat::TextEmbedder::*)(std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char>> const&, std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char>> const&, unsigned int, base::OnceCallback<void (base::expected<std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char>>, std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char>>>)>), base::WeakPtr<ai_chat::TextEmbedder>, std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char>>, std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char>>, unsigned int, base::OnceCallback<void (base::expected<std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char>>, std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char>>>)>>, void ()>::RunOnce(base::internal::BindStateBase*) at bind_internal.h:980:12
    frame #22: 0x0000006d8909ce58 libmonochrome_64.so`base::TaskAnnotator::RunTaskImpl(base::PendingTask&) [inlined] base::OnceCallback<void ()>::Run() && at callback.h:156:12
    frame #23: 0x0000006d8909ce30 libmonochrome_64.so`base::TaskAnnotator::RunTaskImpl(base::PendingTask&) at task_annotator.cc:203:34
    frame #24: 0x0000006d890c69a4 libmonochrome_64.so`base::internal::TaskTracker::RunTaskImpl(base::internal::Task&, base::TaskTraits const&, base::internal::TaskSource*, base::internal::SequenceToken const&) [inlined] void base::TaskAnnotator::RunTask<base::internal::TaskTracker::RunTaskImpl(base::internal::Task&, base::TaskTraits const&, base::internal::TaskSource*, base::internal::SequenceToken const&)::$_0>(perfetto::StaticString, base::PendingTask&, base::internal::TaskTracker::RunTaskImpl(base::internal::Task&, base::TaskTraits const&, base::internal::TaskSource*, base::internal::SequenceToken const&)::$_0&&) at task_annotator.h:90:5
    frame #25: 0x0000006d890c695c libmonochrome_64.so`base::internal::TaskTracker::RunTaskImpl(base::internal::Task&, base::TaskTraits const&, base::internal::TaskSource*, base::internal::SequenceToken const&) at task_tracker.cc:678:19
    frame #26: 0x0000006d890c6a48 libmonochrome_64.so`base::internal::TaskTracker::RunSkipOnShutdown(base::internal::Task&, base::TaskTraits const&, base::internal::TaskSource*, base::internal::SequenceToken const&) at task_tracker.cc:663:3
    frame #27: 0x0000006d890c66a0 libmonochrome_64.so`base::internal::TaskTracker::RunTask(base::internal::Task, base::internal::TaskSource*, base::TaskTraits const&) [inlined] base::internal::TaskTracker::RunTaskWithShutdownBehavior(base::internal::Task&, base::TaskTraits const&, base::internal::TaskSource*, base::internal::SequenceToken const&) at task_tracker.cc:693:7
    frame #28: 0x0000006d890c6654 libmonochrome_64.so`base::internal::TaskTracker::RunTask(base::internal::Task, base::internal::TaskSource*, base::TaskTraits const&) at task_tracker.cc:521:5
    frame #29: 0x0000006d890c614c libmonochrome_64.so`base::internal::TaskTracker::RunAndPopNextTask(base::internal::RegisteredTaskSource) at task_tracker.cc:416:5
    frame #30: 0x0000006d890ce724 libmonochrome_64.so`base::internal::WorkerThread::RunWorker() at worker_thread.cc:493:36
    frame #31: 0x0000006d890ce390 libmonochrome_64.so`base::internal::WorkerThread::RunPooledWorker() at worker_thread.cc:379:3
    frame #32: 0x0000006d890ce260 libmonochrome_64.so`base::internal::WorkerThread::ThreadMain() at worker_thread.cc:359:7
    frame #33: 0x0000006d890e9a68 libmonochrome_64.so`base::(anonymous namespace)::ThreadFunc(void*) at platform_thread_posix.cc:101:13
    frame #34: 0x00000070e0132fc0 libc.so`__pthread_start(void*) + 208
    frame #35: 0x00000070e0124d64 libc.so`__start_thread + 68

and unit test case TextEmbedderUnitTest.EmbedSegments crash symbolized

INFO:root:Reading Android symbols from: /home/darkdh/brave-browser/src
INFO:root:Searching for Chrome symbols from within: /home/darkdh/brave-browser/src/out/android_Static_arm64/lib.unstripped:/home/darkdh/brave-browser/src/out/android_Static_arm64
INFO:root:Reading native crash info from stdin (symbolization starts on the first unrelated line or EOF)
INFO:root:Stack found. Symbolizing...
Symbolizing stack using ABI=arm64
signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x70d3201000 in tid 20310 (ThreadPoolForeg), pid 20253 (st:test_process)
Build fingerprint: 'google/tangorpro/tangorpro:14/AP2A.240905.003/12231197:user/release-keys'
Revision: 'MP1.0'
pid: 20253, tid: 20310, name: ThreadPoolForeg  >>> org.chromium.native_test:test_process <<<
signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x00000070d3201000

Stack Trace:
  RELADDR   FUNCTION                                                                          FILE:LINE
  v------>  partition_alloc::PartitionRoot::FromFirstSuperPage(unsigned long)                 ../../base/allocator/partition_allocator/src/partition_alloc/partition_root.h:1793:39
  v------>  partition_alloc::PartitionRoot::FromAddrInFirstSuperpage(unsigned long)           ../../base/allocator/partition_allocator/src/partition_alloc/partition_root.h:1802:10
  v------>  void partition_alloc::PartitionRoot::FreeInlineInUnknownRoot<(partition_alloc::internal::FreeFlags)2>(void*)  ../../base/allocator/partition_allocator/src/partition_alloc/partition_root.h:1431:16
  v------>  void allocator_shim::internal::PartitionFreeInternal<(partition_alloc::internal::FreeFlags)2>(void*, void*)  ../../base/allocator/partition_allocator/src/partition_alloc/shim/allocator_shim_default_dispatch_to_partition_alloc.cc:407:3
  00000000085bc958  allocator_shim::internal::PartitionFree(void*, void*)                             ../../base/allocator/partition_allocator/src/partition_alloc/shim/allocator_shim_default_dispatch_to_partition_alloc.cc:411:3
  v------>  (anonymous namespace)::AlignedFree(tflite::PointerAlignedPointerPair const&)      ../../third_party/tflite/src/tensorflow/lite/simple_memory_arena.cc:130:3
  v------>  (anonymous namespace)::AlignedRealloc(tflite::PointerAlignedPointerPair const&, unsigned long, unsigned long, unsigned long)  ../../third_party/tflite/src/tensorflow/lite/simple_memory_arena.cc:144:3
  v------>  tflite::ResizableAlignedBuffer::Resize(unsigned long)                             ../../third_party/tflite/src/tensorflow/lite/simple_memory_arena.cc:166:21
  000000000a95bf48  tflite::SimpleMemoryArena::Commit(bool*)                                          ../../third_party/tflite/src/tensorflow/lite/simple_memory_arena.cc:291:43
  v------>  tflite::ArenaPlanner::Commit(bool*)                                               ../../third_party/tflite/src/tensorflow/lite/arena_planner.cc:433:3
  000000000a937fec  tflite::ArenaPlanner::ExecuteAllocations(int, int)                                ../../third_party/tflite/src/tensorflow/lite/arena_planner.cc:367:3
  000000000a94a180  tflite::Subgraph::PrepareOpsAndTensors()                                          ../../third_party/tflite/src/tensorflow/lite/core/subgraph.cc:1570:3
  000000000a94b4fc  tflite::Subgraph::InvokeImpl()                                                    ../../third_party/tflite/src/tensorflow/lite/core/subgraph.cc:1650:7
  000000000a94b3ac  tflite::Subgraph::Invoke()                                                        ../../third_party/tflite/src/tensorflow/lite/core/subgraph.cc:1619:17
  000000000a941f94  tflite::impl::Interpreter::Invoke()                                               ../../third_party/tflite/src/tensorflow/lite/core/interpreter.cc:243:3
  000000000ab2a838  tflite::support::TfLiteInterpreterWrapper::InvokeWithFallback(std::__Cr::function<absl::Status (tflite::impl::Interpreter*)> const&)  ../../third_party/tflite_support/src/tensorflow_lite_support/cc/port/default/tflite_wrapper.cc:270:28
  000000000ab3349c  tflite::task::core::BaseTaskApi<tflite::task::processor::EmbeddingResult, std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char>> const&>::InferWithFallback(std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char>> const&)  ../../third_party/tflite_support/src/tensorflow_lite_support/cc/task/core/base_task_api.h:154:30
  0000000006a57920  ai_chat::TextEmbedder::EmbedText(std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char>> const&, tflite::task::processor::EmbeddingResult&)  ../../brave/components/ai_chat/core/browser/text_embedder.cc:276:49
  0000000006a57a74  ai_chat::TextEmbedder::EmbedSegments()                                            ../../brave/components/ai_chat/core/browser/text_embedder.cc:292:19
  v------>  ai_chat::TextEmbedderUnitTest::EmbedSegments(ai_chat::TextEmbedder*)::'lambda'()::operator()() const  ../../brave/components/ai_chat/core/browser/text_embedder_unittest.cc:67:58
  00000000048a0e68  base::internal::BindLambdaForTestingHelper<ai_chat::TextEmbedderUnitTest::EmbedSegments(ai_chat::TextEmbedder*)::'lambda'(), void ()>::Run(ai_chat::TextEmbedderUnitTest::EmbedSegments(ai_chat::TextEmbedder*)::'lambda'() const&)  ../../base/test/bind.h:52:12
  v------>  base::OnceCallback<void ()>::Run() &&                                             ../../base/functional/callback.h:156:12
  0000000008193048  base::TaskAnnotator::RunTaskImpl(base::PendingTask&)                              ../../base/task/common/task_annotator.cc:203:34
  v------>  void base::TaskAnnotator::RunTask<base::internal::TaskTracker::RunTaskImpl(base::internal::Task&, base::TaskTraits const&, base::internal::TaskSource*, base::internal::SequenceToken const&)::$_0>(perfetto::StaticString, base::PendingTask&, base::internal::TaskTracker::RunTaskImpl(base::internal::Task&, base::TaskTraits const&, base::internal::TaskSource*, base::internal::SequenceToken const&)::$_0&&)  ../../base/task/common/task_annotator.h:90:5
  00000000081bcc7c  base::internal::TaskTracker::RunTaskImpl(base::internal::Task&, base::TaskTraits const&, base::internal::TaskSource*, base::internal::SequenceToken const&)  ../../base/task/thread_pool/task_tracker.cc:678:19
  00000000081bcd20  base::internal::TaskTracker::RunSkipOnShutdown(base::internal::Task&, base::TaskTraits const&, base::internal::TaskSource*, base::internal::SequenceToken const&)  ../../base/task/thread_pool/task_tracker.cc:663:3
  v------>  base::internal::TaskTracker::RunTaskWithShutdownBehavior(base::internal::Task&, base::TaskTraits const&, base::internal::TaskSource*, base::internal::SequenceToken const&)  ../../base/task/thread_pool/task_tracker.cc:693:7
  00000000081bc960  base::internal::TaskTracker::RunTask(base::internal::Task, base::internal::TaskSource*, base::TaskTraits const&)  ../../base/task/thread_pool/task_tracker.cc:521:5
  000000000825426c  base::test::TaskEnvironment::TestTaskTracker::RunTask(base::internal::Task, base::internal::TaskSource*, base::TaskTraits const&)  ../../base/test/task_environment.cc:1028:46
  00000000081bc40c  base::internal::TaskTracker::RunAndPopNextTask(base::internal::RegisteredTaskSource)  ../../base/task/thread_pool/task_tracker.cc:416:5
  00000000081c49bc  base::internal::WorkerThread::RunWorker()                                         ../../base/task/thread_pool/worker_thread.cc:493:36
  00000000081c4628  base::internal::WorkerThread::RunPooledWorker()                                   ../../base/task/thread_pool/worker_thread.cc:379:3
  00000000081c44f8  base::internal::WorkerThread::ThreadMain()                                        ../../base/task/thread_pool/worker_thread.cc:359:7
  00000000081dfcb8  base::(anonymous namespace)::ThreadFunc(void*)                                    ../../base/threading/platform_thread_posix.cc:101:13
  000000000006efbc  __pthread_start(void*)+204) (BuildId: 1d36f8ae6e0af6158793abea7d4f4f2b            /apex/com.android.runtime/lib64/bionic/libc.so
  0000000000060d60  __start_thread+64) (BuildId: 1d36f8ae6e0af6158793abea7d4f4f2b                     /apex/com.android.runtime/lib64/bionic/libc.so