New issue
Advanced search Search tips

Issue 896728 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner: ----
Closed: Oct 18
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 2
Type: Bug
Team-Accessibility



Sign in to add a comment

SpokenFeedbackTest.FocusShelf and KeyboardShortcutViewer are failing with LSAN / SingleProcessMash

Project Member Reported by mukai@chromium.org, Oct 18

Issue description

3 SpokenFeedbackTest are failing when SingleProcessMash and LSAN are enabled. See https://ci.chromium.org/p/chromium/builders/luci.chromium.ci/Linux%20Chromium%20OS%20ASan%20LSan%20Tests%20%281%29/29635

TestAsNormalAndGuestUser/SpokenFeedbackTest.FocusShelf/0
TestAsNormalAndGuestUser/SpokenFeedbackTest.FocusShelf/1
LoggedInSpokenFeedbackTest.KeyboardShortcutViewer

are failing.

The typical error message says:

=================================================================
==10531==ERROR: LeakSanitizer: detected memory leaks

Direct leak of 56 byte(s) in 1 object(s) allocated from:
    #0 0xb46962 in operator new(unsigned long) /b/swarming/w/ir/kitchen-workdir/src/third_party/llvm/compiler-rt/lib/asan/asan_new_delete.cc:106:3
    #1 0x1683c56e in ui::AXTreeSerializer::SerializeChangedNodes(views::AXAuraObjWrapper*, ui::AXTreeUpdateBase*) ui/accessibility/ax_tree_serializer.h:598:35
    #2 0x1683c792 in ui::AXTreeSerializer::SerializeChangedNodes(views::AXAuraObjWrapper*, ui::AXTreeUpdateBase*) ui/accessibility/ax_tree_serializer.h:604:12
    #3 0x1683c792 in ui::AXTreeSerializer::SerializeChangedNodes(views::AXAuraObjWrapper*, ui::AXTreeUpdateBase*) ui/accessibility/ax_tree_serializer.h:604:12
    #4 0x1683766e in ui::AXTreeSerializer::SerializeChanges(views::AXAuraObjWrapper*, ui::AXTreeUpdateBase*) ui/accessibility/ax_tree_serializer.h:422:8
    #5 0x195b0418 in AutomationManagerAura::SendEvent(views::AXAuraObjWrapper*, ax::mojom::Event) chrome/browser/ui/aura/accessibility/automation_manager_aura.cc:177:34
    #6 0x195b3676 in Invoke, int, ax::mojom::Event> base/bind_internal.h:516:12
    #7 0x195b3676 in MakeItSo, int, ax::mojom::Event> base/bind_internal.h:636
    #8 0x195b3676 in RunImpl, int, ax::mojom::Event>, 0, 1, 2> base/bind_internal.h:689
    #9 0x195b3676 in base::internal::Invoker, int, ax::mojom::Event>, void ()>::RunOnce(base::internal::BindStateBase*) base/bind_internal.h:658
    #10 0x10e9f76f in Run base/callback.h:99:12
    #11 0x10e9f76f in base::debug::TaskAnnotator::RunTask(char const*, base::PendingTask*) base/debug/task_annotator.cc:99
    #12 0x10bfc034 in base::MessageLoop::RunTask(base::PendingTask*) base/message_loop/message_loop.cc:434:46
    #13 0x10bfcbdf in DeferOrRunPendingTask base/message_loop/message_loop.cc:445:5
    #14 0x10bfcbdf in base::MessageLoop::DoWork() base/message_loop/message_loop.cc:517
    #15 0x10e8b840 in base::MessagePumpLibevent::Run(base::MessagePump::Delegate*) base/message_loop/message_pump_libevent.cc:210:31
    #16 0x10bfaec4 in base::MessageLoop::Run(bool) base/message_loop/message_loop.cc:386:12
    #17 0x10c9ae2d in base::RunLoop::Run() base/run_loop.cc:102:14
    #18 0xdd314be in RunUntilBrowserProcessQuits chrome/test/base/in_process_browser_test.cc:374:25
    #19 0xdd314be in InProcessBrowserTest::QuitBrowsers() chrome/test/base/in_process_browser_test.cc:615
    #20 0xdd31077 in InProcessBrowserTest::PostRunTestOnMainThread() chrome/test/base/in_process_browser_test.cc:590:3
    #21 0xf1684a2 in content::BrowserTestBase::ProxyRunTestOnMainThreadLoop() content/public/test/browser_test_base.cc:453:3
    #22 0xdd5f7ff in Run base/callback.h:129:12
    #23 0xdd5f7ff in ChromeBrowserMainParts::PreMainMessageLoopRunImpl() chrome/browser/chrome_browser_main.cc:1963
    #24 0xdd5c9cb in ChromeBrowserMainParts::PreMainMessageLoopRun() chrome/browser/chrome_browser_main.cc:1347:18
    #25 0x915f5fc in chromeos::ChromeBrowserMainPartsChromeos::PreMainMessageLoopRun() chrome/browser/chromeos/chrome_browser_main_chromeos.cc:667:32
    #26 0x57dbf6d in content::BrowserMainLoop::PreMainMessageLoopRun() content/browser/browser_main_loop.cc:977:13
    #27 0x6b3659b in Run base/callback.h:129:12
    #28 0x6b3659b in content::StartupTaskRunner::RunAllTasksNow() content/browser/startup_task_runner.cc:41
    #29 0x57d8b96 in content::BrowserMainLoop::CreateStartupTasks() content/browser/browser_main_loop.cc:911:25
    #30 0x57e3183 in content::BrowserMainRunnerImpl::Initialize(content::MainFunctionParams const&) content/browser/browser_main_runner_impl.cc:144:15
    #31 0x57d2a1f in content::BrowserMain(content::MainFunctionParams const&) content/browser/browser_main.cc:43:32
    #32 0xcf82725 in RunBrowserProcessMain content/app/content_main_runner_impl.cc:541:10
    #33 0xcf82725 in content::ContentMainRunnerImpl::Run(bool) content/app/content_main_runner_impl.cc:914
    #34 0x152a9d13 in service_manager::Main(service_manager::MainParams const&) services/service_manager/embedder/main.cc:472:29
    #35 0xcf7d295 in content::ContentMain(content::ContentMainParams const&) content/app/content_main.cc:19:10
    #36 0xf166b91 in content::BrowserTestBase::SetUp() content/public/test/browser_test_base.cc:340:3
    #37 0xdd2c9ad in InProcessBrowserTest::SetUp() chrome/test/base/in_process_browser_test.cc:283:20
    #38 0x17b7bb2 in HandleExceptionsInMethodIfSupported third_party/googletest/src/googletest/src/gtest.cc
    #39 0x17b7bb2 in testing::Test::Run() third_party/googletest/src/googletest/src/gtest.cc:2518

