IMPORTANT DEBUGGING NOTE: batches of tests are run inside their own process. For debugging a test inside a debugger, use the --gtest_filter= flag along with --single-process-tests. Using sharding settings from environment. This is shard 0/1 Using 1 parallel jobs. Note: Google Test filter = X11WindowOzoneTest.DispatchEventSelfFreedDuringMouseOnWindow [==========] Running 1 test from 1 test suite. [----------] Global test environment set-up. [----------] 1 test from X11WindowOzoneTest [ RUN ] X11WindowOzoneTest.DispatchEventSelfFreedDuringMouseOnWindow ================================================================= ==2016==ERROR: AddressSanitizer: heap-use-after-free on address 0x7528d1fe6d08 at pc 0x5eee28f0cdeb bp 0x7fffe5e9e090 sp 0x7fffe5e9e088 READ of size 8 at 0x7528d1fe6d08 thread T0 #0 0x5eee28f0cdea in ui::X11Window::DispatchEvent(ui::Event* const&) base/allocator/partition_allocator/src/partition_alloc/pointers/raw_ptr.h:658:14 #1 0x5eee28f0e052 in non-virtual thunk to ui::X11Window::DispatchEvent(ui::Event* const&) ui/ozone/platform/x11/x11_window.cc #2 0x5eee2ec8a3e7 in ui::PlatformEventSource::DispatchEvent(ui::Event*) ui/events/platform/platform_event_source.cc:93:29 #3 0x5eee2eea8744 in ui::X11EventSource::OnEvent(x11::Event const&) ui/events/platform/x11/x11_event_source.cc:300:5 #4 0x5eee2eca77ca in void base::ObserverList>::NotifyAllowReentrancy(T, x11::Event const&) third_party/libc++/src/include/__type_traits/invoke.h:90:27 #5 0x5eee2eca5d7b in x11::Connection::DispatchEvent(x11::Event const&) ui/gfx/x/connection.cc:588:20 #6 0x5eee278e44ce in ui::X11WindowOzoneTest_DispatchEventSelfFreedDuringMouseOnWindow_Test::TestBody() ui/ozone/platform/x11/x11_window_ozone_unittest.cc:107:29 #7 0x5eee2815599b in testing::Test::Run() third_party/googletest/src/googletest/src/gtest.cc #8 0x5eee28157b67 in testing::TestInfo::Run() third_party/googletest/src/googletest/src/gtest.cc:2892:11 #9 0x5eee28159c63 in testing::TestSuite::Run() third_party/googletest/src/googletest/src/gtest.cc:3070:30 #10 0x5eee2818919a in testing::internal::UnitTestImpl::RunAllTests() third_party/googletest/src/googletest/src/gtest.cc:6062:44 #11 0x5eee28187c6e in testing::UnitTest::Run() third_party/googletest/src/googletest/src/gtest.cc #12 0x5eee2b4e43bc in base::TestSuite::Run() base/test/test_suite.cc:440:16 #13 0x5eee27832a91 in base::internal::Invoker, base::internal::BindState>, int ()>::RunOnce(base::internal::BindStateBase*) base/functional/bind_internal.h:740:12 #14 0x5eee2b4ec1a4 in base::(anonymous namespace)::LaunchUnitTestsInternal(base::OnceCallback, unsigned long, int, unsigned long, bool, base::RepeatingCallback, base::OnceCallback) base/functional/callback.h:155:12 #15 0x5eee2b4ebacb in base::LaunchUnitTests(int, char**, base::OnceCallback, unsigned long) base/test/launcher/unit_test_launcher.cc:337:10 #16 0x5eee2783234b in main mojo/core/test/run_all_unittests.cc:30:10 #17 0x77c8d37c7249 (/lib/x86_64-linux-gnu/libc.so.6+0x27249) (BuildId: 93ac61ec5a8eb1396f9fbd350e3169a558528a40) 0x7528d1fe6d08 is located 136 bytes inside of 600-byte region [0x7528d1fe6c80,0x7528d1fe6ed8) freed by thread T0 here: #0 0x5eee27831896 in operator delete(void*, unsigned long) (/chromium/chromium/src/out/asan/ozone_x11_unittests+0x34d4896) (BuildId: 196267bbeae4296d) #1 0x5eee278f7ce0 in testing::internal::FunctionMocker::InvokeWith(std::__Cr::tuple&&) third_party/libc++/src/include/__functional/function.h:502:12 #2 0x5eee278edb52 in ui::MockPlatformWindowDelegate::OnBoundsChanged(ui::PlatformWindowDelegate::BoundsChange const&) third_party/googletest/src/googlemock/include/gmock/gmock-spec-builders.h:1548:12 #3 0x5eee28f123f8 in ui::X11Window::OnBoundsChanged(std::__Cr::optional const&, gfx::Rect const&) ui/ozone/platform/x11/x11_window.cc:2644:30 #4 0x5eee28f1a835 in base::internal::Invoker const&, gfx::Rect const&), ui::X11Window*>, base::internal::BindState const&, gfx::Rect const&), base::internal::UnretainedWrapper>, void (std::__Cr::optional const&, gfx::Rect const&)>::Run(base::internal::BindStateBase*, std::__Cr::optional const&, gfx::Rect const&) base/functional/bind_internal.h:740:12 #5 0x5eee2ecca3d2 in base::RepeatingCallback const&, gfx::Rect const&)>::Run(std::__Cr::optional const&, gfx::Rect const&) const & base/functional/callback.h:346:12 #6 0x5eee2ecca118 in x11::GeometryCache::NotifyGeometryChanged() ui/gfx/x/geometry_cache.cc:131:28 #7 0x5eee2eccb860 in base::internal::Invoker const&, gfx::Rect const&), base::WeakPtr const&>, base::internal::BindState const&, gfx::Rect const&), base::WeakPtr>, void (std::__Cr::optional const&, gfx::Rect const&)>::Run(base::internal::BindStateBase*, std::__Cr::optional const&, gfx::Rect const&) base/functional/bind_internal.h:740:12 #8 0x5eee2ecca3d2 in base::RepeatingCallback const&, gfx::Rect const&)>::Run(std::__Cr::optional const&, gfx::Rect const&) const & base/functional/callback.h:346:12 #9 0x5eee2ecca118 in x11::GeometryCache::NotifyGeometryChanged() ui/gfx/x/geometry_cache.cc:131:28 #10 0x5eee2eccb860 in base::internal::Invoker const&, gfx::Rect const&), base::WeakPtr const&>, base::internal::BindState const&, gfx::Rect const&), base::WeakPtr>, void (std::__Cr::optional const&, gfx::Rect const&)>::Run(base::internal::BindStateBase*, std::__Cr::optional const&, gfx::Rect const&) base/functional/bind_internal.h:740:12 #11 0x5eee2ecca3d2 in base::RepeatingCallback const&, gfx::Rect const&)>::Run(std::__Cr::optional const&, gfx::Rect const&) const & base/functional/callback.h:346:12 #12 0x5eee2ecca118 in x11::GeometryCache::NotifyGeometryChanged() ui/gfx/x/geometry_cache.cc:131:28 #13 0x5eee2ecc8a23 in x11::GeometryCache::OnGetGeometryResponse(x11::Response) ui/gfx/x/geometry_cache.cc:101:3 #14 0x5eee2eccb4bc in base::internal::Invoker), base::WeakPtr&&>, base::internal::BindState), base::WeakPtr>, void (x11::Response)>::RunOnce(base::internal::BindStateBase*, x11::Response&&) base/functional/bind_internal.h:740:12 #15 0x5eee2eccc6e5 in base::OnceCallback)>::Run(x11::Response) && base/functional/callback.h:155:12 #16 0x5eee2eccce79 in x11::Future::OnResponse(base::OnceCallback)>)::'lambda'(base::OnceCallback)>, scoped_refptr, std::__Cr::unique_ptr>)::operator()(base::OnceCallback)>, scoped_refptr, std::__Cr::unique_ptr>) const ui/gfx/x/future.h:142:27 #17 0x5eee2ecccb82 in base::internal::Invoker::OnResponse(base::OnceCallback)>)::'lambda'(base::OnceCallback)>, scoped_refptr, std::__Cr::unique_ptr>)&&, base::OnceCallback)>&&>, base::internal::BindState::OnResponse(base::OnceCallback)>)::'lambda'(base::OnceCallback)>, scoped_refptr, std::__Cr::unique_ptr>), base::OnceCallback)>>, void (scoped_refptr, std::__Cr::unique_ptr>)>::RunOnce(base::internal::BindStateBase*, scoped_refptr&&, std::__Cr::unique_ptr>&&) base/functional/bind_internal.h:658:12 #18 0x5eee2ecaac82 in base::OnceCallback, std::__Cr::unique_ptr>)>::Run(scoped_refptr, std::__Cr::unique_ptr>) && base/functional/callback.h:155:12 #19 0x5eee2ecc60ed in x11::FutureImpl::ProcessResponse() ui/gfx/x/future.cc:62:8 #20 0x5eee2ecc765e in x11::FutureBase::DispatchNow() ui/gfx/x/future.cc:27:3 #21 0x5eee2ecc90eb in x11::GeometryCache::GetBoundsPx() ui/gfx/x/geometry_cache.cc:46:22 #22 0x5eee2ecc916f in x11::GeometryCache::GetBoundsPx() ui/gfx/x/geometry_cache.cc:56:33 #23 0x5eee2ecc916f in x11::GeometryCache::GetBoundsPx() ui/gfx/x/geometry_cache.cc:56:33 #24 0x5eee2790ae4b in testing::internal::FunctionMocker::InvokeWith(std::__Cr::tuple<>&&) third_party/libc++/src/include/__functional/function.h:502:12 #25 0x5eee278ef137 in ui::MockPlatformWindowDelegate::OnCursorUpdate() third_party/googletest/src/googlemock/include/gmock/gmock-spec-builders.h:1548:12 #26 0x5eee28f0cb1f in ui::X11Window::DispatchEvent(ui::Event* const&) ui/ozone/platform/x11/x11_window.cc:1427:38 #27 0x5eee28f0e052 in non-virtual thunk to ui::X11Window::DispatchEvent(ui::Event* const&) ui/ozone/platform/x11/x11_window.cc #28 0x5eee2ec8a3e7 in ui::PlatformEventSource::DispatchEvent(ui::Event*) ui/events/platform/platform_event_source.cc:93:29 #29 0x5eee2eea8744 in ui::X11EventSource::OnEvent(x11::Event const&) ui/events/platform/x11/x11_event_source.cc:300:5 previously allocated by thread T0 here: #0 0x5eee27830c91 in operator new(unsigned long) (/chromium/chromium/src/out/asan/ozone_x11_unittests+0x34d3c91) (BuildId: 196267bbeae4296d) #1 0x5eee278da2f4 in ui::X11WindowOzoneTest::CreatePlatformWindow(ui::MockPlatformWindowDelegate*, gfx::Rect const&, unsigned int*, ui::X11ExtensionDelegate*) third_party/libc++/src/include/__memory/unique_ptr.h:756:26 #2 0x5eee278e3d79 in ui::X11WindowOzoneTest_DispatchEventSelfFreedDuringMouseOnWindow_Test::TestBody() ui/ozone/platform/x11/x11_window_ozone_unittest.cc:665:7 #3 0x5eee2815599b in testing::Test::Run() third_party/googletest/src/googletest/src/gtest.cc #4 0x5eee28157b67 in testing::TestInfo::Run() third_party/googletest/src/googletest/src/gtest.cc:2892:11 #5 0x5eee28159c63 in testing::TestSuite::Run() third_party/googletest/src/googletest/src/gtest.cc:3070:30 #6 0x5eee2818919a in testing::internal::UnitTestImpl::RunAllTests() third_party/googletest/src/googletest/src/gtest.cc:6062:44 #7 0x5eee28187c6e in testing::UnitTest::Run() third_party/googletest/src/googletest/src/gtest.cc #8 0x5eee2b4e43bc in base::TestSuite::Run() base/test/test_suite.cc:440:16 #9 0x5eee27832a91 in base::internal::Invoker, base::internal::BindState>, int ()>::RunOnce(base::internal::BindStateBase*) base/functional/bind_internal.h:740:12 #10 0x5eee2b4ec1a4 in base::(anonymous namespace)::LaunchUnitTestsInternal(base::OnceCallback, unsigned long, int, unsigned long, bool, base::RepeatingCallback, base::OnceCallback) base/functional/callback.h:155:12 #11 0x5eee2b4ebacb in base::LaunchUnitTests(int, char**, base::OnceCallback, unsigned long) base/test/launcher/unit_test_launcher.cc:337:10 #12 0x5eee2783234b in main mojo/core/test/run_all_unittests.cc:30:10 #13 0x77c8d37c7249 (/lib/x86_64-linux-gnu/libc.so.6+0x27249) (BuildId: 93ac61ec5a8eb1396f9fbd350e3169a558528a40) SUMMARY: AddressSanitizer: heap-use-after-free base/allocator/partition_allocator/src/partition_alloc/pointers/raw_ptr.h:658:14 in ui::X11Window::DispatchEvent(ui::Event* const&) Shadow bytes around the buggy address: 0x7528d1fe6a80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0x7528d1fe6b00: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0x7528d1fe6b80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 fa fa 0x7528d1fe6c00: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa 0x7528d1fe6c80: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd =>0x7528d1fe6d00: fd[fd]fd fd fd fd fd fd fd fd fd fd fd fd fd fd 0x7528d1fe6d80: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd 0x7528d1fe6e00: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd 0x7528d1fe6e80: fd fd fd fd fd fd fd fd fd fd fd fa fa fa fa fa 0x7528d1fe6f00: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa 0x7528d1fe6f80: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa Shadow byte legend (one shadow byte represents 8 application bytes): Addressable: 00 Partially addressable: 01 02 03 04 05 06 07 Heap left redzone: fa Freed heap region: fd Stack left redzone: f1 Stack mid redzone: f2 Stack right redzone: f3 Stack after return: f5 Stack use after scope: f8 Global redzone: f9 Global init order: f6 Poisoned by user: f7 Container overflow: fc Array cookie: ac Intra object redzone: bb ASan internal: fe Left alloca redzone: ca Right alloca redzone: cb ==2016==ADDITIONAL INFO ==2016==Note: Please include this section with the ASan report. Task trace: ==2016==END OF ADDITIONAL INFO ==2016==ABORTING [1/1] X11WindowOzoneTest.DispatchEventSelfFreedDuringMouseOnWindow (CRASHED) 1 test crashed: X11WindowOzoneTest.DispatchEventSelfFreedDuringMouseOnWindow (../../ui/ozone/platform/x11/x11_window_ozone_unittest.cc:660) Tests took 1 seconds.