================== WARNING: ThreadSanitizer: data race (pid=26237) Read of size 4 at 0x00000301ba84 by thread T4: #0 SkMatrix::getType() const /mnt/pd0/s/w/ir/cache/work/skia/out/Build-Debian10-Clang-x86_64-Release-TSAN/Release/../../../../../../skia/include/core/SkMatrix.h:202:13 (fm+0x18d1022) #1 SkMatrix::mapRect(SkRect*, SkRect const&, SkApplyPerspectiveClip) const /mnt/pd0/s/w/ir/cache/work/skia/out/Build-Debian10-Clang-x86_64-Release-TSAN/Release/../../../../../../skia/src/core/SkMatrix.cpp:1152:15 (fm+0x18d1022) #2 DashCircle2GM::onDraw(SkCanvas*) /mnt/pd0/s/w/ir/cache/work/skia/out/Build-Debian10-Clang-x86_64-Release-TSAN/Release/../../../../../../skia/gm/dashcircle.cpp:198:15 (fm+0x11415ba) #3 skiagm::GM::onDraw(SkCanvas*, SkString*) /mnt/pd0/s/w/ir/cache/work/skia/out/Build-Debian10-Clang-x86_64-Release-TSAN/Release/../../../../../../skia/gm/gm.cpp:133:11 (fm+0x117bcd9) #4 skiagm::GM::drawContent(SkCanvas*, SkString*) /mnt/pd0/s/w/ir/cache/work/skia/out/Build-Debian10-Clang-x86_64-Release-TSAN/Release/../../../../../../skia/gm/gm.cpp:119:35 (fm+0x117bc2a) #5 skiagm::GM::draw(SkCanvas*, SkString*) /mnt/pd0/s/w/ir/cache/work/skia/out/Build-Debian10-Clang-x86_64-Release-TSAN/Release/../../../../../../skia/gm/gm.cpp:112:18 (fm+0x117b8c1) #6 init(Source*, std::__1::shared_ptr)::$_3::operator()(SkCanvas*) const /mnt/pd0/s/w/ir/cache/work/skia/out/Build-Debian10-Clang-x86_64-Release-TSAN/Release/../../../../../../skia/tools/fm/fm.cpp:149:21 (fm+0x10c6125) #7 decltype(std::__1::forward)::$_3&>(fp)(std::__1::forward(fp0))) std::__1::__invoke)::$_3&, SkCanvas*>(init(Source*, std::__1::shared_ptr)::$_3&, SkCanvas*&&) /mnt/pd0/s/w/ir/.cipd/pkgs/4/6camieX0q3QIox057PfPQBYISCbaxzoqw72-5wyzM1oC/bin/../include/c++/v1/type_traits:3539:1 (fm+0x10c6125) #8 Result std::__1::__invoke_void_return_wrapper::__call)::$_3&, SkCanvas*>(init(Source*, std::__1::shared_ptr)::$_3&, SkCanvas*&&) /mnt/pd0/s/w/ir/.cipd/pkgs/4/6camieX0q3QIox057PfPQBYISCbaxzoqw72-5wyzM1oC/bin/../include/c++/v1/__functional_base:317:16 (fm+0x10c6125) #9 std::__1::__function::__alloc_func)::$_3, std::__1::allocator)::$_3>, Result (SkCanvas*)>::operator()(SkCanvas*&&) /mnt/pd0/s/w/ir/.cipd/pkgs/4/6camieX0q3QIox057PfPQBYISCbaxzoqw72-5wyzM1oC/bin/../include/c++/v1/functional:1540:16 (fm+0x10c6125) #10 std::__1::__function::__func)::$_3, std::__1::allocator)::$_3>, Result (SkCanvas*)>::operator()(SkCanvas*&&) /mnt/pd0/s/w/ir/.cipd/pkgs/4/6camieX0q3QIox057PfPQBYISCbaxzoqw72-5wyzM1oC/bin/../include/c++/v1/functional:1714:12 (fm+0x10c6125) #11 std::__1::__function::__value_func::operator()(SkCanvas*&&) const /mnt/pd0/s/w/ir/.cipd/pkgs/4/6camieX0q3QIox057PfPQBYISCbaxzoqw72-5wyzM1oC/bin/../include/c++/v1/functional:1867:16 (fm+0x10cb1e2) #12 std::__1::function::operator()(SkCanvas*) const /mnt/pd0/s/w/ir/.cipd/pkgs/4/6camieX0q3QIox057PfPQBYISCbaxzoqw72-5wyzM1oC/bin/../include/c++/v1/functional:2473:12 (fm+0x10cb1e2) #13 main::$_1::operator()() const::'lambda'(SkCanvas*)::operator()(SkCanvas*) const /mnt/pd0/s/w/ir/cache/work/skia/out/Build-Debian10-Clang-x86_64-Release-TSAN/Release/../../../../../../skia/tools/fm/fm.cpp:564:29 (fm+0x10cb1e2) #14 decltype(std::__1::forward(fp)(std::__1::forward(fp0))) std::__1::__invoke(main::$_1::operator()() const::'lambda'(SkCanvas*)&, SkCanvas*&&) /mnt/pd0/s/w/ir/.cipd/pkgs/4/6camieX0q3QIox057PfPQBYISCbaxzoqw72-5wyzM1oC/bin/../include/c++/v1/type_traits:3539:1 (fm+0x10cb1e2) #15 bool std::__1::__invoke_void_return_wrapper::__call(main::$_1::operator()() const::'lambda'(SkCanvas*)&, SkCanvas*&&) /mnt/pd0/s/w/ir/.cipd/pkgs/4/6camieX0q3QIox057PfPQBYISCbaxzoqw72-5wyzM1oC/bin/../include/c++/v1/__functional_base:317:16 (fm+0x10cb1e2) #16 std::__1::__function::__alloc_func, bool (SkCanvas*)>::operator()(SkCanvas*&&) /mnt/pd0/s/w/ir/.cipd/pkgs/4/6camieX0q3QIox057PfPQBYISCbaxzoqw72-5wyzM1oC/bin/../include/c++/v1/functional:1540:16 (fm+0x10cb1e2) #17 std::__1::__function::__func, bool (SkCanvas*)>::operator()(SkCanvas*&&) /mnt/pd0/s/w/ir/.cipd/pkgs/4/6camieX0q3QIox057PfPQBYISCbaxzoqw72-5wyzM1oC/bin/../include/c++/v1/functional:1714:12 (fm+0x10cb1e2) #18 std::__1::__function::__value_func::operator()(SkCanvas*&&) const /mnt/pd0/s/w/ir/.cipd/pkgs/4/6camieX0q3QIox057PfPQBYISCbaxzoqw72-5wyzM1oC/bin/../include/c++/v1/functional:1867:16 (fm+0x10c9c8c) #19 std::__1::function::operator()(SkCanvas*) const /mnt/pd0/s/w/ir/.cipd/pkgs/4/6camieX0q3QIox057PfPQBYISCbaxzoqw72-5wyzM1oC/bin/../include/c++/v1/functional:2473:12 (fm+0x10c9c8c) #20 draw_with_cpu(std::__1::function, SkImageInfo) /mnt/pd0/s/w/ir/cache/work/skia/out/Build-Debian10-Clang-x86_64-Release-TSAN/Release/../../../../../../skia/tools/fm/fm.cpp:252:13 (fm+0x10c9c8c) #21 main::$_1::operator()() const /mnt/pd0/s/w/ir/cache/work/skia/out/Build-Debian10-Clang-x86_64-Release-TSAN/Release/../../../../../../skia/tools/fm/fm.cpp:583:25 (fm+0x10c9c8c) #22 decltype(std::__1::forward(fp)()) std::__1::__invoke(main::$_1&&) /mnt/pd0/s/w/ir/.cipd/pkgs/4/6camieX0q3QIox057PfPQBYISCbaxzoqw72-5wyzM1oC/bin/../include/c++/v1/type_traits:3539:1 (fm+0x10c9c8c) #23 void std::__1::__async_func::__execute<>(std::__1::__tuple_indices<>) /mnt/pd0/s/w/ir/.cipd/pkgs/4/6camieX0q3QIox057PfPQBYISCbaxzoqw72-5wyzM1oC/bin/../include/c++/v1/future:2320:16 (fm+0x10c9c8c) #24 std::__1::__async_func::operator()() /mnt/pd0/s/w/ir/.cipd/pkgs/4/6camieX0q3QIox057PfPQBYISCbaxzoqw72-5wyzM1oC/bin/../include/c++/v1/future:2313:16 (fm+0x10c9c8c) #25 std::__1::__async_assoc_state >::__execute() /mnt/pd0/s/w/ir/.cipd/pkgs/4/6camieX0q3QIox057PfPQBYISCbaxzoqw72-5wyzM1oC/bin/../include/c++/v1/future:1036:9 (fm+0x10c9a5d) #26 decltype(*(std::__1::forward >*>(fp0)).*fp()) std::__1::__invoke >::*)(), std::__1::__async_assoc_state >*, void>(void (std::__1::__async_assoc_state >::*&&)(), std::__1::__async_assoc_state >*&&) /mnt/pd0/s/w/ir/.cipd/pkgs/4/6camieX0q3QIox057PfPQBYISCbaxzoqw72-5wyzM1oC/bin/../include/c++/v1/type_traits:3480:1 (fm+0x10cb2de) #27 void std::__1::__thread_execute >, void (std::__1::__async_assoc_state >::*)(), std::__1::__async_assoc_state >*, 2ul>(std::__1::tuple >, void (std::__1::__async_assoc_state >::*)(), std::__1::__async_assoc_state >*>&, std::__1::__tuple_indices<2ul>) /mnt/pd0/s/w/ir/.cipd/pkgs/4/6camieX0q3QIox057PfPQBYISCbaxzoqw72-5wyzM1oC/bin/../include/c++/v1/thread:273:5 (fm+0x10cb2de) #28 void* std::__1::__thread_proxy >, void (std::__1::__async_assoc_state >::*)(), std::__1::__async_assoc_state >*> >(void*) /mnt/pd0/s/w/ir/.cipd/pkgs/4/6camieX0q3QIox057PfPQBYISCbaxzoqw72-5wyzM1oC/bin/../include/c++/v1/thread:284:5 (fm+0x10cb2de) Previous write of size 4 at 0x00000301ba84 by thread T3: #0 SkMatrix::getType() const /mnt/pd0/s/w/ir/cache/work/skia/out/Build-Debian10-Clang-x86_64-Release-TSAN/Release/../../../../../../skia/include/core/SkMatrix.h:203:23 (fm+0x18d1170) #1 SkMatrix::mapRect(SkRect*, SkRect const&, SkApplyPerspectiveClip) const /mnt/pd0/s/w/ir/cache/work/skia/out/Build-Debian10-Clang-x86_64-Release-TSAN/Release/../../../../../../skia/src/core/SkMatrix.cpp:1152:15 (fm+0x18d1170) #2 DashCircle2GM::onDraw(SkCanvas*) /mnt/pd0/s/w/ir/cache/work/skia/out/Build-Debian10-Clang-x86_64-Release-TSAN/Release/../../../../../../skia/gm/dashcircle.cpp:198:15 (fm+0x11415ba) #3 skiagm::GM::onDraw(SkCanvas*, SkString*) /mnt/pd0/s/w/ir/cache/work/skia/out/Build-Debian10-Clang-x86_64-Release-TSAN/Release/../../../../../../skia/gm/gm.cpp:133:11 (fm+0x117bcd9) #4 skiagm::GM::drawContent(SkCanvas*, SkString*) /mnt/pd0/s/w/ir/cache/work/skia/out/Build-Debian10-Clang-x86_64-Release-TSAN/Release/../../../../../../skia/gm/gm.cpp:119:35 (fm+0x117bc2a) #5 skiagm::GM::draw(SkCanvas*, SkString*) /mnt/pd0/s/w/ir/cache/work/skia/out/Build-Debian10-Clang-x86_64-Release-TSAN/Release/../../../../../../skia/gm/gm.cpp:112:18 (fm+0x117b8c1) #6 init(Source*, std::__1::shared_ptr)::$_3::operator()(SkCanvas*) const /mnt/pd0/s/w/ir/cache/work/skia/out/Build-Debian10-Clang-x86_64-Release-TSAN/Release/../../../../../../skia/tools/fm/fm.cpp:149:21 (fm+0x10c6125) #7 decltype(std::__1::forward)::$_3&>(fp)(std::__1::forward(fp0))) std::__1::__invoke)::$_3&, SkCanvas*>(init(Source*, std::__1::shared_ptr)::$_3&, SkCanvas*&&) /mnt/pd0/s/w/ir/.cipd/pkgs/4/6camieX0q3QIox057PfPQBYISCbaxzoqw72-5wyzM1oC/bin/../include/c++/v1/type_traits:3539:1 (fm+0x10c6125) #8 Result std::__1::__invoke_void_return_wrapper::__call)::$_3&, SkCanvas*>(init(Source*, std::__1::shared_ptr)::$_3&, SkCanvas*&&) /mnt/pd0/s/w/ir/.cipd/pkgs/4/6camieX0q3QIox057PfPQBYISCbaxzoqw72-5wyzM1oC/bin/../include/c++/v1/__functional_base:317:16 (fm+0x10c6125) #9 std::__1::__function::__alloc_func)::$_3, std::__1::allocator)::$_3>, Result (SkCanvas*)>::operator()(SkCanvas*&&) /mnt/pd0/s/w/ir/.cipd/pkgs/4/6camieX0q3QIox057PfPQBYISCbaxzoqw72-5wyzM1oC/bin/../include/c++/v1/functional:1540:16 (fm+0x10c6125) #10 std::__1::__function::__func)::$_3, std::__1::allocator)::$_3>, Result (SkCanvas*)>::operator()(SkCanvas*&&) /mnt/pd0/s/w/ir/.cipd/pkgs/4/6camieX0q3QIox057PfPQBYISCbaxzoqw72-5wyzM1oC/bin/../include/c++/v1/functional:1714:12 (fm+0x10c6125) #11 std::__1::__function::__value_func::operator()(SkCanvas*&&) const /mnt/pd0/s/w/ir/.cipd/pkgs/4/6camieX0q3QIox057PfPQBYISCbaxzoqw72-5wyzM1oC/bin/../include/c++/v1/functional:1867:16 (fm+0x10cb1e2) #12 std::__1::function::operator()(SkCanvas*) const /mnt/pd0/s/w/ir/.cipd/pkgs/4/6camieX0q3QIox057PfPQBYISCbaxzoqw72-5wyzM1oC/bin/../include/c++/v1/functional:2473:12 (fm+0x10cb1e2) #13 main::$_1::operator()() const::'lambda'(SkCanvas*)::operator()(SkCanvas*) const /mnt/pd0/s/w/ir/cache/work/skia/out/Build-Debian10-Clang-x86_64-Release-TSAN/Release/../../../../../../skia/tools/fm/fm.cpp:564:29 (fm+0x10cb1e2) #14 decltype(std::__1::forward(fp)(std::__1::forward(fp0))) std::__1::__invoke(main::$_1::operator()() const::'lambda'(SkCanvas*)&, SkCanvas*&&) /mnt/pd0/s/w/ir/.cipd/pkgs/4/6camieX0q3QIox057PfPQBYISCbaxzoqw72-5wyzM1oC/bin/../include/c++/v1/type_traits:3539:1 (fm+0x10cb1e2) #15 bool std::__1::__invoke_void_return_wrapper::__call(main::$_1::operator()() const::'lambda'(SkCanvas*)&, SkCanvas*&&) /mnt/pd0/s/w/ir/.cipd/pkgs/4/6camieX0q3QIox057PfPQBYISCbaxzoqw72-5wyzM1oC/bin/../include/c++/v1/__functional_base:317:16 (fm+0x10cb1e2) #16 std::__1::__function::__alloc_func, bool (SkCanvas*)>::operator()(SkCanvas*&&) /mnt/pd0/s/w/ir/.cipd/pkgs/4/6camieX0q3QIox057PfPQBYISCbaxzoqw72-5wyzM1oC/bin/../include/c++/v1/functional:1540:16 (fm+0x10cb1e2) #17 std::__1::__function::__func, bool (SkCanvas*)>::operator()(SkCanvas*&&) /mnt/pd0/s/w/ir/.cipd/pkgs/4/6camieX0q3QIox057PfPQBYISCbaxzoqw72-5wyzM1oC/bin/../include/c++/v1/functional:1714:12 (fm+0x10cb1e2) #18 std::__1::__function::__value_func::operator()(SkCanvas*&&) const /mnt/pd0/s/w/ir/.cipd/pkgs/4/6camieX0q3QIox057PfPQBYISCbaxzoqw72-5wyzM1oC/bin/../include/c++/v1/functional:1867:16 (fm+0x10c9c8c) #19 std::__1::function::operator()(SkCanvas*) const /mnt/pd0/s/w/ir/.cipd/pkgs/4/6camieX0q3QIox057PfPQBYISCbaxzoqw72-5wyzM1oC/bin/../include/c++/v1/functional:2473:12 (fm+0x10c9c8c) #20 draw_with_cpu(std::__1::function, SkImageInfo) /mnt/pd0/s/w/ir/cache/work/skia/out/Build-Debian10-Clang-x86_64-Release-TSAN/Release/../../../../../../skia/tools/fm/fm.cpp:252:13 (fm+0x10c9c8c) #21 main::$_1::operator()() const /mnt/pd0/s/w/ir/cache/work/skia/out/Build-Debian10-Clang-x86_64-Release-TSAN/Release/../../../../../../skia/tools/fm/fm.cpp:583:25 (fm+0x10c9c8c) #22 decltype(std::__1::forward(fp)()) std::__1::__invoke(main::$_1&&) /mnt/pd0/s/w/ir/.cipd/pkgs/4/6camieX0q3QIox057PfPQBYISCbaxzoqw72-5wyzM1oC/bin/../include/c++/v1/type_traits:3539:1 (fm+0x10c9c8c) #23 void std::__1::__async_func::__execute<>(std::__1::__tuple_indices<>) /mnt/pd0/s/w/ir/.cipd/pkgs/4/6camieX0q3QIox057PfPQBYISCbaxzoqw72-5wyzM1oC/bin/../include/c++/v1/future:2320:16 (fm+0x10c9c8c) #24 std::__1::__async_func::operator()() /mnt/pd0/s/w/ir/.cipd/pkgs/4/6camieX0q3QIox057PfPQBYISCbaxzoqw72-5wyzM1oC/bin/../include/c++/v1/future:2313:16 (fm+0x10c9c8c) #25 std::__1::__async_assoc_state >::__execute() /mnt/pd0/s/w/ir/.cipd/pkgs/4/6camieX0q3QIox057PfPQBYISCbaxzoqw72-5wyzM1oC/bin/../include/c++/v1/future:1036:9 (fm+0x10c9a5d) #26 decltype(*(std::__1::forward >*>(fp0)).*fp()) std::__1::__invoke >::*)(), std::__1::__async_assoc_state >*, void>(void (std::__1::__async_assoc_state >::*&&)(), std::__1::__async_assoc_state >*&&) /mnt/pd0/s/w/ir/.cipd/pkgs/4/6camieX0q3QIox057PfPQBYISCbaxzoqw72-5wyzM1oC/bin/../include/c++/v1/type_traits:3480:1 (fm+0x10cb2de) #27 void std::__1::__thread_execute >, void (std::__1::__async_assoc_state >::*)(), std::__1::__async_assoc_state >*, 2ul>(std::__1::tuple >, void (std::__1::__async_assoc_state >::*)(), std::__1::__async_assoc_state >*>&, std::__1::__tuple_indices<2ul>) /mnt/pd0/s/w/ir/.cipd/pkgs/4/6camieX0q3QIox057PfPQBYISCbaxzoqw72-5wyzM1oC/bin/../include/c++/v1/thread:273:5 (fm+0x10cb2de) #28 void* std::__1::__thread_proxy >, void (std::__1::__async_assoc_state >::*)(), std::__1::__async_assoc_state >*> >(void*) /mnt/pd0/s/w/ir/.cipd/pkgs/4/6camieX0q3QIox057PfPQBYISCbaxzoqw72-5wyzM1oC/bin/../include/c++/v1/thread:284:5 (fm+0x10cb2de) Location is global 'DashCircle2GM::onDraw(SkCanvas*)::kMatrices' of size 280 at 0x00000301ba10 (fm+0x00000301ba84) Thread T4 (tid=26392, running) created by main thread at: #0 pthread_create /tmp/tmpZnGzpR/llvm-project/compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp:962 (fm+0x10496b5) #1 std::__1::__libcpp_thread_create(unsigned long*, void* (*)(void*), void*) /mnt/pd0/s/w/ir/.cipd/pkgs/4/6camieX0q3QIox057PfPQBYISCbaxzoqw72-5wyzM1oC/bin/../include/c++/v1/__threading_support:394:10 (fm+0x10c4472) #2 std::__1::thread::thread >::*)(), std::__1::__async_assoc_state >*, void>(void (std::__1::__async_assoc_state >::*&&)(), std::__1::__async_assoc_state >*&&) /mnt/pd0/s/w/ir/.cipd/pkgs/4/6camieX0q3QIox057PfPQBYISCbaxzoqw72-5wyzM1oC/bin/../include/c++/v1/thread:300:16 (fm+0x10c4472) #3 std::__1::future std::__1::__make_async_assoc_state >(std::__1::__async_func&&) /mnt/pd0/s/w/ir/.cipd/pkgs/4/6camieX0q3QIox057PfPQBYISCbaxzoqw72-5wyzM1oC/bin/../include/c++/v1/future:2291:5 (fm+0x10c4472) #4 std::__1::future::type>::type> std::__1::async(std::__1::launch, main::$_1&&) /mnt/pd0/s/w/ir/.cipd/pkgs/4/6camieX0q3QIox057PfPQBYISCbaxzoqw72-5wyzM1oC/bin/../include/c++/v1/future:2340:16 (fm+0x10c4472) #5 main /mnt/pd0/s/w/ir/cache/work/skia/out/Build-Debian10-Clang-x86_64-Release-TSAN/Release/../../../../../../skia/tools/fm/fm.cpp:554:26 (fm+0x10c4472) Thread T3 (tid=26390, running) created by main thread at: #0 pthread_create /tmp/tmpZnGzpR/llvm-project/compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp:962 (fm+0x10496b5) #1 std::__1::__libcpp_thread_create(unsigned long*, void* (*)(void*), void*) /mnt/pd0/s/w/ir/.cipd/pkgs/4/6camieX0q3QIox057PfPQBYISCbaxzoqw72-5wyzM1oC/bin/../include/c++/v1/__threading_support:394:10 (fm+0x10c4472) #2 std::__1::thread::thread >::*)(), std::__1::__async_assoc_state >*, void>(void (std::__1::__async_assoc_state >::*&&)(), std::__1::__async_assoc_state >*&&) /mnt/pd0/s/w/ir/.cipd/pkgs/4/6camieX0q3QIox057PfPQBYISCbaxzoqw72-5wyzM1oC/bin/../include/c++/v1/thread:300:16 (fm+0x10c4472) #3 std::__1::future std::__1::__make_async_assoc_state >(std::__1::__async_func&&) /mnt/pd0/s/w/ir/.cipd/pkgs/4/6camieX0q3QIox057PfPQBYISCbaxzoqw72-5wyzM1oC/bin/../include/c++/v1/future:2291:5 (fm+0x10c4472) #4 std::__1::future::type>::type> std::__1::async(std::__1::launch, main::$_1&&) /mnt/pd0/s/w/ir/.cipd/pkgs/4/6camieX0q3QIox057PfPQBYISCbaxzoqw72-5wyzM1oC/bin/../include/c++/v1/future:2340:16 (fm+0x10c4472) #5 main /mnt/pd0/s/w/ir/cache/work/skia/out/Build-Debian10-Clang-x86_64-Release-TSAN/Release/../../../../../../skia/tools/fm/fm.cpp:554:26 (fm+0x10c4472) SUMMARY: ThreadSanitizer: data race /mnt/pd0/s/w/ir/cache/work/skia/out/Build-Debian10-Clang-x86_64-Release-TSAN/Release/../../../../../../skia/include/core/SkMatrix.h:202:13 in SkMatrix::getType() const ================== ================== WARNING: ThreadSanitizer: data race (pid=26237) Read of size 4 at 0x00000301baac by thread T4: #0 SkMatrix::getType() const /mnt/pd0/s/w/ir/cache/work/skia/out/Build-Debian10-Clang-x86_64-Release-TSAN/Release/../../../../../../skia/include/core/SkMatrix.h:202:13 (fm+0x18d1022) #1 SkMatrix::mapRect(SkRect*, SkRect const&, SkApplyPerspectiveClip) const /mnt/pd0/s/w/ir/cache/work/skia/out/Build-Debian10-Clang-x86_64-Release-TSAN/Release/../../../../../../skia/src/core/SkMatrix.cpp:1152:15 (fm+0x18d1022) #2 DashCircle2GM::onDraw(SkCanvas*) /mnt/pd0/s/w/ir/cache/work/skia/out/Build-Debian10-Clang-x86_64-Release-TSAN/Release/../../../../../../skia/gm/dashcircle.cpp:198:15 (fm+0x11415dc) #3 skiagm::GM::onDraw(SkCanvas*, SkString*) /mnt/pd0/s/w/ir/cache/work/skia/out/Build-Debian10-Clang-x86_64-Release-TSAN/Release/../../../../../../skia/gm/gm.cpp:133:11 (fm+0x117bcd9) #4 skiagm::GM::drawContent(SkCanvas*, SkString*) /mnt/pd0/s/w/ir/cache/work/skia/out/Build-Debian10-Clang-x86_64-Release-TSAN/Release/../../../../../../skia/gm/gm.cpp:119:35 (fm+0x117bc2a) #5 skiagm::GM::draw(SkCanvas*, SkString*) /mnt/pd0/s/w/ir/cache/work/skia/out/Build-Debian10-Clang-x86_64-Release-TSAN/Release/../../../../../../skia/gm/gm.cpp:112:18 (fm+0x117b8c1) #6 init(Source*, std::__1::shared_ptr)::$_3::operator()(SkCanvas*) const /mnt/pd0/s/w/ir/cache/work/skia/out/Build-Debian10-Clang-x86_64-Release-TSAN/Release/../../../../../../skia/tools/fm/fm.cpp:149:21 (fm+0x10c6125) #7 decltype(std::__1::forward)::$_3&>(fp)(std::__1::forward(fp0))) std::__1::__invoke)::$_3&, SkCanvas*>(init(Source*, std::__1::shared_ptr)::$_3&, SkCanvas*&&) /mnt/pd0/s/w/ir/.cipd/pkgs/4/6camieX0q3QIox057PfPQBYISCbaxzoqw72-5wyzM1oC/bin/../include/c++/v1/type_traits:3539:1 (fm+0x10c6125) #8 Result std::__1::__invoke_void_return_wrapper::__call)::$_3&, SkCanvas*>(init(Source*, std::__1::shared_ptr)::$_3&, SkCanvas*&&) /mnt/pd0/s/w/ir/.cipd/pkgs/4/6camieX0q3QIox057PfPQBYISCbaxzoqw72-5wyzM1oC/bin/../include/c++/v1/__functional_base:317:16 (fm+0x10c6125) #9 std::__1::__function::__alloc_func)::$_3, std::__1::allocator)::$_3>, Result (SkCanvas*)>::operator()(SkCanvas*&&) /mnt/pd0/s/w/ir/.cipd/pkgs/4/6camieX0q3QIox057PfPQBYISCbaxzoqw72-5wyzM1oC/bin/../include/c++/v1/functional:1540:16 (fm+0x10c6125) #10 std::__1::__function::__func)::$_3, std::__1::allocator)::$_3>, Result (SkCanvas*)>::operator()(SkCanvas*&&) /mnt/pd0/s/w/ir/.cipd/pkgs/4/6camieX0q3QIox057PfPQBYISCbaxzoqw72-5wyzM1oC/bin/../include/c++/v1/functional:1714:12 (fm+0x10c6125) #11 std::__1::__function::__value_func::operator()(SkCanvas*&&) const /mnt/pd0/s/w/ir/.cipd/pkgs/4/6camieX0q3QIox057PfPQBYISCbaxzoqw72-5wyzM1oC/bin/../include/c++/v1/functional:1867:16 (fm+0x10cb1e2) #12 std::__1::function::operator()(SkCanvas*) const /mnt/pd0/s/w/ir/.cipd/pkgs/4/6camieX0q3QIox057PfPQBYISCbaxzoqw72-5wyzM1oC/bin/../include/c++/v1/functional:2473:12 (fm+0x10cb1e2) #13 main::$_1::operator()() const::'lambda'(SkCanvas*)::operator()(SkCanvas*) const /mnt/pd0/s/w/ir/cache/work/skia/out/Build-Debian10-Clang-x86_64-Release-TSAN/Release/../../../../../../skia/tools/fm/fm.cpp:564:29 (fm+0x10cb1e2) #14 decltype(std::__1::forward(fp)(std::__1::forward(fp0))) std::__1::__invoke(main::$_1::operator()() const::'lambda'(SkCanvas*)&, SkCanvas*&&) /mnt/pd0/s/w/ir/.cipd/pkgs/4/6camieX0q3QIox057PfPQBYISCbaxzoqw72-5wyzM1oC/bin/../include/c++/v1/type_traits:3539:1 (fm+0x10cb1e2) #15 bool std::__1::__invoke_void_return_wrapper::__call(main::$_1::operator()() const::'lambda'(SkCanvas*)&, SkCanvas*&&) /mnt/pd0/s/w/ir/.cipd/pkgs/4/6camieX0q3QIox057PfPQBYISCbaxzoqw72-5wyzM1oC/bin/../include/c++/v1/__functional_base:317:16 (fm+0x10cb1e2) #16 std::__1::__function::__alloc_func, bool (SkCanvas*)>::operator()(SkCanvas*&&) /mnt/pd0/s/w/ir/.cipd/pkgs/4/6camieX0q3QIox057PfPQBYISCbaxzoqw72-5wyzM1oC/bin/../include/c++/v1/functional:1540:16 (fm+0x10cb1e2) #17 std::__1::__function::__func, bool (SkCanvas*)>::operator()(SkCanvas*&&) /mnt/pd0/s/w/ir/.cipd/pkgs/4/6camieX0q3QIox057PfPQBYISCbaxzoqw72-5wyzM1oC/bin/../include/c++/v1/functional:1714:12 (fm+0x10cb1e2) #18 std::__1::__function::__value_func::operator()(SkCanvas*&&) const /mnt/pd0/s/w/ir/.cipd/pkgs/4/6camieX0q3QIox057PfPQBYISCbaxzoqw72-5wyzM1oC/bin/../include/c++/v1/functional:1867:16 (fm+0x10c9c8c) #19 std::__1::function::operator()(SkCanvas*) const /mnt/pd0/s/w/ir/.cipd/pkgs/4/6camieX0q3QIox057PfPQBYISCbaxzoqw72-5wyzM1oC/bin/../include/c++/v1/functional:2473:12 (fm+0x10c9c8c) #20 draw_with_cpu(std::__1::function, SkImageInfo) /mnt/pd0/s/w/ir/cache/work/skia/out/Build-Debian10-Clang-x86_64-Release-TSAN/Release/../../../../../../skia/tools/fm/fm.cpp:252:13 (fm+0x10c9c8c) #21 main::$_1::operator()() const /mnt/pd0/s/w/ir/cache/work/skia/out/Build-Debian10-Clang-x86_64-Release-TSAN/Release/../../../../../../skia/tools/fm/fm.cpp:583:25 (fm+0x10c9c8c) #22 decltype(std::__1::forward(fp)()) std::__1::__invoke(main::$_1&&) /mnt/pd0/s/w/ir/.cipd/pkgs/4/6camieX0q3QIox057PfPQBYISCbaxzoqw72-5wyzM1oC/bin/../include/c++/v1/type_traits:3539:1 (fm+0x10c9c8c) #23 void std::__1::__async_func::__execute<>(std::__1::__tuple_indices<>) /mnt/pd0/s/w/ir/.cipd/pkgs/4/6camieX0q3QIox057PfPQBYISCbaxzoqw72-5wyzM1oC/bin/../include/c++/v1/future:2320:16 (fm+0x10c9c8c) #24 std::__1::__async_func::operator()() /mnt/pd0/s/w/ir/.cipd/pkgs/4/6camieX0q3QIox057PfPQBYISCbaxzoqw72-5wyzM1oC/bin/../include/c++/v1/future:2313:16 (fm+0x10c9c8c) #25 std::__1::__async_assoc_state >::__execute() /mnt/pd0/s/w/ir/.cipd/pkgs/4/6camieX0q3QIox057PfPQBYISCbaxzoqw72-5wyzM1oC/bin/../include/c++/v1/future:1036:9 (fm+0x10c9a5d) #26 decltype(*(std::__1::forward >*>(fp0)).*fp()) std::__1::__invoke >::*)(), std::__1::__async_assoc_state >*, void>(void (std::__1::__async_assoc_state >::*&&)(), std::__1::__async_assoc_state >*&&) /mnt/pd0/s/w/ir/.cipd/pkgs/4/6camieX0q3QIox057PfPQBYISCbaxzoqw72-5wyzM1oC/bin/../include/c++/v1/type_traits:3480:1 (fm+0x10cb2de) #27 void std::__1::__thread_execute >, void (std::__1::__async_assoc_state >::*)(), std::__1::__async_assoc_state >*, 2ul>(std::__1::tuple >, void (std::__1::__async_assoc_state >::*)(), std::__1::__async_assoc_state >*>&, std::__1::__tuple_indices<2ul>) /mnt/pd0/s/w/ir/.cipd/pkgs/4/6camieX0q3QIox057PfPQBYISCbaxzoqw72-5wyzM1oC/bin/../include/c++/v1/thread:273:5 (fm+0x10cb2de) #28 void* std::__1::__thread_proxy >, void (std::__1::__async_assoc_state >::*)(), std::__1::__async_assoc_state >*> >(void*) /mnt/pd0/s/w/ir/.cipd/pkgs/4/6camieX0q3QIox057PfPQBYISCbaxzoqw72-5wyzM1oC/bin/../include/c++/v1/thread:284:5 (fm+0x10cb2de) Previous write of size 4 at 0x00000301baac by thread T3: [failed to restore the stack] Location is global 'DashCircle2GM::onDraw(SkCanvas*)::kMatrices' of size 280 at 0x00000301ba10 (fm+0x00000301baac) Thread T4 (tid=26392, running) created by main thread at: #0 pthread_create /tmp/tmpZnGzpR/llvm-project/compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp:962 (fm+0x10496b5) #1 std::__1::__libcpp_thread_create(unsigned long*, void* (*)(void*), void*) /mnt/pd0/s/w/ir/.cipd/pkgs/4/6camieX0q3QIox057PfPQBYISCbaxzoqw72-5wyzM1oC/bin/../include/c++/v1/__threading_support:394:10 (fm+0x10c4472) #2 std::__1::thread::thread >::*)(), std::__1::__async_assoc_state >*, void>(void (std::__1::__async_assoc_state >::*&&)(), std::__1::__async_assoc_state >*&&) /mnt/pd0/s/w/ir/.cipd/pkgs/4/6camieX0q3QIox057PfPQBYISCbaxzoqw72-5wyzM1oC/bin/../include/c++/v1/thread:300:16 (fm+0x10c4472) #3 std::__1::future std::__1::__make_async_assoc_state >(std::__1::__async_func&&) /mnt/pd0/s/w/ir/.cipd/pkgs/4/6camieX0q3QIox057PfPQBYISCbaxzoqw72-5wyzM1oC/bin/../include/c++/v1/future:2291:5 (fm+0x10c4472) #4 std::__1::future::type>::type> std::__1::async(std::__1::launch, main::$_1&&) /mnt/pd0/s/w/ir/.cipd/pkgs/4/6camieX0q3QIox057PfPQBYISCbaxzoqw72-5wyzM1oC/bin/../include/c++/v1/future:2340:16 (fm+0x10c4472) #5 main /mnt/pd0/s/w/ir/cache/work/skia/out/Build-Debian10-Clang-x86_64-Release-TSAN/Release/../../../../../../skia/tools/fm/fm.cpp:554:26 (fm+0x10c4472) Thread T3 (tid=26390, finished) created by main thread at: #0 pthread_create /tmp/tmpZnGzpR/llvm-project/compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp:962 (fm+0x10496b5) #1 std::__1::__libcpp_thread_create(unsigned long*, void* (*)(void*), void*) /mnt/pd0/s/w/ir/.cipd/pkgs/4/6camieX0q3QIox057PfPQBYISCbaxzoqw72-5wyzM1oC/bin/../include/c++/v1/__threading_support:394:10 (fm+0x10c4472) #2 std::__1::thread::thread >::*)(), std::__1::__async_assoc_state >*, void>(void (std::__1::__async_assoc_state >::*&&)(), std::__1::__async_assoc_state >*&&) /mnt/pd0/s/w/ir/.cipd/pkgs/4/6camieX0q3QIox057PfPQBYISCbaxzoqw72-5wyzM1oC/bin/../include/c++/v1/thread:300:16 (fm+0x10c4472) #3 std::__1::future std::__1::__make_async_assoc_state >(std::__1::__async_func&&) /mnt/pd0/s/w/ir/.cipd/pkgs/4/6camieX0q3QIox057PfPQBYISCbaxzoqw72-5wyzM1oC/bin/../include/c++/v1/future:2291:5 (fm+0x10c4472) #4 std::__1::future::type>::type> std::__1::async(std::__1::launch, main::$_1&&) /mnt/pd0/s/w/ir/.cipd/pkgs/4/6camieX0q3QIox057PfPQBYISCbaxzoqw72-5wyzM1oC/bin/../include/c++/v1/future:2340:16 (fm+0x10c4472) #5 main /mnt/pd0/s/w/ir/cache/work/skia/out/Build-Debian10-Clang-x86_64-Release-TSAN/Release/../../../../../../skia/tools/fm/fm.cpp:554:26 (fm+0x10c4472) SUMMARY: ThreadSanitizer: data race /mnt/pd0/s/w/ir/cache/work/skia/out/Build-Debian10-Clang-x86_64-Release-TSAN/Release/../../../../../../skia/include/core/SkMatrix.h:202:13 in SkMatrix::getType() const ================== ================== WARNING: ThreadSanitizer: data race (pid=26237) Read of size 4 at 0x00000301bafc by thread T4: #0 SkMatrix::getType() const /mnt/pd0/s/w/ir/cache/work/skia/out/Build-Debian10-Clang-x86_64-Release-TSAN/Release/../../../../../../skia/include/core/SkMatrix.h:202:13 (fm+0x18d1022) #1 SkMatrix::mapRect(SkRect*, SkRect const&, SkApplyPerspectiveClip) const /mnt/pd0/s/w/ir/cache/work/skia/out/Build-Debian10-Clang-x86_64-Release-TSAN/Release/../../../../../../skia/src/core/SkMatrix.cpp:1152:15 (fm+0x18d1022) #2 DashCircle2GM::onDraw(SkCanvas*) /mnt/pd0/s/w/ir/cache/work/skia/out/Build-Debian10-Clang-x86_64-Release-TSAN/Release/../../../../../../skia/gm/dashcircle.cpp:198:15 (fm+0x1141620) #3 skiagm::GM::onDraw(SkCanvas*, SkString*) /mnt/pd0/s/w/ir/cache/work/skia/out/Build-Debian10-Clang-x86_64-Release-TSAN/Release/../../../../../../skia/gm/gm.cpp:133:11 (fm+0x117bcd9) #4 skiagm::GM::drawContent(SkCanvas*, SkString*) /mnt/pd0/s/w/ir/cache/work/skia/out/Build-Debian10-Clang-x86_64-Release-TSAN/Release/../../../../../../skia/gm/gm.cpp:119:35 (fm+0x117bc2a) #5 skiagm::GM::draw(SkCanvas*, SkString*) /mnt/pd0/s/w/ir/cache/work/skia/out/Build-Debian10-Clang-x86_64-Release-TSAN/Release/../../../../../../skia/gm/gm.cpp:112:18 (fm+0x117b8c1) #6 init(Source*, std::__1::shared_ptr)::$_3::operator()(SkCanvas*) const /mnt/pd0/s/w/ir/cache/work/skia/out/Build-Debian10-Clang-x86_64-Release-TSAN/Release/../../../../../../skia/tools/fm/fm.cpp:149:21 (fm+0x10c6125) #7 decltype(std::__1::forward)::$_3&>(fp)(std::__1::forward(fp0))) std::__1::__invoke)::$_3&, SkCanvas*>(init(Source*, std::__1::shared_ptr)::$_3&, SkCanvas*&&) /mnt/pd0/s/w/ir/.cipd/pkgs/4/6camieX0q3QIox057PfPQBYISCbaxzoqw72-5wyzM1oC/bin/../include/c++/v1/type_traits:3539:1 (fm+0x10c6125) #8 Result std::__1::__invoke_void_return_wrapper::__call)::$_3&, SkCanvas*>(init(Source*, std::__1::shared_ptr)::$_3&, SkCanvas*&&) /mnt/pd0/s/w/ir/.cipd/pkgs/4/6camieX0q3QIox057PfPQBYISCbaxzoqw72-5wyzM1oC/bin/../include/c++/v1/__functional_base:317:16 (fm+0x10c6125) #9 std::__1::__function::__alloc_func)::$_3, std::__1::allocator)::$_3>, Result (SkCanvas*)>::operator()(SkCanvas*&&) /mnt/pd0/s/w/ir/.cipd/pkgs/4/6camieX0q3QIox057PfPQBYISCbaxzoqw72-5wyzM1oC/bin/../include/c++/v1/functional:1540:16 (fm+0x10c6125) #10 std::__1::__function::__func)::$_3, std::__1::allocator)::$_3>, Result (SkCanvas*)>::operator()(SkCanvas*&&) /mnt/pd0/s/w/ir/.cipd/pkgs/4/6camieX0q3QIox057PfPQBYISCbaxzoqw72-5wyzM1oC/bin/../include/c++/v1/functional:1714:12 (fm+0x10c6125) #11 std::__1::__function::__value_func::operator()(SkCanvas*&&) const /mnt/pd0/s/w/ir/.cipd/pkgs/4/6camieX0q3QIox057PfPQBYISCbaxzoqw72-5wyzM1oC/bin/../include/c++/v1/functional:1867:16 (fm+0x10cb1e2) #12 std::__1::function::operator()(SkCanvas*) const /mnt/pd0/s/w/ir/.cipd/pkgs/4/6camieX0q3QIox057PfPQBYISCbaxzoqw72-5wyzM1oC/bin/../include/c++/v1/functional:2473:12 (fm+0x10cb1e2) #13 main::$_1::operator()() const::'lambda'(SkCanvas*)::operator()(SkCanvas*) const /mnt/pd0/s/w/ir/cache/work/skia/out/Build-Debian10-Clang-x86_64-Release-TSAN/Release/../../../../../../skia/tools/fm/fm.cpp:564:29 (fm+0x10cb1e2) #14 decltype(std::__1::forward(fp)(std::__1::forward(fp0))) std::__1::__invoke(main::$_1::operator()() const::'lambda'(SkCanvas*)&, SkCanvas*&&) /mnt/pd0/s/w/ir/.cipd/pkgs/4/6camieX0q3QIox057PfPQBYISCbaxzoqw72-5wyzM1oC/bin/../include/c++/v1/type_traits:3539:1 (fm+0x10cb1e2) #15 bool std::__1::__invoke_void_return_wrapper::__call(main::$_1::operator()() const::'lambda'(SkCanvas*)&, SkCanvas*&&) /mnt/pd0/s/w/ir/.cipd/pkgs/4/6camieX0q3QIox057PfPQBYISCbaxzoqw72-5wyzM1oC/bin/../include/c++/v1/__functional_base:317:16 (fm+0x10cb1e2) #16 std::__1::__function::__alloc_func, bool (SkCanvas*)>::operator()(SkCanvas*&&) /mnt/pd0/s/w/ir/.cipd/pkgs/4/6camieX0q3QIox057PfPQBYISCbaxzoqw72-5wyzM1oC/bin/../include/c++/v1/functional:1540:16 (fm+0x10cb1e2) #17 std::__1::__function::__func, bool (SkCanvas*)>::operator()(SkCanvas*&&) /mnt/pd0/s/w/ir/.cipd/pkgs/4/6camieX0q3QIox057PfPQBYISCbaxzoqw72-5wyzM1oC/bin/../include/c++/v1/functional:1714:12 (fm+0x10cb1e2) #18 std::__1::__function::__value_func::operator()(SkCanvas*&&) const /mnt/pd0/s/w/ir/.cipd/pkgs/4/6camieX0q3QIox057PfPQBYISCbaxzoqw72-5wyzM1oC/bin/../include/c++/v1/functional:1867:16 (fm+0x10c9c8c) #19 std::__1::function::operator()(SkCanvas*) const /mnt/pd0/s/w/ir/.cipd/pkgs/4/6camieX0q3QIox057PfPQBYISCbaxzoqw72-5wyzM1oC/bin/../include/c++/v1/functional:2473:12 (fm+0x10c9c8c) #20 draw_with_cpu(std::__1::function, SkImageInfo) /mnt/pd0/s/w/ir/cache/work/skia/out/Build-Debian10-Clang-x86_64-Release-TSAN/Release/../../../../../../skia/tools/fm/fm.cpp:252:13 (fm+0x10c9c8c) #21 main::$_1::operator()() const /mnt/pd0/s/w/ir/cache/work/skia/out/Build-Debian10-Clang-x86_64-Release-TSAN/Release/../../../../../../skia/tools/fm/fm.cpp:583:25 (fm+0x10c9c8c) #22 decltype(std::__1::forward(fp)()) std::__1::__invoke(main::$_1&&) /mnt/pd0/s/w/ir/.cipd/pkgs/4/6camieX0q3QIox057PfPQBYISCbaxzoqw72-5wyzM1oC/bin/../include/c++/v1/type_traits:3539:1 (fm+0x10c9c8c) #23 void std::__1::__async_func::__execute<>(std::__1::__tuple_indices<>) /mnt/pd0/s/w/ir/.cipd/pkgs/4/6camieX0q3QIox057PfPQBYISCbaxzoqw72-5wyzM1oC/bin/../include/c++/v1/future:2320:16 (fm+0x10c9c8c) #24 std::__1::__async_func::operator()() /mnt/pd0/s/w/ir/.cipd/pkgs/4/6camieX0q3QIox057PfPQBYISCbaxzoqw72-5wyzM1oC/bin/../include/c++/v1/future:2313:16 (fm+0x10c9c8c) #25 std::__1::__async_assoc_state >::__execute() /mnt/pd0/s/w/ir/.cipd/pkgs/4/6camieX0q3QIox057PfPQBYISCbaxzoqw72-5wyzM1oC/bin/../include/c++/v1/future:1036:9 (fm+0x10c9a5d) #26 decltype(*(std::__1::forward >*>(fp0)).*fp()) std::__1::__invoke >::*)(), std::__1::__async_assoc_state >*, void>(void (std::__1::__async_assoc_state >::*&&)(), std::__1::__async_assoc_state >*&&) /mnt/pd0/s/w/ir/.cipd/pkgs/4/6camieX0q3QIox057PfPQBYISCbaxzoqw72-5wyzM1oC/bin/../include/c++/v1/type_traits:3480:1 (fm+0x10cb2de) #27 void std::__1::__thread_execute >, void (std::__1::__async_assoc_state >::*)(), std::__1::__async_assoc_state >*, 2ul>(std::__1::tuple >, void (std::__1::__async_assoc_state >::*)(), std::__1::__async_assoc_state >*>&, std::__1::__tuple_indices<2ul>) /mnt/pd0/s/w/ir/.cipd/pkgs/4/6camieX0q3QIox057PfPQBYISCbaxzoqw72-5wyzM1oC/bin/../include/c++/v1/thread:273:5 (fm+0x10cb2de) #28 void* std::__1::__thread_proxy >, void (std::__1::__async_assoc_state >::*)(), std::__1::__async_assoc_state >*> >(void*) /mnt/pd0/s/w/ir/.cipd/pkgs/4/6camieX0q3QIox057PfPQBYISCbaxzoqw72-5wyzM1oC/bin/../include/c++/v1/thread:284:5 (fm+0x10cb2de) Previous write of size 4 at 0x00000301bafc by thread T3: [failed to restore the stack] Location is global 'DashCircle2GM::onDraw(SkCanvas*)::kMatrices' of size 280 at 0x00000301ba10 (fm+0x00000301bafc) Thread T4 (tid=26392, running) created by main thread at: #0 pthread_create /tmp/tmpZnGzpR/llvm-project/compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp:962 (fm+0x10496b5) #1 std::__1::__libcpp_thread_create(unsigned long*, void* (*)(void*), void*) /mnt/pd0/s/w/ir/.cipd/pkgs/4/6camieX0q3QIox057PfPQBYISCbaxzoqw72-5wyzM1oC/bin/../include/c++/v1/__threading_support:394:10 (fm+0x10c4472) #2 std::__1::thread::thread >::*)(), std::__1::__async_assoc_state >*, void>(void (std::__1::__async_assoc_state >::*&&)(), std::__1::__async_assoc_state >*&&) /mnt/pd0/s/w/ir/.cipd/pkgs/4/6camieX0q3QIox057PfPQBYISCbaxzoqw72-5wyzM1oC/bin/../include/c++/v1/thread:300:16 (fm+0x10c4472) #3 std::__1::future std::__1::__make_async_assoc_state >(std::__1::__async_func&&) /mnt/pd0/s/w/ir/.cipd/pkgs/4/6camieX0q3QIox057PfPQBYISCbaxzoqw72-5wyzM1oC/bin/../include/c++/v1/future:2291:5 (fm+0x10c4472) #4 std::__1::future::type>::type> std::__1::async(std::__1::launch, main::$_1&&) /mnt/pd0/s/w/ir/.cipd/pkgs/4/6camieX0q3QIox057PfPQBYISCbaxzoqw72-5wyzM1oC/bin/../include/c++/v1/future:2340:16 (fm+0x10c4472) #5 main /mnt/pd0/s/w/ir/cache/work/skia/out/Build-Debian10-Clang-x86_64-Release-TSAN/Release/../../../../../../skia/tools/fm/fm.cpp:554:26 (fm+0x10c4472) Thread T3 (tid=26390, finished) created by main thread at: #0 pthread_create /tmp/tmpZnGzpR/llvm-project/compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp:962 (fm+0x10496b5) #1 std::__1::__libcpp_thread_create(unsigned long*, void* (*)(void*), void*) /mnt/pd0/s/w/ir/.cipd/pkgs/4/6camieX0q3QIox057PfPQBYISCbaxzoqw72-5wyzM1oC/bin/../include/c++/v1/__threading_support:394:10 (fm+0x10c4472) #2 std::__1::thread::thread >::*)(), std::__1::__async_assoc_state >*, void>(void (std::__1::__async_assoc_state >::*&&)(), std::__1::__async_assoc_state >*&&) /mnt/pd0/s/w/ir/.cipd/pkgs/4/6camieX0q3QIox057PfPQBYISCbaxzoqw72-5wyzM1oC/bin/../include/c++/v1/thread:300:16 (fm+0x10c4472) #3 std::__1::future std::__1::__make_async_assoc_state >(std::__1::__async_func&&) /mnt/pd0/s/w/ir/.cipd/pkgs/4/6camieX0q3QIox057PfPQBYISCbaxzoqw72-5wyzM1oC/bin/../include/c++/v1/future:2291:5 (fm+0x10c4472) #4 std::__1::future::type>::type> std::__1::async(std::__1::launch, main::$_1&&) /mnt/pd0/s/w/ir/.cipd/pkgs/4/6camieX0q3QIox057PfPQBYISCbaxzoqw72-5wyzM1oC/bin/../include/c++/v1/future:2340:16 (fm+0x10c4472) #5 main /mnt/pd0/s/w/ir/cache/work/skia/out/Build-Debian10-Clang-x86_64-Release-TSAN/Release/../../../../../../skia/tools/fm/fm.cpp:554:26 (fm+0x10c4472) SUMMARY: ThreadSanitizer: data race /mnt/pd0/s/w/ir/cache/work/skia/out/Build-Debian10-Clang-x86_64-Release-TSAN/Release/../../../../../../skia/include/core/SkMatrix.h:202:13 in SkMatrix::getType() const ================== ================== WARNING: ThreadSanitizer: data race (pid=26237) Read of size 4 at 0x00000301bb24 by thread T4: #0 SkMatrix::getType() const /mnt/pd0/s/w/ir/cache/work/skia/out/Build-Debian10-Clang-x86_64-Release-TSAN/Release/../../../../../../skia/include/core/SkMatrix.h:202:13 (fm+0x18d1022) #1 SkMatrix::mapRect(SkRect*, SkRect const&, SkApplyPerspectiveClip) const /mnt/pd0/s/w/ir/cache/work/skia/out/Build-Debian10-Clang-x86_64-Release-TSAN/Release/../../../../../../skia/src/core/SkMatrix.cpp:1152:15 (fm+0x18d1022) #2 DashCircle2GM::onDraw(SkCanvas*) /mnt/pd0/s/w/ir/cache/work/skia/out/Build-Debian10-Clang-x86_64-Release-TSAN/Release/../../../../../../skia/gm/dashcircle.cpp:198:15 (fm+0x1141642) #3 skiagm::GM::onDraw(SkCanvas*, SkString*) /mnt/pd0/s/w/ir/cache/work/skia/out/Build-Debian10-Clang-x86_64-Release-TSAN/Release/../../../../../../skia/gm/gm.cpp:133:11 (fm+0x117bcd9) #4 skiagm::GM::drawContent(SkCanvas*, SkString*) /mnt/pd0/s/w/ir/cache/work/skia/out/Build-Debian10-Clang-x86_64-Release-TSAN/Release/../../../../../../skia/gm/gm.cpp:119:35 (fm+0x117bc2a) #5 skiagm::GM::draw(SkCanvas*, SkString*) /mnt/pd0/s/w/ir/cache/work/skia/out/Build-Debian10-Clang-x86_64-Release-TSAN/Release/../../../../../../skia/gm/gm.cpp:112:18 (fm+0x117b8c1) #6 init(Source*, std::__1::shared_ptr)::$_3::operator()(SkCanvas*) const /mnt/pd0/s/w/ir/cache/work/skia/out/Build-Debian10-Clang-x86_64-Release-TSAN/Release/../../../../../../skia/tools/fm/fm.cpp:149:21 (fm+0x10c6125) #7 decltype(std::__1::forward)::$_3&>(fp)(std::__1::forward(fp0))) std::__1::__invoke)::$_3&, SkCanvas*>(init(Source*, std::__1::shared_ptr)::$_3&, SkCanvas*&&) /mnt/pd0/s/w/ir/.cipd/pkgs/4/6camieX0q3QIox057PfPQBYISCbaxzoqw72-5wyzM1oC/bin/../include/c++/v1/type_traits:3539:1 (fm+0x10c6125) #8 Result std::__1::__invoke_void_return_wrapper::__call)::$_3&, SkCanvas*>(init(Source*, std::__1::shared_ptr)::$_3&, SkCanvas*&&) /mnt/pd0/s/w/ir/.cipd/pkgs/4/6camieX0q3QIox057PfPQBYISCbaxzoqw72-5wyzM1oC/bin/../include/c++/v1/__functional_base:317:16 (fm+0x10c6125) #9 std::__1::__function::__alloc_func)::$_3, std::__1::allocator)::$_3>, Result (SkCanvas*)>::operator()(SkCanvas*&&) /mnt/pd0/s/w/ir/.cipd/pkgs/4/6camieX0q3QIox057PfPQBYISCbaxzoqw72-5wyzM1oC/bin/../include/c++/v1/functional:1540:16 (fm+0x10c6125) #10 std::__1::__function::__func)::$_3, std::__1::allocator)::$_3>, Result (SkCanvas*)>::operator()(SkCanvas*&&) /mnt/pd0/s/w/ir/.cipd/pkgs/4/6camieX0q3QIox057PfPQBYISCbaxzoqw72-5wyzM1oC/bin/../include/c++/v1/functional:1714:12 (fm+0x10c6125) #11 std::__1::__function::__value_func::operator()(SkCanvas*&&) const /mnt/pd0/s/w/ir/.cipd/pkgs/4/6camieX0q3QIox057PfPQBYISCbaxzoqw72-5wyzM1oC/bin/../include/c++/v1/functional:1867:16 (fm+0x10cb1e2) #12 std::__1::function::operator()(SkCanvas*) const /mnt/pd0/s/w/ir/.cipd/pkgs/4/6camieX0q3QIox057PfPQBYISCbaxzoqw72-5wyzM1oC/bin/../include/c++/v1/functional:2473:12 (fm+0x10cb1e2) #13 main::$_1::operator()() const::'lambda'(SkCanvas*)::operator()(SkCanvas*) const /mnt/pd0/s/w/ir/cache/work/skia/out/Build-Debian10-Clang-x86_64-Release-TSAN/Release/../../../../../../skia/tools/fm/fm.cpp:564:29 (fm+0x10cb1e2) #14 decltype(std::__1::forward(fp)(std::__1::forward(fp0))) std::__1::__invoke(main::$_1::operator()() const::'lambda'(SkCanvas*)&, SkCanvas*&&) /mnt/pd0/s/w/ir/.cipd/pkgs/4/6camieX0q3QIox057PfPQBYISCbaxzoqw72-5wyzM1oC/bin/../include/c++/v1/type_traits:3539:1 (fm+0x10cb1e2) #15 bool std::__1::__invoke_void_return_wrapper::__call(main::$_1::operator()() const::'lambda'(SkCanvas*)&, SkCanvas*&&) /mnt/pd0/s/w/ir/.cipd/pkgs/4/6camieX0q3QIox057PfPQBYISCbaxzoqw72-5wyzM1oC/bin/../include/c++/v1/__functional_base:317:16 (fm+0x10cb1e2) #16 std::__1::__function::__alloc_func, bool (SkCanvas*)>::operator()(SkCanvas*&&) /mnt/pd0/s/w/ir/.cipd/pkgs/4/6camieX0q3QIox057PfPQBYISCbaxzoqw72-5wyzM1oC/bin/../include/c++/v1/functional:1540:16 (fm+0x10cb1e2) #17 std::__1::__function::__func, bool (SkCanvas*)>::operator()(SkCanvas*&&) /mnt/pd0/s/w/ir/.cipd/pkgs/4/6camieX0q3QIox057PfPQBYISCbaxzoqw72-5wyzM1oC/bin/../include/c++/v1/functional:1714:12 (fm+0x10cb1e2) #18 std::__1::__function::__value_func::operator()(SkCanvas*&&) const /mnt/pd0/s/w/ir/.cipd/pkgs/4/6camieX0q3QIox057PfPQBYISCbaxzoqw72-5wyzM1oC/bin/../include/c++/v1/functional:1867:16 (fm+0x10c9c8c) #19 std::__1::function::operator()(SkCanvas*) const /mnt/pd0/s/w/ir/.cipd/pkgs/4/6camieX0q3QIox057PfPQBYISCbaxzoqw72-5wyzM1oC/bin/../include/c++/v1/functional:2473:12 (fm+0x10c9c8c) #20 draw_with_cpu(std::__1::function, SkImageInfo) /mnt/pd0/s/w/ir/cache/work/skia/out/Build-Debian10-Clang-x86_64-Release-TSAN/Release/../../../../../../skia/tools/fm/fm.cpp:252:13 (fm+0x10c9c8c) #21 main::$_1::operator()() const /mnt/pd0/s/w/ir/cache/work/skia/out/Build-Debian10-Clang-x86_64-Release-TSAN/Release/../../../../../../skia/tools/fm/fm.cpp:583:25 (fm+0x10c9c8c) #22 decltype(std::__1::forward(fp)()) std::__1::__invoke(main::$_1&&) /mnt/pd0/s/w/ir/.cipd/pkgs/4/6camieX0q3QIox057PfPQBYISCbaxzoqw72-5wyzM1oC/bin/../include/c++/v1/type_traits:3539:1 (fm+0x10c9c8c) #23 void std::__1::__async_func::__execute<>(std::__1::__tuple_indices<>) /mnt/pd0/s/w/ir/.cipd/pkgs/4/6camieX0q3QIox057PfPQBYISCbaxzoqw72-5wyzM1oC/bin/../include/c++/v1/future:2320:16 (fm+0x10c9c8c) #24 std::__1::__async_func::operator()() /mnt/pd0/s/w/ir/.cipd/pkgs/4/6camieX0q3QIox057PfPQBYISCbaxzoqw72-5wyzM1oC/bin/../include/c++/v1/future:2313:16 (fm+0x10c9c8c) #25 std::__1::__async_assoc_state >::__execute() /mnt/pd0/s/w/ir/.cipd/pkgs/4/6camieX0q3QIox057PfPQBYISCbaxzoqw72-5wyzM1oC/bin/../include/c++/v1/future:1036:9 (fm+0x10c9a5d) #26 decltype(*(std::__1::forward >*>(fp0)).*fp()) std::__1::__invoke >::*)(), std::__1::__async_assoc_state >*, void>(void (std::__1::__async_assoc_state >::*&&)(), std::__1::__async_assoc_state >*&&) /mnt/pd0/s/w/ir/.cipd/pkgs/4/6camieX0q3QIox057PfPQBYISCbaxzoqw72-5wyzM1oC/bin/../include/c++/v1/type_traits:3480:1 (fm+0x10cb2de) #27 void std::__1::__thread_execute >, void (std::__1::__async_assoc_state >::*)(), std::__1::__async_assoc_state >*, 2ul>(std::__1::tuple >, void (std::__1::__async_assoc_state >::*)(), std::__1::__async_assoc_state >*>&, std::__1::__tuple_indices<2ul>) /mnt/pd0/s/w/ir/.cipd/pkgs/4/6camieX0q3QIox057PfPQBYISCbaxzoqw72-5wyzM1oC/bin/../include/c++/v1/thread:273:5 (fm+0x10cb2de) #28 void* std::__1::__thread_proxy >, void (std::__1::__async_assoc_state >::*)(), std::__1::__async_assoc_state >*> >(void*) /mnt/pd0/s/w/ir/.cipd/pkgs/4/6camieX0q3QIox057PfPQBYISCbaxzoqw72-5wyzM1oC/bin/../include/c++/v1/thread:284:5 (fm+0x10cb2de) Previous write of size 4 at 0x00000301bb24 by thread T3: [failed to restore the stack] Location is global 'DashCircle2GM::onDraw(SkCanvas*)::kMatrices' of size 280 at 0x00000301ba10 (fm+0x00000301bb24) Thread T4 (tid=26392, running) created by main thread at: #0 pthread_create /tmp/tmpZnGzpR/llvm-project/compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp:962 (fm+0x10496b5) #1 std::__1::__libcpp_thread_create(unsigned long*, void* (*)(void*), void*) /mnt/pd0/s/w/ir/.cipd/pkgs/4/6camieX0q3QIox057PfPQBYISCbaxzoqw72-5wyzM1oC/bin/../include/c++/v1/__threading_support:394:10 (fm+0x10c4472) #2 std::__1::thread::thread >::*)(), std::__1::__async_assoc_state >*, void>(void (std::__1::__async_assoc_state >::*&&)(), std::__1::__async_assoc_state >*&&) /mnt/pd0/s/w/ir/.cipd/pkgs/4/6camieX0q3QIox057PfPQBYISCbaxzoqw72-5wyzM1oC/bin/../include/c++/v1/thread:300:16 (fm+0x10c4472) #3 std::__1::future std::__1::__make_async_assoc_state >(std::__1::__async_func&&) /mnt/pd0/s/w/ir/.cipd/pkgs/4/6camieX0q3QIox057PfPQBYISCbaxzoqw72-5wyzM1oC/bin/../include/c++/v1/future:2291:5 (fm+0x10c4472) #4 std::__1::future::type>::type> std::__1::async(std::__1::launch, main::$_1&&) /mnt/pd0/s/w/ir/.cipd/pkgs/4/6camieX0q3QIox057PfPQBYISCbaxzoqw72-5wyzM1oC/bin/../include/c++/v1/future:2340:16 (fm+0x10c4472) #5 main /mnt/pd0/s/w/ir/cache/work/skia/out/Build-Debian10-Clang-x86_64-Release-TSAN/Release/../../../../../../skia/tools/fm/fm.cpp:554:26 (fm+0x10c4472) Thread T3 (tid=26390, finished) created by main thread at: #0 pthread_create /tmp/tmpZnGzpR/llvm-project/compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp:962 (fm+0x10496b5) #1 std::__1::__libcpp_thread_create(unsigned long*, void* (*)(void*), void*) /mnt/pd0/s/w/ir/.cipd/pkgs/4/6camieX0q3QIox057PfPQBYISCbaxzoqw72-5wyzM1oC/bin/../include/c++/v1/__threading_support:394:10 (fm+0x10c4472) #2 std::__1::thread::thread >::*)(), std::__1::__async_assoc_state >*, void>(void (std::__1::__async_assoc_state >::*&&)(), std::__1::__async_assoc_state >*&&) /mnt/pd0/s/w/ir/.cipd/pkgs/4/6camieX0q3QIox057PfPQBYISCbaxzoqw72-5wyzM1oC/bin/../include/c++/v1/thread:300:16 (fm+0x10c4472) #3 std::__1::future std::__1::__make_async_assoc_state >(std::__1::__async_func&&) /mnt/pd0/s/w/ir/.cipd/pkgs/4/6camieX0q3QIox057PfPQBYISCbaxzoqw72-5wyzM1oC/bin/../include/c++/v1/future:2291:5 (fm+0x10c4472) #4 std::__1::future::type>::type> std::__1::async(std::__1::launch, main::$_1&&) /mnt/pd0/s/w/ir/.cipd/pkgs/4/6camieX0q3QIox057PfPQBYISCbaxzoqw72-5wyzM1oC/bin/../include/c++/v1/future:2340:16 (fm+0x10c4472) #5 main /mnt/pd0/s/w/ir/cache/work/skia/out/Build-Debian10-Clang-x86_64-Release-TSAN/Release/../../../../../../skia/tools/fm/fm.cpp:554:26 (fm+0x10c4472) SUMMARY: ThreadSanitizer: data race /mnt/pd0/s/w/ir/cache/work/skia/out/Build-Debian10-Clang-x86_64-Release-TSAN/Release/../../../../../../skia/include/core/SkMatrix.h:202:13 in SkMatrix::getType() const ================== ================== WARNING: ThreadSanitizer: data race (pid=26237) Read of size 4 at 0x00000301baac by thread T5: #0 SkMatrix::getType() const /mnt/pd0/s/w/ir/cache/work/skia/out/Build-Debian10-Clang-x86_64-Release-TSAN/Release/../../../../../../skia/include/core/SkMatrix.h:202:13 (fm+0x18d1022) #1 SkMatrix::mapRect(SkRect*, SkRect const&, SkApplyPerspectiveClip) const /mnt/pd0/s/w/ir/cache/work/skia/out/Build-Debian10-Clang-x86_64-Release-TSAN/Release/../../../../../../skia/src/core/SkMatrix.cpp:1152:15 (fm+0x18d1022) #2 DashCircle2GM::onDraw(SkCanvas*) /mnt/pd0/s/w/ir/cache/work/skia/out/Build-Debian10-Clang-x86_64-Release-TSAN/Release/../../../../../../skia/gm/dashcircle.cpp:198:15 (fm+0x11415dc) #3 skiagm::GM::onDraw(SkCanvas*, SkString*) /mnt/pd0/s/w/ir/cache/work/skia/out/Build-Debian10-Clang-x86_64-Release-TSAN/Release/../../../../../../skia/gm/gm.cpp:133:11 (fm+0x117bcd9) #4 skiagm::GM::drawContent(SkCanvas*, SkString*) /mnt/pd0/s/w/ir/cache/work/skia/out/Build-Debian10-Clang-x86_64-Release-TSAN/Release/../../../../../../skia/gm/gm.cpp:119:35 (fm+0x117bc2a) #5 skiagm::GM::draw(SkCanvas*, SkString*) /mnt/pd0/s/w/ir/cache/work/skia/out/Build-Debian10-Clang-x86_64-Release-TSAN/Release/../../../../../../skia/gm/gm.cpp:112:18 (fm+0x117b8c1) #6 init(Source*, std::__1::shared_ptr)::$_3::operator()(SkCanvas*) const /mnt/pd0/s/w/ir/cache/work/skia/out/Build-Debian10-Clang-x86_64-Release-TSAN/Release/../../../../../../skia/tools/fm/fm.cpp:149:21 (fm+0x10c6125) #7 decltype(std::__1::forward)::$_3&>(fp)(std::__1::forward(fp0))) std::__1::__invoke)::$_3&, SkCanvas*>(init(Source*, std::__1::shared_ptr)::$_3&, SkCanvas*&&) /mnt/pd0/s/w/ir/.cipd/pkgs/4/6camieX0q3QIox057PfPQBYISCbaxzoqw72-5wyzM1oC/bin/../include/c++/v1/type_traits:3539:1 (fm+0x10c6125) #8 Result std::__1::__invoke_void_return_wrapper::__call)::$_3&, SkCanvas*>(init(Source*, std::__1::shared_ptr)::$_3&, SkCanvas*&&) /mnt/pd0/s/w/ir/.cipd/pkgs/4/6camieX0q3QIox057PfPQBYISCbaxzoqw72-5wyzM1oC/bin/../include/c++/v1/__functional_base:317:16 (fm+0x10c6125) #9 std::__1::__function::__alloc_func)::$_3, std::__1::allocator)::$_3>, Result (SkCanvas*)>::operator()(SkCanvas*&&) /mnt/pd0/s/w/ir/.cipd/pkgs/4/6camieX0q3QIox057PfPQBYISCbaxzoqw72-5wyzM1oC/bin/../include/c++/v1/functional:1540:16 (fm+0x10c6125) #10 std::__1::__function::__func)::$_3, std::__1::allocator)::$_3>, Result (SkCanvas*)>::operator()(SkCanvas*&&) /mnt/pd0/s/w/ir/.cipd/pkgs/4/6camieX0q3QIox057PfPQBYISCbaxzoqw72-5wyzM1oC/bin/../include/c++/v1/functional:1714:12 (fm+0x10c6125) #11 std::__1::__function::__value_func::operator()(SkCanvas*&&) const /mnt/pd0/s/w/ir/.cipd/pkgs/4/6camieX0q3QIox057PfPQBYISCbaxzoqw72-5wyzM1oC/bin/../include/c++/v1/functional:1867:16 (fm+0x10cb1e2) #12 std::__1::function::operator()(SkCanvas*) const /mnt/pd0/s/w/ir/.cipd/pkgs/4/6camieX0q3QIox057PfPQBYISCbaxzoqw72-5wyzM1oC/bin/../include/c++/v1/functional:2473:12 (fm+0x10cb1e2) #13 main::$_1::operator()() const::'lambda'(SkCanvas*)::operator()(SkCanvas*) const /mnt/pd0/s/w/ir/cache/work/skia/out/Build-Debian10-Clang-x86_64-Release-TSAN/Release/../../../../../../skia/tools/fm/fm.cpp:564:29 (fm+0x10cb1e2) #14 decltype(std::__1::forward(fp)(std::__1::forward(fp0))) std::__1::__invoke(main::$_1::operator()() const::'lambda'(SkCanvas*)&, SkCanvas*&&) /mnt/pd0/s/w/ir/.cipd/pkgs/4/6camieX0q3QIox057PfPQBYISCbaxzoqw72-5wyzM1oC/bin/../include/c++/v1/type_traits:3539:1 (fm+0x10cb1e2) #15 bool std::__1::__invoke_void_return_wrapper::__call(main::$_1::operator()() const::'lambda'(SkCanvas*)&, SkCanvas*&&) /mnt/pd0/s/w/ir/.cipd/pkgs/4/6camieX0q3QIox057PfPQBYISCbaxzoqw72-5wyzM1oC/bin/../include/c++/v1/__functional_base:317:16 (fm+0x10cb1e2) #16 std::__1::__function::__alloc_func, bool (SkCanvas*)>::operator()(SkCanvas*&&) /mnt/pd0/s/w/ir/.cipd/pkgs/4/6camieX0q3QIox057PfPQBYISCbaxzoqw72-5wyzM1oC/bin/../include/c++/v1/functional:1540:16 (fm+0x10cb1e2) #17 std::__1::__function::__func, bool (SkCanvas*)>::operator()(SkCanvas*&&) /mnt/pd0/s/w/ir/.cipd/pkgs/4/6camieX0q3QIox057PfPQBYISCbaxzoqw72-5wyzM1oC/bin/../include/c++/v1/functional:1714:12 (fm+0x10cb1e2) #18 std::__1::__function::__value_func::operator()(SkCanvas*&&) const /mnt/pd0/s/w/ir/.cipd/pkgs/4/6camieX0q3QIox057PfPQBYISCbaxzoqw72-5wyzM1oC/bin/../include/c++/v1/functional:1867:16 (fm+0x10c9c8c) #19 std::__1::function::operator()(SkCanvas*) const /mnt/pd0/s/w/ir/.cipd/pkgs/4/6camieX0q3QIox057PfPQBYISCbaxzoqw72-5wyzM1oC/bin/../include/c++/v1/functional:2473:12 (fm+0x10c9c8c) #20 draw_with_cpu(std::__1::function, SkImageInfo) /mnt/pd0/s/w/ir/cache/work/skia/out/Build-Debian10-Clang-x86_64-Release-TSAN/Release/../../../../../../skia/tools/fm/fm.cpp:252:13 (fm+0x10c9c8c) #21 main::$_1::operator()() const /mnt/pd0/s/w/ir/cache/work/skia/out/Build-Debian10-Clang-x86_64-Release-TSAN/Release/../../../../../../skia/tools/fm/fm.cpp:583:25 (fm+0x10c9c8c) #22 decltype(std::__1::forward(fp)()) std::__1::__invoke(main::$_1&&) /mnt/pd0/s/w/ir/.cipd/pkgs/4/6camieX0q3QIox057PfPQBYISCbaxzoqw72-5wyzM1oC/bin/../include/c++/v1/type_traits:3539:1 (fm+0x10c9c8c) #23 void std::__1::__async_func::__execute<>(std::__1::__tuple_indices<>) /mnt/pd0/s/w/ir/.cipd/pkgs/4/6camieX0q3QIox057PfPQBYISCbaxzoqw72-5wyzM1oC/bin/../include/c++/v1/future:2320:16 (fm+0x10c9c8c) #24 std::__1::__async_func::operator()() /mnt/pd0/s/w/ir/.cipd/pkgs/4/6camieX0q3QIox057PfPQBYISCbaxzoqw72-5wyzM1oC/bin/../include/c++/v1/future:2313:16 (fm+0x10c9c8c) #25 std::__1::__async_assoc_state >::__execute() /mnt/pd0/s/w/ir/.cipd/pkgs/4/6camieX0q3QIox057PfPQBYISCbaxzoqw72-5wyzM1oC/bin/../include/c++/v1/future:1036:9 (fm+0x10c9a5d) #26 decltype(*(std::__1::forward >*>(fp0)).*fp()) std::__1::__invoke >::*)(), std::__1::__async_assoc_state >*, void>(void (std::__1::__async_assoc_state >::*&&)(), std::__1::__async_assoc_state >*&&) /mnt/pd0/s/w/ir/.cipd/pkgs/4/6camieX0q3QIox057PfPQBYISCbaxzoqw72-5wyzM1oC/bin/../include/c++/v1/type_traits:3480:1 (fm+0x10cb2de) #27 void std::__1::__thread_execute >, void (std::__1::__async_assoc_state >::*)(), std::__1::__async_assoc_state >*, 2ul>(std::__1::tuple >, void (std::__1::__async_assoc_state >::*)(), std::__1::__async_assoc_state >*>&, std::__1::__tuple_indices<2ul>) /mnt/pd0/s/w/ir/.cipd/pkgs/4/6camieX0q3QIox057PfPQBYISCbaxzoqw72-5wyzM1oC/bin/../include/c++/v1/thread:273:5 (fm+0x10cb2de) #28 void* std::__1::__thread_proxy >, void (std::__1::__async_assoc_state >::*)(), std::__1::__async_assoc_state >*> >(void*) /mnt/pd0/s/w/ir/.cipd/pkgs/4/6camieX0q3QIox057PfPQBYISCbaxzoqw72-5wyzM1oC/bin/../include/c++/v1/thread:284:5 (fm+0x10cb2de) Previous write of size 4 at 0x00000301baac by thread T3: [failed to restore the stack] Location is global 'DashCircle2GM::onDraw(SkCanvas*)::kMatrices' of size 280 at 0x00000301ba10 (fm+0x00000301baac) Thread T5 (tid=26394, running) created by main thread at: #0 pthread_create /tmp/tmpZnGzpR/llvm-project/compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp:962 (fm+0x10496b5) #1 std::__1::__libcpp_thread_create(unsigned long*, void* (*)(void*), void*) /mnt/pd0/s/w/ir/.cipd/pkgs/4/6camieX0q3QIox057PfPQBYISCbaxzoqw72-5wyzM1oC/bin/../include/c++/v1/__threading_support:394:10 (fm+0x10c4472) #2 std::__1::thread::thread >::*)(), std::__1::__async_assoc_state >*, void>(void (std::__1::__async_assoc_state >::*&&)(), std::__1::__async_assoc_state >*&&) /mnt/pd0/s/w/ir/.cipd/pkgs/4/6camieX0q3QIox057PfPQBYISCbaxzoqw72-5wyzM1oC/bin/../include/c++/v1/thread:300:16 (fm+0x10c4472) #3 std::__1::future std::__1::__make_async_assoc_state >(std::__1::__async_func&&) /mnt/pd0/s/w/ir/.cipd/pkgs/4/6camieX0q3QIox057PfPQBYISCbaxzoqw72-5wyzM1oC/bin/../include/c++/v1/future:2291:5 (fm+0x10c4472) #4 std::__1::future::type>::type> std::__1::async(std::__1::launch, main::$_1&&) /mnt/pd0/s/w/ir/.cipd/pkgs/4/6camieX0q3QIox057PfPQBYISCbaxzoqw72-5wyzM1oC/bin/../include/c++/v1/future:2340:16 (fm+0x10c4472) #5 main /mnt/pd0/s/w/ir/cache/work/skia/out/Build-Debian10-Clang-x86_64-Release-TSAN/Release/../../../../../../skia/tools/fm/fm.cpp:554:26 (fm+0x10c4472) Thread T3 (tid=26390, finished) created by main thread at: #0 pthread_create /tmp/tmpZnGzpR/llvm-project/compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp:962 (fm+0x10496b5) #1 std::__1::__libcpp_thread_create(unsigned long*, void* (*)(void*), void*) /mnt/pd0/s/w/ir/.cipd/pkgs/4/6camieX0q3QIox057PfPQBYISCbaxzoqw72-5wyzM1oC/bin/../include/c++/v1/__threading_support:394:10 (fm+0x10c4472) #2 std::__1::thread::thread >::*)(), std::__1::__async_assoc_state >*, void>(void (std::__1::__async_assoc_state >::*&&)(), std::__1::__async_assoc_state >*&&) /mnt/pd0/s/w/ir/.cipd/pkgs/4/6camieX0q3QIox057PfPQBYISCbaxzoqw72-5wyzM1oC/bin/../include/c++/v1/thread:300:16 (fm+0x10c4472) #3 std::__1::future std::__1::__make_async_assoc_state >(std::__1::__async_func&&) /mnt/pd0/s/w/ir/.cipd/pkgs/4/6camieX0q3QIox057PfPQBYISCbaxzoqw72-5wyzM1oC/bin/../include/c++/v1/future:2291:5 (fm+0x10c4472) #4 std::__1::future::type>::type> std::__1::async(std::__1::launch, main::$_1&&) /mnt/pd0/s/w/ir/.cipd/pkgs/4/6camieX0q3QIox057PfPQBYISCbaxzoqw72-5wyzM1oC/bin/../include/c++/v1/future:2340:16 (fm+0x10c4472) #5 main /mnt/pd0/s/w/ir/cache/work/skia/out/Build-Debian10-Clang-x86_64-Release-TSAN/Release/../../../../../../skia/tools/fm/fm.cpp:554:26 (fm+0x10c4472) SUMMARY: ThreadSanitizer: data race /mnt/pd0/s/w/ir/cache/work/skia/out/Build-Debian10-Clang-x86_64-Release-TSAN/Release/../../../../../../skia/include/core/SkMatrix.h:202:13 in SkMatrix::getType() const ================== ThreadSanitizer: reported 5 warnings dashcircle2 dashcircle2 11e0fe91d34424c0c5acae11460a9b13 1005ms dashcircle2 11e0fe91d34424c0c5acae11460a9b13 507ms 11e0fe91d34424c0c5acae11460a9b13 3231ms