Indirect leak of 8 byte(s) in 1 object(s) allocated from:
    #0 0xb46962 in operator new(unsigned long) /b/swarming/w/ir/kitchen-workdir/src/third_party/llvm/compiler-rt/lib/asan/asan_new_delete.cc:106:3
    #1 0x550f835 in __libcpp_allocate buildtools/third_party/libc++/trunk/include/new:254:10
    #2 0x550f835 in allocate buildtools/third_party/libc++/trunk/include/memory:1800
    #3 0x550f835 in allocate buildtools/third_party/libc++/trunk/include/memory:1549
    #4 0x550f835 in __split_buffer buildtools/third_party/libc++/trunk/include/__split_buffer:311
    #5 0x550f835 in std::__1::vector >::reserve(unsigned long) buildtools/third_party/libc++/trunk/include/vector:1576
    #6 0x1683bfe2 in ui::AXTreeSerializer::SerializeChangedNodes(views::AXAuraObjWrapper*, ui::AXTreeUpdateBase*) ui/accessibility/ax_tree_serializer.h:573:25
    #7 0x1683c792 in ui::AXTreeSerializer::SerializeChangedNodes(views::AXAuraObjWrapper*, ui::AXTreeUpdateBase*) ui/accessibility/ax_tree_serializer.h:604:12
    #8 0x1683c792 in ui::AXTreeSerializer::SerializeChangedNodes(views::AXAuraObjWrapper*, ui::AXTreeUpdateBase*) ui/accessibility/ax_tree_serializer.h:604:12
    #9 0x1683c792 in ui::AXTreeSerializer::SerializeChangedNodes(views::AXAuraObjWrapper*, ui::AXTreeUpdateBase*) ui/accessibility/ax_tree_serializer.h:604:12
    #10 0x1683766e in ui::AXTreeSerializer::SerializeChanges(views::AXAuraObjWrapper*, ui::AXTreeUpdateBase*) ui/accessibility/ax_tree_serializer.h:422:8
    #11 0x195b0418 in AutomationManagerAura::SendEvent(views::AXAuraObjWrapper*, ax::mojom::Event) chrome/browser/ui/aura/accessibility/automation_manager_aura.cc:177:34
    #12 0x195b3676 in Invoke, int, ax::mojom::Event> base/bind_internal.h:516:12
    #13 0x195b3676 in MakeItSo, int, ax::mojom::Event> base/bind_internal.h:636
    #14 0x195b3676 in RunImpl, int, ax::mojom::Event>, 0, 1, 2> base/bind_internal.h:689
    #15 0x195b3676 in base::internal::Invoker, int, ax::mojom::Event>, void ()>::RunOnce(base::internal::BindStateBase*) base/bind_internal.h:658
    #16 0x10e9f76f in Run base/callback.h:99:12
    #17 0x10e9f76f in base::debug::TaskAnnotator::RunTask(char const*, base::PendingTask*) base/debug/task_annotator.cc:99
    #18 0x10bfc034 in base::MessageLoop::RunTask(base::PendingTask*) base/message_loop/message_loop.cc:434:46
    #19 0x10bfcbdf in DeferOrRunPendingTask base/message_loop/message_loop.cc:445:5
    #20 0x10bfcbdf in base::MessageLoop::DoWork() base/message_loop/message_loop.cc:517
    #21 0x10e8b840 in base::MessagePumpLibevent::Run(base::MessagePump::Delegate*) base/message_loop/message_pump_libevent.cc:210:31
    #22 0x10bfaec4 in base::MessageLoop::Run(bool) base/message_loop/message_loop.cc:386:12
    #23 0x10c9ae2d in base::RunLoop::Run() base/run_loop.cc:102:14
    #24 0xdd314be in RunUntilBrowserProcessQuits chrome/test/base/in_process_browser_test.cc:374:25
    #25 0xdd314be in InProcessBrowserTest::QuitBrowsers() chrome/test/base/in_process_browser_test.cc:615
    #26 0xdd31077 in InProcessBrowserTest::PostRunTestOnMainThread() chrome/test/base/in_process_browser_test.cc:590:3
    #27 0xf1684a2 in content::BrowserTestBase::ProxyRunTestOnMainThreadLoop() content/public/test/browser_test_base.cc:453:3
    #28 0xdd5f7ff in Run base/callback.h:129:12
    #29 0xdd5f7ff in ChromeBrowserMainParts::PreMainMessageLoopRunImpl() chrome/browser/chrome_browser_main.cc:1963
    #30 0xdd5c9cb in ChromeBrowserMainParts::PreMainMessageLoopRun() chrome/browser/chrome_browser_main.cc:1347:18
    #31 0x915f5fc in chromeos::ChromeBrowserMainPartsChromeos::PreMainMessageLoopRun() chrome/browser/chromeos/chrome_browser_main_chromeos.cc:667:32
    #32 0x57dbf6d in content::BrowserMainLoop::PreMainMessageLoopRun() content/browser/browser_main_loop.cc:977:13
    #33 0x6b3659b in Run base/callback.h:129:12
    #34 0x6b3659b in content::StartupTaskRunner::RunAllTasksNow() content/browser/startup_task_runner.cc:41
    #35 0x57d8b96 in content::BrowserMainLoop::CreateStartupTasks() content/browser/browser_main_loop.cc:911:25
    #36 0x57e3183 in content::BrowserMainRunnerImpl::Initialize(content::MainFunctionParams const&) content/browser/browser_main_runner_impl.cc:144:15
    #37 0x57d2a1f in content::BrowserMain(content::MainFunctionParams const&) content/browser/browser_main.cc:43:32
    #38 0xcf82725 in RunBrowserProcessMain content/app/content_main_runner_impl.cc:541:10
    #39 0xcf82725 in content::ContentMainRunnerImpl::Run(bool) content/app/content_main_runner_impl.cc:914
    #40 0x152a9d13 in service_manager::Main(service_manager::MainParams const&) services/service_manager/embedder/main.cc:472:29
    #41 0xcf7d295 in content::ContentMain(content::ContentMainParams const&) content/app/content_main.cc:19:10
    #42 0xf166b91 in content::BrowserTestBase::SetUp() content/public/test/browser_test_base.cc:340:3

SUMMARY: AddressSanitizer: 64 byte(s) leaked in 2 allocation(s).
 
Project Member

Comment 1 by bugdroid1@chromium.org, Oct 18

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/ee81819753b364d58b9b2e5bd073c08fb76dbdf6

commit ee81819753b364d58b9b2e5bd073c08fb76dbdf6
Author: Jun Mukai <mukai@chromium.org>
Date: Thu Oct 18 20:36:32 2018

Fix SpokenFeedbackTest leaks with SingleProcessMash

I've got a report saying some SpokenFeedbackTest cases fail with
some leaks when SingleProcessMash is enabled.

It can be fixed by disabling AutomationManagerAura at shutdown
since the leaked objects are allocated through some asynchronous
events after shutting down (QuitBrowsers()).

BUG= 896728 
TEST=interactive_ui_tests --enable-features=SingleProcessMash

Change-Id: I215c3d5990cc78653c7fd44d378f7130a137a219
Reviewed-on: https://chromium-review.googlesource.com/c/1289295
Reviewed-by: Dominic Mazzoni <dmazzoni@chromium.org>
Commit-Queue: Jun Mukai <mukai@chromium.org>
Cr-Commit-Position: refs/heads/master@{#600889}
[modify] https://crrev.com/ee81819753b364d58b9b2e5bd073c08fb76dbdf6/chrome/browser/chromeos/accessibility/spoken_feedback_browsertest.cc

Status: Fixed (was: Available)

Sign in to add a comment