Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

ThreadSanitizer doesn't like crossbeam_deque? #589

Closed
Gankra opened this issue Nov 2, 2020 · 4 comments · Fixed by #591
Closed

ThreadSanitizer doesn't like crossbeam_deque? #589

Gankra opened this issue Nov 2, 2020 · 4 comments · Fixed by #591

Comments

@Gankra
Copy link

Gankra commented Nov 2, 2020

Not 100% sure if this is crossbeam's issue, or how rayon's using crossbeam, but filing the issue here as well (see rayon-rs/rayon#812)


I'm working on increasing the tsan coverage in firefox, and it appears that tsan doesn't understand whatever tricks you're using in crossbeam_deque.

If this design is relying on fences, it's a known issue that tsan doesn't work well with them. Although this is probably not a correctness issue, making crossbeam more tsan friendly would probably be good to do.

Firefox CI failure

Archived tsan backtrace
[task 2020-11-02T16:29:43.904Z] 16:29:43     INFO - GECKO(3384) | ==================
[task 2020-11-02T16:29:43.905Z] 16:29:43     INFO - GECKO(3384) | WARNING: ThreadSanitizer: data race (pid=3457)
[task 2020-11-02T16:29:43.905Z] 16:29:43     INFO - GECKO(3384) |   Write of size 8 at 0x7b80001712e0 by thread T22:
[task 2020-11-02T16:29:43.906Z] 16:29:43     INFO - GECKO(3384) |     #0 free /builds/worker/fetches/llvm-project/llvm/projects/compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp:708:3 (firefox+0x55468)
[task 2020-11-02T16:29:43.907Z] 16:29:43     INFO - GECKO(3384) |     #1 std::sys::unix::alloc::_$LT$impl$u20$core..alloc..global..GlobalAlloc$u20$for$u20$std..alloc..System$GT$::dealloc::h904bd78302259e53 /builds/worker/fetches/rustc/lib/rustlib/src/rust/library/std/src/sys/unix/alloc.rs:42:9 (libxul.so+0x819ede6)
[task 2020-11-02T16:29:43.908Z] 16:29:43     INFO - GECKO(3384) |     #2 __rdl_dealloc /builds/worker/fetches/rustc/lib/rustlib/src/rust/library/std/src/alloc.rs:364:18 (libxul.so+0x819ede6)
[task 2020-11-02T16:29:43.909Z] 16:29:43     INFO - GECKO(3384) |     #3 alloc::alloc::dealloc::h358895a269b9d524 /builds/worker/fetches/rustc/lib/rustlib/src/rust/library/alloc/src/alloc.rs:92:14 (libxul.so+0x8680695)
[task 2020-11-02T16:29:43.909Z] 16:29:43     INFO - GECKO(3384) |     #4 _$LT$alloc..alloc..Global$u20$as$u20$core..alloc..AllocRef$GT$::dealloc::h403eb10ab4e07cf9 /builds/worker/fetches/rustc/lib/rustlib/src/rust/library/alloc/src/alloc.rs:225:22 (libxul.so+0x8680695)
[task 2020-11-02T16:29:43.910Z] 16:29:43     INFO - GECKO(3384) |     #5 _$LT$alloc..raw_vec..RawVec$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$::drop::h0e5ef6db394722a9 /builds/worker/fetches/rustc/lib/rustlib/src/rust/library/alloc/src/raw_vec.rs:504:22 (libxul.so+0x8680695)
[task 2020-11-02T16:29:43.911Z] 16:29:43     INFO - GECKO(3384) |     #6 core::ptr::drop_in_place::hf6640de8513b2b64 /builds/worker/fetches/rustc/lib/rustlib/src/rust/library/core/src/ptr/mod.rs:175:1 (libxul.so+0x8680695)
[task 2020-11-02T16:29:43.912Z] 16:29:43     INFO - GECKO(3384) |     #7 core::ptr::drop_in_place::h024df30f698f6fd2 /builds/worker/fetches/rustc/lib/rustlib/src/rust/library/core/src/ptr/mod.rs:175:1 (libxul.so+0x8680695)
[task 2020-11-02T16:29:43.912Z] 16:29:43     INFO - GECKO(3384) |     #8 core::mem::drop::h92bdce26849631c3 /builds/worker/fetches/rustc/lib/rustlib/src/rust/library/core/src/mem/mod.rs:881:24 (libxul.so+0x8680695)
[task 2020-11-02T16:29:43.913Z] 16:29:43     INFO - GECKO(3384) |     #9 crossbeam_deque::Buffer$LT$T$GT$::dealloc::h8197b1057cb75abb /builds/worker/checkouts/gecko/third_party/rust/crossbeam-deque/src/lib.rs:144:9 (libxul.so+0x8680695)
[task 2020-11-02T16:29:43.914Z] 16:29:43     INFO - GECKO(3384) |     #10 crossbeam_deque::Worker$LT$T$GT$::resize::_$u7b$$u7b$closure$u7d$$u7d$::h0e9b75bf991ff20b /builds/worker/checkouts/gecko/third_party/rust/crossbeam-deque/src/lib.rs:399:39 (libxul.so+0x8680695)
[task 2020-11-02T16:29:43.915Z] 16:29:43     INFO - GECKO(3384) |     #11 crossbeam_epoch::guard::Guard::defer_unchecked::_$u7b$$u7b$closure$u7d$$u7d$::h3bde31509a9b3e2c /builds/worker/checkouts/gecko/third_party/rust/crossbeam-epoch/src/guard.rs:195:52 (libxul.so+0x8680695)
[task 2020-11-02T16:29:43.915Z] 16:29:43     INFO - GECKO(3384) |     #12 crossbeam_epoch::deferred::Deferred::new::call::h08d84cf9b4062347 /builds/worker/checkouts/gecko/third_party/rust/crossbeam-epoch/src/deferred.rs:47:21 (libxul.so+0x8680695)
[task 2020-11-02T16:29:43.916Z] 16:29:43     INFO - GECKO(3384) |     #13 crossbeam_epoch::deferred::Deferred::call::hff39feccfda06e29 /builds/worker/checkouts/gecko/third_party/rust/crossbeam-epoch/src/deferred.rs:81:18 (libxul.so+0x7a02835)
[task 2020-11-02T16:29:43.917Z] 16:29:43     INFO - GECKO(3384) |     #14 _$LT$crossbeam_epoch..internal..Bag$u20$as$u20$core..ops..drop..Drop$GT$::drop::hdbf4ce8cd96c1153 /builds/worker/checkouts/gecko/third_party/rust/crossbeam-epoch/src/internal.rs:139:13 (libxul.so+0x7a02835)
[task 2020-11-02T16:29:43.917Z] 16:29:43     INFO - GECKO(3384) |     #15 core::ptr::drop_in_place::h77ed1757a59d8add /builds/worker/fetches/rustc/lib/rustlib/src/rust/library/core/src/ptr/mod.rs:175:1 (libxul.so+0x7a02835)
[task 2020-11-02T16:29:43.918Z] 16:29:43     INFO - GECKO(3384) |     #16 core::ptr::drop_in_place::h32e0c3aff5307d1d /builds/worker/fetches/rustc/lib/rustlib/src/rust/library/core/src/ptr/mod.rs:175:1 (libxul.so+0x7a02835)
[task 2020-11-02T16:29:43.919Z] 16:29:43     INFO - GECKO(3384) |     #17 core::mem::drop::hf57e286fdac32cb2 /builds/worker/fetches/rustc/lib/rustlib/src/rust/library/core/src/mem/mod.rs:881:24 (libxul.so+0x7a02835)
[task 2020-11-02T16:29:43.920Z] 16:29:43     INFO - GECKO(3384) |     #18 crossbeam_epoch::internal::Global::collect::h9e1bdddb67fc435b /builds/worker/checkouts/gecko/third_party/rust/crossbeam-epoch/src/internal.rs:231:37 (libxul.so+0x7a02835)
[task 2020-11-02T16:29:43.920Z] 16:29:43     INFO - GECKO(3384) |     #19 crossbeam_epoch::internal::Local::pin::ha695f85d9ce59f95 /builds/worker/checkouts/gecko/third_party/rust/crossbeam-epoch/src/internal.rs:433:17 (libxul.so+0x8035390)
[task 2020-11-02T16:29:43.921Z] 16:29:43     INFO - GECKO(3384) |     #20 crossbeam_epoch::collector::LocalHandle::pin::h15ee1f3e069b4836 /builds/worker/checkouts/gecko/third_party/rust/crossbeam-epoch/src/collector.rs:75:18 (libxul.so+0x8035390)
[task 2020-11-02T16:29:43.923Z] 16:29:43     INFO - GECKO(3384) |     #21 crossbeam_epoch::default::pin::_$u7b$$u7b$closure$u7d$$u7d$::h16878b7f2a05cb0c /builds/worker/checkouts/gecko/third_party/rust/crossbeam-epoch/src/default.rs:23:26 (libxul.so+0x8035390)
[task 2020-11-02T16:29:43.923Z] 16:29:43     INFO - GECKO(3384) |     #22 crossbeam_epoch::default::with_handle::_$u7b$$u7b$closure$u7d$$u7d$::h4db193497007c65e /builds/worker/checkouts/gecko/third_party/rust/crossbeam-epoch/src/default.rs:43:23 (libxul.so+0x8035390)
[task 2020-11-02T16:29:43.924Z] 16:29:43     INFO - GECKO(3384) |     #23 std::thread::local::LocalKey$LT$T$GT$::try_with::h40cde33dc3157aac /builds/worker/fetches/rustc/lib/rustlib/src/rust/library/std/src/thread/local.rs:272:16 (libxul.so+0x8035390)
[task 2020-11-02T16:29:43.924Z] 16:29:43     INFO - GECKO(3384) |     #24 crossbeam_epoch::default::with_handle::h8a2e483a440914c1 /builds/worker/checkouts/gecko/third_party/rust/crossbeam-epoch/src/default.rs:42:5 (libxul.so+0x8035390)
[task 2020-11-02T16:29:43.924Z] 16:29:43     INFO - GECKO(3384) |     #25 crossbeam_epoch::default::pin::h60d388eba8f27ab5 /builds/worker/checkouts/gecko/third_party/rust/crossbeam-epoch/src/default.rs:23:5 (libxul.so+0x8035390)
[task 2020-11-02T16:29:43.925Z] 16:29:43     INFO - GECKO(3384) |     #26 crossbeam_deque::Stealer$LT$T$GT$::steal::hf1be4360911bba0e /builds/worker/checkouts/gecko/third_party/rust/crossbeam-deque/src/lib.rs:694:22 (libxul.so+0x8034e77)
[task 2020-11-02T16:29:43.925Z] 16:29:43     INFO - GECKO(3384) |     #27 rayon_core::registry::WorkerThread::steal::_$u7b$$u7b$closure$u7d$$u7d$::h28b40c1e61f77754 /builds/worker/checkouts/gecko/third_party/rust/rayon-core/src/registry.rs:765:27 (libxul.so+0x8034e77)
[task 2020-11-02T16:29:43.927Z] 16:29:43     INFO - GECKO(3384) |     #28 core::ops::function::impls::_$LT$impl$u20$core..ops..function..FnMut$LT$A$GT$$u20$for$u20$$RF$mut$u20$F$GT$::call_mut::h60923fd1d99cb5fe /builds/worker/fetches/rustc/lib/rustlib/src/rust/library/core/src/ops/function.rs:269:13 (libxul.so+0x8034e77)
[task 2020-11-02T16:29:43.928Z] 16:29:43     INFO - GECKO(3384) |     #29 core::iter::traits::iterator::Iterator::find_map::check::_$u7b$$u7b$closure$u7d$$u7d$::haa784f03b38858fc /builds/worker/fetches/rustc/lib/rustlib/src/rust/library/core/src/iter/traits/iterator.rs:2261:32 (libxul.so+0x8034e77)
[task 2020-11-02T16:29:43.928Z] 16:29:43     INFO - GECKO(3384) |     #30 core::iter::adapters::filter_try_fold::_$u7b$$u7b$closure$u7d$$u7d$::he437a0c21bea1500 /builds/worker/fetches/rustc/lib/rustlib/src/rust/library/core/src/iter/adapters/mod.rs:1078:44 (libxul.so+0x8034e77)
[task 2020-11-02T16:29:43.929Z] 16:29:43     INFO - GECKO(3384) |     #31 core::ops::function::impls::_$LT$impl$u20$core..ops..function..FnMut$LT$A$GT$$u20$for$u20$$RF$mut$u20$F$GT$::call_mut::h170f0037c0f7fa69 /builds/worker/fetches/rustc/lib/rustlib/src/rust/library/core/src/ops/function.rs:269:13 (libxul.so+0x80349a0)
[task 2020-11-02T16:29:43.929Z] 16:29:43     INFO - GECKO(3384) |     #32 core::iter::traits::iterator::Iterator::try_fold::heb95ade5e279fe1e /builds/worker/fetches/rustc/lib/rustlib/src/rust/library/core/src/iter/traits/iterator.rs:1888:21 (libxul.so+0x80349a0)
[task 2020-11-02T16:29:43.930Z] 16:29:43     INFO - GECKO(3384) |     #33 _$LT$core..iter..adapters..chain..Chain$LT$A$C$B$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$::try_fold::h1160a9312c004af8 /builds/worker/fetches/rustc/lib/rustlib/src/rust/library/core/src/iter/adapters/chain.rs:105:19 (libxul.so+0x80349a0)
[task 2020-11-02T16:29:43.931Z] 16:29:43     INFO - GECKO(3384) |     #34 _$LT$core..iter..adapters..Filter$LT$I$C$P$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$::try_fold::h349345346c4a397f /builds/worker/fetches/rustc/lib/rustlib/src/rust/library/core/src/iter/adapters/mod.rs:1127:9 (libxul.so+0x80349a0)
[task 2020-11-02T16:29:43.932Z] 16:29:43     INFO - GECKO(3384) |     #35 core::iter::traits::iterator::Iterator::find_map::hcf1cb491f3a16e7b /builds/worker/fetches/rustc/lib/rustlib/src/rust/library/core/src/iter/traits/iterator.rs:2267:9 (libxul.so+0x80349a0)
[task 2020-11-02T16:29:43.932Z] 16:29:43     INFO - GECKO(3384) |     #36 _$LT$core..iter..adapters..FilterMap$LT$I$C$F$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$::next::h74a6e3a642f9d7dc /builds/worker/fetches/rustc/lib/rustlib/src/rust/library/core/src/iter/adapters/mod.rs:1245:9 (libxul.so+0x80349a0)
[task 2020-11-02T16:29:43.933Z] 16:29:43     INFO - GECKO(3384) |     #37 rayon_core::registry::WorkerThread::steal::hd08268a35b888f28 /builds/worker/checkouts/gecko/third_party/rust/rayon-core/src/registry.rs:759:9 (libxul.so+0x80349a0)
[task 2020-11-02T16:29:43.933Z] 16:29:43     INFO - GECKO(3384) |     #38 rayon_core::registry::WorkerThread::wait_until_cold::_$u7b$$u7b$closure$u7d$$u7d$::h7a0f4b83d87d4449 /builds/worker/checkouts/gecko/third_party/rust/rayon-core/src/registry.rs:715:29 (libxul.so+0x8035c93)
[task 2020-11-02T16:29:43.934Z] 16:29:43     INFO - GECKO(3384) |     #39 core::option::Option$LT$T$GT$::or_else::hbe865f7ac583246b /builds/worker/fetches/rustc/lib/rustlib/src/rust/library/core/src/option.rs:752:21 (libxul.so+0x8035c93)
[task 2020-11-02T16:29:43.935Z] 16:29:43     INFO - GECKO(3384) |     #40 rayon_core::registry::WorkerThread::wait_until_cold::h418336e364ee99e4 /builds/worker/checkouts/gecko/third_party/rust/rayon-core/src/registry.rs:713:32 (libxul.so+0x8035c93)
[task 2020-11-02T16:29:43.936Z] 16:29:43     INFO - GECKO(3384) |     #41 rayon_core::registry::WorkerThread::wait_until::hc4df4475bcc8cf8a /builds/worker/checkouts/gecko/third_party/rust/rayon-core/src/registry.rs:693:13 (libxul.so+0x8037642)
[task 2020-11-02T16:29:43.936Z] 16:29:43     INFO - GECKO(3384) |     #42 rayon_core::registry::main_loop::h8b28de35e2c4a82e /builds/worker/checkouts/gecko/third_party/rust/rayon-core/src/registry.rs:813:5 (libxul.so+0x8037642)
[task 2020-11-02T16:29:43.937Z] 16:29:43     INFO - GECKO(3384) |     #43 rayon_core::registry::ThreadBuilder::run::hd13e1ad36b0532ef /builds/worker/checkouts/gecko/third_party/rust/rayon-core/src/registry.rs:58:18 (libxul.so+0x8037642)
[task 2020-11-02T16:29:43.937Z] 16:29:43     INFO - GECKO(3384) |     #44 _$LT$rayon_core..registry..DefaultSpawn$u20$as$u20$rayon_core..registry..ThreadSpawn$GT$::spawn::_$u7b$$u7b$closure$u7d$$u7d$::h3708d056ad1a975f /builds/worker/checkouts/gecko/third_party/rust/rayon-core/src/registry.rs:103:20 (libxul.so+0x8037642)
[task 2020-11-02T16:29:43.938Z] 16:29:43     INFO - GECKO(3384) |     #45 std::sys_common::backtrace::__rust_begin_short_backtrace::h706b9c648746debb /builds/worker/fetches/rustc/lib/rustlib/src/rust/library/std/src/sys_common/backtrace.rs:137:18 (libxul.so+0x8037642)
[task 2020-11-02T16:29:43.940Z] 16:29:43     INFO - GECKO(3384) |     #46 std::thread::Builder::spawn_unchecked::_$u7b$$u7b$closure$u7d$$u7d$::_$u7b$$u7b$closure$u7d$$u7d$::hcf19dff2c905a334 /builds/worker/fetches/rustc/lib/rustlib/src/rust/library/std/src/thread/mod.rs:464:17 (libxul.so+0x8036961)
[task 2020-11-02T16:29:43.940Z] 16:29:43     INFO - GECKO(3384) |     #47 _$LT$std..panic..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::h291be0176e73da1c /builds/worker/fetches/rustc/lib/rustlib/src/rust/library/std/src/panic.rs:308:9 (libxul.so+0x8036961)
[task 2020-11-02T16:29:43.941Z] 16:29:43     INFO - GECKO(3384) |     #48 std::panicking::try::do_call::h3bb197dc45a843fa /builds/worker/fetches/rustc/lib/rustlib/src/rust/library/std/src/panicking.rs:381:40 (libxul.so+0x8036961)
[task 2020-11-02T16:29:43.941Z] 16:29:43     INFO - GECKO(3384) |     #49 std::panicking::try::h1e496f98de7247d5 /builds/worker/fetches/rustc/lib/rustlib/src/rust/library/std/src/panicking.rs:345:19 (libxul.so+0x8036961)
[task 2020-11-02T16:29:43.942Z] 16:29:43     INFO - GECKO(3384) |     #50 std::panic::catch_unwind::h7d0333dfb60f1566 /builds/worker/fetches/rustc/lib/rustlib/src/rust/library/std/src/panic.rs:382:14 (libxul.so+0x8036961)
[task 2020-11-02T16:29:43.942Z] 16:29:43     INFO - GECKO(3384) |     #51 std::thread::Builder::spawn_unchecked::_$u7b$$u7b$closure$u7d$$u7d$::h456ad1847eb84c63 /builds/worker/fetches/rustc/lib/rustlib/src/rust/library/std/src/thread/mod.rs:463:30 (libxul.so+0x8036961)
[task 2020-11-02T16:29:43.944Z] 16:29:43     INFO - GECKO(3384) |     #52 core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h8f96cc4188114fce /builds/worker/fetches/rustc/lib/rustlib/src/rust/library/core/src/ops/function.rs:227:5 (libxul.so+0x8036961)
[task 2020-11-02T16:29:43.944Z] 16:29:43     INFO - GECKO(3384) |     #53 std::thread::Builder::spawn_unchecked::_$u7b$$u7b$closure$u7d$$u7d$::_$u7b$$u7b$closure$u7d$$u7d$::hcf19dff2c905a334 /builds/worker/fetches/rustc/lib/rustlib/src/rust/library/std/src/thread/mod.rs:464:17 (libxul.so+0x8036961)
[task 2020-11-02T16:29:43.945Z] 16:29:43     INFO - GECKO(3384) |     #54 _$LT$std..panic..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::h291be0176e73da1c /builds/worker/fetches/rustc/lib/rustlib/src/rust/library/std/src/panic.rs:308:9 (libxul.so+0x8036961)
[task 2020-11-02T16:29:43.945Z] 16:29:43     INFO - GECKO(3384) |     #55 std::panicking::try::do_call::h3bb197dc45a843fa /builds/worker/fetches/rustc/lib/rustlib/src/rust/library/std/src/panicking.rs:381:40 (libxul.so+0x8036961)
[task 2020-11-02T16:29:43.946Z] 16:29:43     INFO - GECKO(3384) |     #56 std::panicking::try::h1e496f98de7247d5 /builds/worker/fetches/rustc/lib/rustlib/src/rust/library/std/src/panicking.rs:345:19 (libxul.so+0x8036961)
[task 2020-11-02T16:29:43.946Z] 16:29:43     INFO - GECKO(3384) |     #57 std::panic::catch_unwind::h7d0333dfb60f1566 /builds/worker/fetches/rustc/lib/rustlib/src/rust/library/std/src/panic.rs:382:14 (libxul.so+0x8036961)
[task 2020-11-02T16:29:43.948Z] 16:29:43     INFO - GECKO(3384) |     #58 std::thread::Builder::spawn_unchecked::_$u7b$$u7b$closure$u7d$$u7d$::h456ad1847eb84c63 /builds/worker/fetches/rustc/lib/rustlib/src/rust/library/std/src/thread/mod.rs:463:30 (libxul.so+0x8036961)
[task 2020-11-02T16:29:43.948Z] 16:29:43     INFO - GECKO(3384) |     #59 core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h8f96cc4188114fce /builds/worker/fetches/rustc/lib/rustlib/src/rust/library/core/src/ops/function.rs:227:5 (libxul.so+0x8036961)
[task 2020-11-02T16:29:43.949Z] 16:29:43     INFO - GECKO(3384) |     #60 _$LT$alloc..boxed..Box$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$A$GT$$GT$::call_once::h1d48b3ddaef847cc /builds/worker/fetches/rustc/lib/rustlib/src/rust/library/alloc/src/boxed.rs:1042:9 (libxul.so+0x81a1036)
[task 2020-11-02T16:29:43.949Z] 16:29:43     INFO - GECKO(3384) |     #61 _$LT$alloc..boxed..Box$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$A$GT$$GT$::call_once::hbf18e6b2580d74f3 /builds/worker/fetches/rustc/lib/rustlib/src/rust/library/alloc/src/boxed.rs:1042:9 (libxul.so+0x81a1036)
[task 2020-11-02T16:29:43.950Z] 16:29:43     INFO - GECKO(3384) |     #62 std::sys::unix::thread::Thread::new::thread_start::hf3347c71ec856762 /builds/worker/fetches/rustc/lib/rustlib/src/rust/library/std/src/sys/unix/thread.rs:87:17 (libxul.so+0x81a1036)
[task 2020-11-02T16:29:43.951Z] 16:29:43     INFO - GECKO(3384) |   Previous read of size 8 at 0x7b80001712e0 by thread T21:
[task 2020-11-02T16:29:43.951Z] 16:29:43     INFO - GECKO(3384) |     #0 core::ptr::read_volatile::h308471e556d99a28 /builds/worker/fetches/rustc/lib/rustlib/src/rust/library/core/src/ptr/mod.rs:1042:14 (libxul.so+0x8034f00)
[task 2020-11-02T16:29:43.952Z] 16:29:43     INFO - GECKO(3384) |     #1 crossbeam_deque::Buffer$LT$T$GT$::read::h8c5d11c7b6a72354 /builds/worker/checkouts/gecko/third_party/rust/crossbeam-deque/src/lib.rs:170:9 (libxul.so+0x8034f00)
[task 2020-11-02T16:29:43.952Z] 16:29:43     INFO - GECKO(3384) |     #2 crossbeam_deque::Stealer$LT$T$GT$::steal::hf1be4360911bba0e /builds/worker/checkouts/gecko/third_party/rust/crossbeam-deque/src/lib.rs:706:29 (libxul.so+0x8034f00)
[task 2020-11-02T16:29:43.954Z] 16:29:43     INFO - GECKO(3384) |     #3 rayon_core::registry::WorkerThread::steal::_$u7b$$u7b$closure$u7d$$u7d$::h28b40c1e61f77754 /builds/worker/checkouts/gecko/third_party/rust/rayon-core/src/registry.rs:765:27 (libxul.so+0x8034f00)
[task 2020-11-02T16:29:43.955Z] 16:29:43     INFO - GECKO(3384) |     #4 core::ops::function::impls::_$LT$impl$u20$core..ops..function..FnMut$LT$A$GT$$u20$for$u20$$RF$mut$u20$F$GT$::call_mut::h60923fd1d99cb5fe /builds/worker/fetches/rustc/lib/rustlib/src/rust/library/core/src/ops/function.rs:269:13 (libxul.so+0x8034f00)
[task 2020-11-02T16:29:43.955Z] 16:29:43     INFO - GECKO(3384) |     #5 core::iter::traits::iterator::Iterator::find_map::check::_$u7b$$u7b$closure$u7d$$u7d$::haa784f03b38858fc /builds/worker/fetches/rustc/lib/rustlib/src/rust/library/core/src/iter/traits/iterator.rs:2261:32 (libxul.so+0x8034f00)
[task 2020-11-02T16:29:43.956Z] 16:29:43     INFO - GECKO(3384) |     #6 core::iter::adapters::filter_try_fold::_$u7b$$u7b$closure$u7d$$u7d$::he437a0c21bea1500 /builds/worker/fetches/rustc/lib/rustlib/src/rust/library/core/src/iter/adapters/mod.rs:1078:44 (libxul.so+0x8034f00)
[task 2020-11-02T16:29:43.956Z] 16:29:43     INFO - GECKO(3384) |     #7 core::ops::function::impls::_$LT$impl$u20$core..ops..function..FnMut$LT$A$GT$$u20$for$u20$$RF$mut$u20$F$GT$::call_mut::h170f0037c0f7fa69 /builds/worker/fetches/rustc/lib/rustlib/src/rust/library/core/src/ops/function.rs:269:13 (libxul.so+0x80349a0)
[task 2020-11-02T16:29:43.957Z] 16:29:43     INFO - GECKO(3384) |     #8 core::iter::traits::iterator::Iterator::try_fold::heb95ade5e279fe1e /builds/worker/fetches/rustc/lib/rustlib/src/rust/library/core/src/iter/traits/iterator.rs:1888:21 (libxul.so+0x80349a0)
[task 2020-11-02T16:29:43.958Z] 16:29:43     INFO - GECKO(3384) |     #9 _$LT$core..iter..adapters..chain..Chain$LT$A$C$B$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$::try_fold::h1160a9312c004af8 /builds/worker/fetches/rustc/lib/rustlib/src/rust/library/core/src/iter/adapters/chain.rs:105:19 (libxul.so+0x80349a0)
[task 2020-11-02T16:29:43.959Z] 16:29:43     INFO - GECKO(3384) |     #10 _$LT$core..iter..adapters..Filter$LT$I$C$P$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$::try_fold::h349345346c4a397f /builds/worker/fetches/rustc/lib/rustlib/src/rust/library/core/src/iter/adapters/mod.rs:1127:9 (libxul.so+0x80349a0)
[task 2020-11-02T16:29:43.960Z] 16:29:43     INFO - GECKO(3384) |     #11 core::iter::traits::iterator::Iterator::find_map::hcf1cb491f3a16e7b /builds/worker/fetches/rustc/lib/rustlib/src/rust/library/core/src/iter/traits/iterator.rs:2267:9 (libxul.so+0x80349a0)
[task 2020-11-02T16:29:43.960Z] 16:29:43     INFO - GECKO(3384) |     #12 _$LT$core..iter..adapters..FilterMap$LT$I$C$F$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$::next::h74a6e3a642f9d7dc /builds/worker/fetches/rustc/lib/rustlib/src/rust/library/core/src/iter/adapters/mod.rs:1245:9 (libxul.so+0x80349a0)
[task 2020-11-02T16:29:43.969Z] 16:29:43     INFO - GECKO(3384) |     #13 rayon_core::registry::WorkerThread::steal::hd08268a35b888f28 /builds/worker/checkouts/gecko/third_party/rust/rayon-core/src/registry.rs:759:9 (libxul.so+0x80349a0)
[task 2020-11-02T16:29:43.969Z] 16:29:43     INFO - GECKO(3384) |     #14 rayon_core::registry::WorkerThread::wait_until_cold::_$u7b$$u7b$closure$u7d$$u7d$::h7a0f4b83d87d4449 /builds/worker/checkouts/gecko/third_party/rust/rayon-core/src/registry.rs:715:29 (libxul.so+0x8035c93)
[task 2020-11-02T16:29:43.969Z] 16:29:43     INFO - GECKO(3384) |     #15 core::option::Option$LT$T$GT$::or_else::hbe865f7ac583246b /builds/worker/fetches/rustc/lib/rustlib/src/rust/library/core/src/option.rs:752:21 (libxul.so+0x8035c93)
[task 2020-11-02T16:29:43.970Z] 16:29:43     INFO - GECKO(3384) |     #16 rayon_core::registry::WorkerThread::wait_until_cold::h418336e364ee99e4 /builds/worker/checkouts/gecko/third_party/rust/rayon-core/src/registry.rs:713:32 (libxul.so+0x8035c93)
[task 2020-11-02T16:29:43.970Z] 16:29:43     INFO - GECKO(3384) |     #17 rayon_core::registry::WorkerThread::wait_until::hc4df4475bcc8cf8a /builds/worker/checkouts/gecko/third_party/rust/rayon-core/src/registry.rs:693:13 (libxul.so+0x8037642)
[task 2020-11-02T16:29:43.970Z] 16:29:43     INFO - GECKO(3384) |     #18 rayon_core::registry::main_loop::h8b28de35e2c4a82e /builds/worker/checkouts/gecko/third_party/rust/rayon-core/src/registry.rs:813:5 (libxul.so+0x8037642)
[task 2020-11-02T16:29:43.972Z] 16:29:43     INFO - GECKO(3384) |     #19 rayon_core::registry::ThreadBuilder::run::hd13e1ad36b0532ef /builds/worker/checkouts/gecko/third_party/rust/rayon-core/src/registry.rs:58:18 (libxul.so+0x8037642)
[task 2020-11-02T16:29:43.973Z] 16:29:43     INFO - GECKO(3384) |     #20 _$LT$rayon_core..registry..DefaultSpawn$u20$as$u20$rayon_core..registry..ThreadSpawn$GT$::spawn::_$u7b$$u7b$closure$u7d$$u7d$::h3708d056ad1a975f /builds/worker/checkouts/gecko/third_party/rust/rayon-core/src/registry.rs:103:20 (libxul.so+0x8037642)
[task 2020-11-02T16:29:43.974Z] 16:29:43     INFO - GECKO(3384) |     #21 std::sys_common::backtrace::__rust_begin_short_backtrace::h706b9c648746debb /builds/worker/fetches/rustc/lib/rustlib/src/rust/library/std/src/sys_common/backtrace.rs:137:18 (libxul.so+0x8037642)
[task 2020-11-02T16:29:43.974Z] 16:29:43     INFO - GECKO(3384) |     #22 std::thread::Builder::spawn_unchecked::_$u7b$$u7b$closure$u7d$$u7d$::_$u7b$$u7b$closure$u7d$$u7d$::hcf19dff2c905a334 /builds/worker/fetches/rustc/lib/rustlib/src/rust/library/std/src/thread/mod.rs:464:17 (libxul.so+0x8036961)
[task 2020-11-02T16:29:43.975Z] 16:29:43     INFO - GECKO(3384) |     #23 _$LT$std..panic..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::h291be0176e73da1c /builds/worker/fetches/rustc/lib/rustlib/src/rust/library/std/src/panic.rs:308:9 (libxul.so+0x8036961)
[task 2020-11-02T16:29:43.975Z] 16:29:43     INFO - GECKO(3384) |     #24 std::panicking::try::do_call::h3bb197dc45a843fa /builds/worker/fetches/rustc/lib/rustlib/src/rust/library/std/src/panicking.rs:381:40 (libxul.so+0x8036961)
[task 2020-11-02T16:29:43.976Z] 16:29:43     INFO - GECKO(3384) |     #25 std::panicking::try::h1e496f98de7247d5 /builds/worker/fetches/rustc/lib/rustlib/src/rust/library/std/src/panicking.rs:345:19 (libxul.so+0x8036961)
[task 2020-11-02T16:29:43.976Z] 16:29:43     INFO - GECKO(3384) |     #26 std::panic::catch_unwind::h7d0333dfb60f1566 /builds/worker/fetches/rustc/lib/rustlib/src/rust/library/std/src/panic.rs:382:14 (libxul.so+0x8036961)
[task 2020-11-02T16:29:43.977Z] 16:29:43     INFO - GECKO(3384) |     #27 std::thread::Builder::spawn_unchecked::_$u7b$$u7b$closure$u7d$$u7d$::h456ad1847eb84c63 /builds/worker/fetches/rustc/lib/rustlib/src/rust/library/std/src/thread/mod.rs:463:30 (libxul.so+0x8036961)
[task 2020-11-02T16:29:43.977Z] 16:29:43     INFO - GECKO(3384) |     #28 core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h8f96cc4188114fce /builds/worker/fetches/rustc/lib/rustlib/src/rust/library/core/src/ops/function.rs:227:5 (libxul.so+0x8036961)
[task 2020-11-02T16:29:43.979Z] 16:29:43     INFO - GECKO(3384) |     #29 std::thread::Builder::spawn_unchecked::_$u7b$$u7b$closure$u7d$$u7d$::_$u7b$$u7b$closure$u7d$$u7d$::hcf19dff2c905a334 /builds/worker/fetches/rustc/lib/rustlib/src/rust/library/std/src/thread/mod.rs:464:17 (libxul.so+0x8036961)
[task 2020-11-02T16:29:43.979Z] 16:29:43     INFO - GECKO(3384) |     #30 _$LT$std..panic..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::h291be0176e73da1c /builds/worker/fetches/rustc/lib/rustlib/src/rust/library/std/src/panic.rs:308:9 (libxul.so+0x8036961)
[task 2020-11-02T16:29:43.979Z] 16:29:43     INFO - GECKO(3384) |     #31 std::panicking::try::do_call::h3bb197dc45a843fa /builds/worker/fetches/rustc/lib/rustlib/src/rust/library/std/src/panicking.rs:381:40 (libxul.so+0x8036961)
[task 2020-11-02T16:29:43.979Z] 16:29:43     INFO - GECKO(3384) |     #32 std::panicking::try::h1e496f98de7247d5 /builds/worker/fetches/rustc/lib/rustlib/src/rust/library/std/src/panicking.rs:345:19 (libxul.so+0x8036961)
[task 2020-11-02T16:29:43.979Z] 16:29:43     INFO - GECKO(3384) |     #33 std::panic::catch_unwind::h7d0333dfb60f1566 /builds/worker/fetches/rustc/lib/rustlib/src/rust/library/std/src/panic.rs:382:14 (libxul.so+0x8036961)
[task 2020-11-02T16:29:43.979Z] 16:29:43     INFO - GECKO(3384) |     #34 std::thread::Builder::spawn_unchecked::_$u7b$$u7b$closure$u7d$$u7d$::h456ad1847eb84c63 /builds/worker/fetches/rustc/lib/rustlib/src/rust/library/std/src/thread/mod.rs:463:30 (libxul.so+0x8036961)
[task 2020-11-02T16:29:43.979Z] 16:29:43     INFO - GECKO(3384) |     #35 core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h8f96cc4188114fce /builds/worker/fetches/rustc/lib/rustlib/src/rust/library/core/src/ops/function.rs:227:5 (libxul.so+0x8036961)
[task 2020-11-02T16:29:43.980Z] 16:29:43     INFO - GECKO(3384) |     #36 _$LT$alloc..boxed..Box$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$A$GT$$GT$::call_once::h1d48b3ddaef847cc /builds/worker/fetches/rustc/lib/rustlib/src/rust/library/alloc/src/boxed.rs:1042:9 (libxul.so+0x81a1036)
[task 2020-11-02T16:29:43.980Z] 16:29:43     INFO - GECKO(3384) |     #37 _$LT$alloc..boxed..Box$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$A$GT$$GT$::call_once::hbf18e6b2580d74f3 /builds/worker/fetches/rustc/lib/rustlib/src/rust/library/alloc/src/boxed.rs:1042:9 (libxul.so+0x81a1036)
[task 2020-11-02T16:29:43.980Z] 16:29:43     INFO - GECKO(3384) |     #38 std::sys::unix::thread::Thread::new::thread_start::hf3347c71ec856762 /builds/worker/fetches/rustc/lib/rustlib/src/rust/library/std/src/sys/unix/thread.rs:87:17 (libxul.so+0x81a1036)
[task 2020-11-02T16:29:43.980Z] 16:29:43     INFO - GECKO(3384) |   Thread T22 'StyleThread#2' (tid=3522, running) created by main thread at:
[task 2020-11-02T16:29:43.980Z] 16:29:43     INFO - GECKO(3384) |     #0 pthread_create /builds/worker/fetches/llvm-project/llvm/projects/compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp:966:3 (firefox+0x5667b)
[task 2020-11-02T16:29:43.980Z] 16:29:43     INFO - GECKO(3384) |     #1 std::sys::unix::thread::Thread::new::h828bcbf015d72557 /builds/worker/fetches/rustc/lib/rustlib/src/rust/library/std/src/sys/unix/thread.rs:66:19 (libxul.so+0x81a0c05)
[task 2020-11-02T16:29:43.980Z] 16:29:43     INFO - GECKO(3384) |     #2 std::thread::Builder::spawn_unchecked::hd0401fe5cd051ab0 /builds/worker/fetches/rustc/lib/rustlib/src/rust/library/std/src/thread/mod.rs:488:22 (libxul.so+0x8036515)
[task 2020-11-02T16:29:43.980Z] 16:29:43     INFO - GECKO(3384) |     #3 std::thread::Builder::spawn::h48168d269111e821 /builds/worker/fetches/rustc/lib/rustlib/src/rust/library/std/src/thread/mod.rs:376:18 (libxul.so+0x8036515)
[task 2020-11-02T16:29:43.980Z] 16:29:43     INFO - GECKO(3384) |     #4 _$LT$rayon_core..registry..DefaultSpawn$u20$as$u20$rayon_core..registry..ThreadSpawn$GT$::spawn::h3db05523458a4ea6 /builds/worker/checkouts/gecko/third_party/rust/rayon-core/src/registry.rs:103:9 (libxul.so+0x8036515)
[task 2020-11-02T16:29:43.980Z] 16:29:43     INFO - GECKO(3384) |     #5 rayon_core::registry::Registry::new::hac523ca08852ee0a /builds/worker/checkouts/gecko/third_party/rust/rayon-core/src/registry.rs:259:29 (libxul.so+0x82d5a8c)
[task 2020-11-02T16:29:43.980Z] 16:29:43     INFO - GECKO(3384) |     #6 rayon_core::thread_pool::ThreadPool::build::h0f3c4f80bac3af40 /builds/worker/checkouts/gecko/third_party/rust/rayon-core/src/thread_pool/mod.rs:70:24 (libxul.so+0x82d5a8c)
[task 2020-11-02T16:29:43.988Z] 16:29:43     INFO - GECKO(3384) |     #7 rayon_core::ThreadPoolBuilder$LT$S$GT$::build::h63165b1c68034cc0 /builds/worker/checkouts/gecko/third_party/rust/rayon-core/src/lib.rs:216:9 (libxul.so+0x82d5a8c)
[task 2020-11-02T16:29:43.990Z] 16:29:43     INFO - GECKO(3384) |     #8 _$LT$style..global_style_data..STYLE_THREAD_POOL$u20$as$u20$core..ops..deref..Deref$GT$::deref::__static_ref_initialize::ha3b676d2df323580 /builds/worker/checkouts/gecko/servo/components/style/global_style_data.rs:152:27 (libxul.so+0x82d5a8c)
[task 2020-11-02T16:29:43.990Z] 16:29:43     INFO - GECKO(3384) |     #9 core::ops::function::FnOnce::call_once::hd5c8ed57bd623c19 /builds/worker/fetches/rustc/lib/rustlib/src/rust/library/core/src/ops/function.rs:227:5 (libxul.so+0x82d5a8c)
[task 2020-11-02T16:29:43.990Z] 16:29:43     INFO - GECKO(3384) |     #10 lazy_static::lazy::Lazy$LT$T$GT$::get::_$u7b$$u7b$closure$u7d$$u7d$::hbeddb26531422c5c /builds/worker/checkouts/gecko/third_party/rust/lazy_static/src/inline_lazy.rs:31:29 (libxul.so+0x82d5a8c)
[task 2020-11-02T16:29:43.991Z] 16:29:43     INFO - GECKO(3384) |     #11 std::sync::once::Once::call_once::_$u7b$$u7b$closure$u7d$$u7d$::h8bafef3f662e87e1 /builds/worker/fetches/rustc/lib/rustlib/src/rust/library/std/src/sync/once.rs:261:41 (libxul.so+0x82d5a8c)
[task 2020-11-02T16:29:43.991Z] 16:29:43     INFO - GECKO(3384) |     #12 std::sync::once::Once::call_inner::h76a14c6380371ac9 /builds/worker/fetches/rustc/lib/rustlib/src/rust/library/std/src/sync/once.rs:419:21 (libxul.so+0x81935a2)
[task 2020-11-02T16:29:43.991Z] 16:29:43     INFO - GECKO(3384) |     #13 std::sync::once::Once::call_once::h49807469250c6d0e /builds/worker/fetches/rustc/lib/rustlib/src/rust/library/std/src/sync/once.rs:261:9 (libxul.so+0x84e06cd)
[task 2020-11-02T16:29:43.991Z] 16:29:43     INFO - GECKO(3384) |     #14 lazy_static::lazy::Lazy$LT$T$GT$::get::hb876fa87e27b6e06 /builds/worker/checkouts/gecko/third_party/rust/lazy_static/src/inline_lazy.rs:30:9 (libxul.so+0x84e06cd)
[task 2020-11-02T16:29:43.993Z] 16:29:43     INFO - GECKO(3384) |     #15 _$LT$style..global_style_data..STYLE_THREAD_POOL$u20$as$u20$core..ops..deref..Deref$GT$::deref::__stability::h616d8550731da685 /builds/worker/checkouts/gecko/third_party/rust/lazy_static/src/lib.rs:142:21 (libxul.so+0x84e06cd)
[task 2020-11-02T16:29:43.996Z] 16:29:43     INFO - GECKO(3384) |     #16 _$LT$style..global_style_data..STYLE_THREAD_POOL$u20$as$u20$core..ops..deref..Deref$GT$::deref::h146ea3676b701098 /builds/worker/checkouts/gecko/third_party/rust/lazy_static/src/lib.rs:144:17 (libxul.so+0x84e06cd)
[task 2020-11-02T16:29:43.996Z] 16:29:43     INFO - GECKO(3384) |     #17 geckoservo::glue::traverse_subtree::hb842b52933c4b79e /builds/worker/checkouts/gecko/servo/ports/geckolib/glue.rs:257:31 (libxul.so+0x7bdbfcc)
[task 2020-11-02T16:29:43.996Z] 16:29:43     INFO - GECKO(3384) |     #18 Servo_TraverseSubtree /builds/worker/checkouts/gecko/servo/ports/geckolib/glue.rs:327:5 (libxul.so+0x7bdba95)
[task 2020-11-02T16:29:43.996Z] 16:29:43     INFO - GECKO(3384) |     #19 mozilla::ServoStyleSet::StyleNewSubtree(mozilla::dom::Element*) /builds/worker/checkouts/gecko/layout/style/ServoStyleSet.cpp:806:7 (libxul.so+0x4c7880d)
[task 2020-11-02T16:29:43.996Z] 16:29:43     INFO - GECKO(3384) |     #20 nsCSSFrameConstructor::ConstructDocElementFrame(mozilla::dom::Element*) /builds/worker/checkouts/gecko/layout/base/nsCSSFrameConstructor.cpp:2164:29 (libxul.so+0x4d5bc13)
[task 2020-11-02T16:29:43.996Z] 16:29:43     INFO - GECKO(3384) |     #21 nsCSSFrameConstructor::ContentRangeInserted(nsIContent*, nsIContent*, nsCSSFrameConstructor::InsertionKind) /builds/worker/checkouts/gecko/layout/base/nsCSSFrameConstructor.cpp:6929:9 (libxul.so+0x4d6ca4c)
[task 2020-11-02T16:29:43.997Z] 16:29:43     INFO - GECKO(3384) |     #22 nsCSSFrameConstructor::ContentInserted(nsIContent*, nsCSSFrameConstructor::InsertionKind) /builds/worker/checkouts/gecko/layout/base/nsCSSFrameConstructor.cpp:6847:3 (libxul.so+0x4d6c631)
[task 2020-11-02T16:29:43.997Z] 16:29:43     INFO - GECKO(3384) |     #23 mozilla::PresShell::Initialize() /builds/worker/checkouts/gecko/layout/base/PresShell.cpp:1866:26 (libxul.so+0x4d0e609)
[task 2020-11-02T16:29:43.997Z] 16:29:43     INFO - GECKO(3384) |     #24 nsContentSink::StartLayout(bool) /builds/worker/checkouts/gecko/dom/base/nsContentSink.cpp:1140:30 (libxul.so+0x25a8bc6)
[task 2020-11-02T16:29:43.997Z] 16:29:43     INFO - GECKO(3384) |     #25 HTMLContentSink::OpenBody() /builds/worker/checkouts/gecko/dom/html/nsHTMLContentSink.cpp:776:3 (libxul.so+0x3aad4b3)
[task 2020-11-02T16:29:44.004Z] 16:29:44     INFO - GECKO(3384) |     #26 HTMLContentSink::OpenContainer(nsIHTMLContentSink::ElementType) /builds/worker/checkouts/gecko/dom/html/nsHTMLContentSink.cpp:795:12 (libxul.so+0x3aad501)
[task 2020-11-02T16:29:44.004Z] 16:29:44     INFO - GECKO(3384) |     #27 non-virtual thunk to HTMLContentSink::OpenContainer(nsIHTMLContentSink::ElementType) /builds/worker/checkouts/gecko/dom/html/nsHTMLContentSink.cpp (libxul.so+0x3aad6a2)
[task 2020-11-02T16:29:44.005Z] 16:29:44     INFO - GECKO(3384) |     #28 CNavDTD::BuildModel(nsITokenizer*, nsIContentSink*) /builds/worker/checkouts/gecko/parser/htmlparser/CNavDTD.cpp:36:14 (libxul.so+0x1b8ac4d)
[task 2020-11-02T16:29:44.005Z] 16:29:44     INFO - GECKO(3384) |     #29 BuildModel /builds/worker/checkouts/gecko/parser/htmlparser/nsParser.cpp:1058:22 (libxul.so+0x1b93071)
[task 2020-11-02T16:29:44.006Z] 16:29:44     INFO - GECKO(3384) |     #30 nsParser::ResumeParse(bool, bool, bool) /builds/worker/checkouts/gecko/parser/htmlparser/nsParser.cpp:963:18 (libxul.so+0x1b93071)
[task 2020-11-02T16:29:44.006Z] 16:29:44     INFO - GECKO(3384) |     #31 OnStopRequest /builds/worker/checkouts/gecko/parser/htmlparser/nsParser.cpp:1352:10 (libxul.so+0x1b959a0)
[task 2020-11-02T16:29:44.006Z] 16:29:44     INFO - GECKO(3384) |     #32 non-virtual thunk to nsParser::OnStopRequest(nsIRequest*, nsresult) /builds/worker/checkouts/gecko/parser/htmlparser/nsParser.cpp (libxul.so+0x1b959a0)
[task 2020-11-02T16:29:44.007Z] 16:29:44     INFO - GECKO(3384) |     #33 nsDocumentOpenInfo::OnStopRequest(nsIRequest*, nsresult) /builds/worker/checkouts/gecko/uriloader/base/nsURILoader.cpp:215:15 (libxul.so+0x1b0f721)
[task 2020-11-02T16:29:44.007Z] 16:29:44     INFO - GECKO(3384) |     #34 nsBaseChannel::OnStopRequest(nsIRequest*, nsresult) /builds/worker/checkouts/gecko/netwerk/base/nsBaseChannel.cpp:853:16 (libxul.so+0xcae4a5)
[task 2020-11-02T16:29:44.007Z] 16:29:44     INFO - GECKO(3384) |     #35 non-virtual thunk to nsBaseChannel::OnStopRequest(nsIRequest*, nsresult) /builds/worker/checkouts/gecko/netwerk/base/nsBaseChannel.cpp (libxul.so+0xcae622)
[task 2020-11-02T16:29:44.007Z] 16:29:44     INFO - GECKO(3384) |     #36 nsInputStreamPump::OnStateStop() /builds/worker/checkouts/gecko/netwerk/base/nsInputStreamPump.cpp:649:16 (libxul.so+0xcd71a3)
[task 2020-11-02T16:29:44.008Z] 16:29:44     INFO - GECKO(3384) |     #37 nsInputStreamPump::OnInputStreamReady(nsIAsyncInputStream*) /builds/worker/checkouts/gecko/netwerk/base/nsInputStreamPump.cpp:397:21 (libxul.so+0xcd62f2)
[task 2020-11-02T16:29:44.008Z] 16:29:44     INFO - GECKO(3384) |     #38 non-virtual thunk to nsInputStreamPump::OnInputStreamReady(nsIAsyncInputStream*) /builds/worker/checkouts/gecko/netwerk/base/nsInputStreamPump.cpp (libxul.so+0xcd7429)
[task 2020-11-02T16:29:44.008Z] 16:29:44     INFO - GECKO(3384) |     #39 RunAsyncWaitCallback /builds/worker/checkouts/gecko/xpcom/io/NonBlockingAsyncInputStream.cpp:397:13 (libxul.so+0xb0da9c)
[task 2020-11-02T16:29:44.009Z] 16:29:44     INFO - GECKO(3384) |     #40 mozilla::NonBlockingAsyncInputStream::AsyncWaitRunnable::Run() /builds/worker/checkouts/gecko/xpcom/io/NonBlockingAsyncInputStream.cpp:33:14 (libxul.so+0xb0da9c)
[task 2020-11-02T16:29:44.009Z] 16:29:44     INFO - GECKO(3384) |     #41 mozilla::RunnableTask::Run() /builds/worker/checkouts/gecko/xpcom/threads/TaskController.cpp:450:16 (libxul.so+0xb6b542)
[task 2020-11-02T16:29:44.009Z] 16:29:44     INFO - GECKO(3384) |     #42 mozilla::TaskController::DoExecuteNextTaskOnlyMainThreadInternal(mozilla::detail::BaseAutoLock<mozilla::Mutex&> const&) /builds/worker/checkouts/gecko/xpcom/threads/TaskController.cpp:720:26 (libxul.so+0xb69570)
[task 2020-11-02T16:29:44.010Z] 16:29:44     INFO - GECKO(3384) |     #43 mozilla::TaskController::ExecuteNextTaskOnlyMainThreadInternal(mozilla::detail::BaseAutoLock<mozilla::Mutex&> const&) /builds/worker/checkouts/gecko/xpcom/threads/TaskController.cpp:579:15 (libxul.so+0xb681d6)
[task 2020-11-02T16:29:44.010Z] 16:29:44     INFO - GECKO(3384) |     #44 mozilla::TaskController::ProcessPendingMTTask(bool) /builds/worker/checkouts/gecko/xpcom/threads/TaskController.cpp:373:36 (libxul.so+0xb68474)
[task 2020-11-02T16:29:44.010Z] 16:29:44     INFO - GECKO(3384) |     #45 operator() /builds/worker/checkouts/gecko/xpcom/threads/TaskController.cpp:120:37 (libxul.so+0xb6e534)
[task 2020-11-02T16:29:44.014Z] 16:29:44     INFO - GECKO(3384) |     #46 mozilla::detail::RunnableFunction<mozilla::TaskController::InitializeInternal()::$_3>::Run() /builds/worker/workspace/obj-build/dist/include/nsThreadUtils.h:577:5 (libxul.so+0xb6e534)
[task 2020-11-02T16:29:44.014Z] 16:29:44     INFO - GECKO(3384) |     #47 nsThread::ProcessNextEvent(bool, bool*) /builds/worker/checkouts/gecko/xpcom/threads/nsThread.cpp:1197:14 (libxul.so+0xb7f4bb)
[task 2020-11-02T16:29:44.014Z] 16:29:44     INFO - GECKO(3384) |     #48 NS_ProcessNextEvent(nsIThread*, bool) /builds/worker/checkouts/gecko/xpcom/threads/nsThreadUtils.cpp:513:10 (libxul.so+0xb84bb2)
[task 2020-11-02T16:29:44.014Z] 16:29:44     INFO - GECKO(3384) |     #49 mozilla::ipc::MessagePump::Run(base::MessagePump::Delegate*) /builds/worker/checkouts/gecko/ipc/glue/MessagePump.cpp:87:21 (libxul.so+0x145dcdd)
[task 2020-11-02T16:29:44.014Z] 16:29:44     INFO - GECKO(3384) |     #50 mozilla::ipc::MessagePumpForChildProcess::Run(base::MessagePump::Delegate*) /builds/worker/checkouts/gecko/ipc/glue/MessagePump.cpp:270:30 (libxul.so+0x145e6bb)
[task 2020-11-02T16:29:44.015Z] 16:29:44     INFO - GECKO(3384) |     #51 RunInternal /builds/worker/checkouts/gecko/ipc/chromium/src/base/message_loop.cc:334:10 (libxul.so+0x13ee9ac)
[task 2020-11-02T16:29:44.015Z] 16:29:44     INFO - GECKO(3384) |     #52 RunHandler /builds/worker/checkouts/gecko/ipc/chromium/src/base/message_loop.cc:327:3 (libxul.so+0x13ee9ac)
[task 2020-11-02T16:29:44.015Z] 16:29:44     INFO - GECKO(3384) |     #53 MessageLoop::Run() /builds/worker/checkouts/gecko/ipc/chromium/src/base/message_loop.cc:309:3 (libxul.so+0x13ee9ac)
[task 2020-11-02T16:29:44.015Z] 16:29:44     INFO - GECKO(3384) |     #54 nsBaseAppShell::Run() /builds/worker/checkouts/gecko/widget/nsBaseAppShell.cpp:137:27 (libxul.so+0x4a1cd03)
[task 2020-11-02T16:29:44.015Z] 16:29:44     INFO - GECKO(3384) |     #55 XRE_RunAppShell() /builds/worker/checkouts/gecko/toolkit/xre/nsEmbedFunctions.cpp:913:20 (libxul.so+0x6672659)
[task 2020-11-02T16:29:44.015Z] 16:29:44     INFO - GECKO(3384) |     #56 mozilla::ipc::MessagePumpForChildProcess::Run(base::MessagePump::Delegate*) /builds/worker/checkouts/gecko/ipc/glue/MessagePump.cpp:237:9 (libxul.so+0x145e66a)
[task 2020-11-02T16:29:44.015Z] 16:29:44     INFO - GECKO(3384) |     #57 RunInternal /builds/worker/checkouts/gecko/ipc/chromium/src/base/message_loop.cc:334:10 (libxul.so+0x13ee9ac)
[task 2020-11-02T16:29:44.015Z] 16:29:44     INFO - GECKO(3384) |     #58 RunHandler /builds/worker/checkouts/gecko/ipc/chromium/src/base/message_loop.cc:327:3 (libxul.so+0x13ee9ac)
[task 2020-11-02T16:29:44.016Z] 16:29:44     INFO - GECKO(3384) |     #59 MessageLoop::Run() /builds/worker/checkouts/gecko/ipc/chromium/src/base/message_loop.cc:309:3 (libxul.so+0x13ee9ac)
[task 2020-11-02T16:29:44.016Z] 16:29:44     INFO - GECKO(3384) |     #60 XRE_InitChildProcess(int, char**, XREChildData const*) /builds/worker/checkouts/gecko/toolkit/xre/nsEmbedFunctions.cpp:744:34 (libxul.so+0x66723da)
[task 2020-11-02T16:29:44.016Z] 16:29:44     INFO - GECKO(3384) |     #61 mozilla::BootstrapImpl::XRE_InitChildProcess(int, char**, XREChildData const*) /builds/worker/checkouts/gecko/toolkit/xre/Bootstrap.cpp:67:12 (libxul.so+0x667a592)
[task 2020-11-02T16:29:44.016Z] 16:29:44     INFO - GECKO(3384) |     #62 content_process_main /builds/worker/checkouts/gecko/browser/app/../../ipc/contentproc/plugin-container.cpp:56:28 (firefox+0xc78e2)
[task 2020-11-02T16:29:44.016Z] 16:29:44     INFO - GECKO(3384) |     #63 main /builds/worker/checkouts/gecko/browser/app/nsBrowserApp.cpp:304:18 (firefox+0xc78e2)
[task 2020-11-02T16:29:44.017Z] 16:29:44     INFO - GECKO(3384) |   Thread T21 'StyleThread#1' (tid=3521, running) created by main thread at:
[task 2020-11-02T16:29:44.017Z] 16:29:44     INFO - GECKO(3384) |     #0 pthread_create /builds/worker/fetches/llvm-project/llvm/projects/compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp:966:3 (firefox+0x5667b)
[task 2020-11-02T16:29:44.018Z] 16:29:44     INFO - GECKO(3384) |     #1 std::sys::unix::thread::Thread::new::h828bcbf015d72557 /builds/worker/fetches/rustc/lib/rustlib/src/rust/library/std/src/sys/unix/thread.rs:66:19 (libxul.so+0x81a0c05)
[task 2020-11-02T16:29:44.018Z] 16:29:44     INFO - GECKO(3384) |     #2 std::thread::Builder::spawn_unchecked::hd0401fe5cd051ab0 /builds/worker/fetches/rustc/lib/rustlib/src/rust/library/std/src/thread/mod.rs:488:22 (libxul.so+0x8036515)
[task 2020-11-02T16:29:44.019Z] 16:29:44     INFO - GECKO(3384) |     #3 std::thread::Builder::spawn::h48168d269111e821 /builds/worker/fetches/rustc/lib/rustlib/src/rust/library/std/src/thread/mod.rs:376:18 (libxul.so+0x8036515)
[task 2020-11-02T16:29:44.019Z] 16:29:44     INFO - GECKO(3384) |     #4 _$LT$rayon_core..registry..DefaultSpawn$u20$as$u20$rayon_core..registry..ThreadSpawn$GT$::spawn::h3db05523458a4ea6 /builds/worker/checkouts/gecko/third_party/rust/rayon-core/src/registry.rs:103:9 (libxul.so+0x8036515)
[task 2020-11-02T16:29:44.019Z] 16:29:44     INFO - GECKO(3384) |     #5 rayon_core::registry::Registry::new::hac523ca08852ee0a /builds/worker/checkouts/gecko/third_party/rust/rayon-core/src/registry.rs:259:29 (libxul.so+0x82d5a8c)
[task 2020-11-02T16:29:44.019Z] 16:29:44     INFO - GECKO(3384) |     #6 rayon_core::thread_pool::ThreadPool::build::h0f3c4f80bac3af40 /builds/worker/checkouts/gecko/third_party/rust/rayon-core/src/thread_pool/mod.rs:70:24 (libxul.so+0x82d5a8c)
[task 2020-11-02T16:29:44.021Z] 16:29:44     INFO - GECKO(3384) |     #7 rayon_core::ThreadPoolBuilder$LT$S$GT$::build::h63165b1c68034cc0 /builds/worker/checkouts/gecko/third_party/rust/rayon-core/src/lib.rs:216:9 (libxul.so+0x82d5a8c)
[task 2020-11-02T16:29:44.021Z] 16:29:44     INFO - GECKO(3384) |     #8 _$LT$style..global_style_data..STYLE_THREAD_POOL$u20$as$u20$core..ops..deref..Deref$GT$::deref::__static_ref_initialize::ha3b676d2df323580 /builds/worker/checkouts/gecko/servo/components/style/global_style_data.rs:152:27 (libxul.so+0x82d5a8c)
[task 2020-11-02T16:29:44.021Z] 16:29:44     INFO - GECKO(3384) |     #9 core::ops::function::FnOnce::call_once::hd5c8ed57bd623c19 /builds/worker/fetches/rustc/lib/rustlib/src/rust/library/core/src/ops/function.rs:227:5 (libxul.so+0x82d5a8c)
[task 2020-11-02T16:29:44.021Z] 16:29:44     INFO - GECKO(3384) |     #10 lazy_static::lazy::Lazy$LT$T$GT$::get::_$u7b$$u7b$closure$u7d$$u7d$::hbeddb26531422c5c /builds/worker/checkouts/gecko/third_party/rust/lazy_static/src/inline_lazy.rs:31:29 (libxul.so+0x82d5a8c)
[task 2020-11-02T16:29:44.022Z] 16:29:44     INFO - GECKO(3384) |     #11 std::sync::once::Once::call_once::_$u7b$$u7b$closure$u7d$$u7d$::h8bafef3f662e87e1 /builds/worker/fetches/rustc/lib/rustlib/src/rust/library/std/src/sync/once.rs:261:41 (libxul.so+0x82d5a8c)
[task 2020-11-02T16:29:44.022Z] 16:29:44     INFO - GECKO(3384) |     #12 std::sync::once::Once::call_inner::h76a14c6380371ac9 /builds/worker/fetches/rustc/lib/rustlib/src/rust/library/std/src/sync/once.rs:419:21 (libxul.so+0x81935a2)
[task 2020-11-02T16:29:44.022Z] 16:29:44     INFO - GECKO(3384) |     #13 std::sync::once::Once::call_once::h49807469250c6d0e /builds/worker/fetches/rustc/lib/rustlib/src/rust/library/std/src/sync/once.rs:261:9 (libxul.so+0x84e06cd)
[task 2020-11-02T16:29:44.023Z] 16:29:44     INFO - GECKO(3384) |     #14 lazy_static::lazy::Lazy$LT$T$GT$::get::hb876fa87e27b6e06 /builds/worker/checkouts/gecko/third_party/rust/lazy_static/src/inline_lazy.rs:30:9 (libxul.so+0x84e06cd)
[task 2020-11-02T16:29:44.024Z] 16:29:44     INFO - GECKO(3384) |     #15 _$LT$style..global_style_data..STYLE_THREAD_POOL$u20$as$u20$core..ops..deref..Deref$GT$::deref::__stability::h616d8550731da685 /builds/worker/checkouts/gecko/third_party/rust/lazy_static/src/lib.rs:142:21 (libxul.so+0x84e06cd)
[task 2020-11-02T16:29:44.024Z] 16:29:44     INFO - GECKO(3384) |     #16 _$LT$style..global_style_data..STYLE_THREAD_POOL$u20$as$u20$core..ops..deref..Deref$GT$::deref::h146ea3676b701098 /builds/worker/checkouts/gecko/third_party/rust/lazy_static/src/lib.rs:144:17 (libxul.so+0x84e06cd)
[task 2020-11-02T16:29:44.024Z] 16:29:44     INFO - GECKO(3384) |     #17 geckoservo::glue::traverse_subtree::hb842b52933c4b79e /builds/worker/checkouts/gecko/servo/ports/geckolib/glue.rs:257:31 (libxul.so+0x7bdbfcc)
[task 2020-11-02T16:29:44.024Z] 16:29:44     INFO - GECKO(3384) |     #18 Servo_TraverseSubtree /builds/worker/checkouts/gecko/servo/ports/geckolib/glue.rs:327:5 (libxul.so+0x7bdba95)
[task 2020-11-02T16:29:44.024Z] 16:29:44     INFO - GECKO(3384) |     #19 mozilla::ServoStyleSet::StyleNewSubtree(mozilla::dom::Element*) /builds/worker/checkouts/gecko/layout/style/ServoStyleSet.cpp:806:7 (libxul.so+0x4c7880d)
[task 2020-11-02T16:29:44.026Z] 16:29:44     INFO - GECKO(3384) |     #20 nsCSSFrameConstructor::ConstructDocElementFrame(mozilla::dom::Element*) /builds/worker/checkouts/gecko/layout/base/nsCSSFrameConstructor.cpp:2164:29 (libxul.so+0x4d5bc13)
[task 2020-11-02T16:29:44.026Z] 16:29:44     INFO - GECKO(3384) |     #21 nsCSSFrameConstructor::ContentRangeInserted(nsIContent*, nsIContent*, nsCSSFrameConstructor::InsertionKind) /builds/worker/checkouts/gecko/layout/base/nsCSSFrameConstructor.cpp:6929:9 (libxul.so+0x4d6ca4c)
[task 2020-11-02T16:29:44.026Z] 16:29:44     INFO - GECKO(3384) |     #22 nsCSSFrameConstructor::ContentInserted(nsIContent*, nsCSSFrameConstructor::InsertionKind) /builds/worker/checkouts/gecko/layout/base/nsCSSFrameConstructor.cpp:6847:3 (libxul.so+0x4d6c631)
[task 2020-11-02T16:29:44.026Z] 16:29:44     INFO - GECKO(3384) |     #23 mozilla::PresShell::Initialize() /builds/worker/checkouts/gecko/layout/base/PresShell.cpp:1866:26 (libxul.so+0x4d0e609)
[task 2020-11-02T16:29:44.027Z] 16:29:44     INFO - GECKO(3384) |     #24 nsContentSink::StartLayout(bool) /builds/worker/checkouts/gecko/dom/base/nsContentSink.cpp:1140:30 (libxul.so+0x25a8bc6)
[task 2020-11-02T16:29:44.027Z] 16:29:44     INFO - GECKO(3384) |     #25 HTMLContentSink::OpenBody() /builds/worker/checkouts/gecko/dom/html/nsHTMLContentSink.cpp:776:3 (libxul.so+0x3aad4b3)
[task 2020-11-02T16:29:44.027Z] 16:29:44     INFO - GECKO(3384) |     #26 HTMLContentSink::OpenContainer(nsIHTMLContentSink::ElementType) /builds/worker/checkouts/gecko/dom/html/nsHTMLContentSink.cpp:795:12 (libxul.so+0x3aad501)
[task 2020-11-02T16:29:44.027Z] 16:29:44     INFO - GECKO(3384) |     #27 non-virtual thunk to HTMLContentSink::OpenContainer(nsIHTMLContentSink::ElementType) /builds/worker/checkouts/gecko/dom/html/nsHTMLContentSink.cpp (libxul.so+0x3aad6a2)
[task 2020-11-02T16:29:44.029Z] 16:29:44     INFO - GECKO(3384) |     #28 CNavDTD::BuildModel(nsITokenizer*, nsIContentSink*) /builds/worker/checkouts/gecko/parser/htmlparser/CNavDTD.cpp:36:14 (libxul.so+0x1b8ac4d)
[task 2020-11-02T16:29:44.029Z] 16:29:44     INFO - GECKO(3384) |     #29 BuildModel /builds/worker/checkouts/gecko/parser/htmlparser/nsParser.cpp:1058:22 (libxul.so+0x1b93071)
[task 2020-11-02T16:29:44.029Z] 16:29:44     INFO - GECKO(3384) |     #30 nsParser::ResumeParse(bool, bool, bool) /builds/worker/checkouts/gecko/parser/htmlparser/nsParser.cpp:963:18 (libxul.so+0x1b93071)
[task 2020-11-02T16:29:44.029Z] 16:29:44     INFO - GECKO(3384) |     #31 OnStopRequest /builds/worker/checkouts/gecko/parser/htmlparser/nsParser.cpp:1352:10 (libxul.so+0x1b959a0)
[task 2020-11-02T16:29:44.029Z] 16:29:44     INFO - GECKO(3384) |     #32 non-virtual thunk to nsParser::OnStopRequest(nsIRequest*, nsresult) /builds/worker/checkouts/gecko/parser/htmlparser/nsParser.cpp (libxul.so+0x1b959a0)
[task 2020-11-02T16:29:44.030Z] 16:29:44     INFO - GECKO(3384) |     #33 nsDocumentOpenInfo::OnStopRequest(nsIRequest*, nsresult) /builds/worker/checkouts/gecko/uriloader/base/nsURILoader.cpp:215:15 (libxul.so+0x1b0f721)
[task 2020-11-02T16:29:44.031Z] 16:29:44     INFO - GECKO(3384) |     #34 nsBaseChannel::OnStopRequest(nsIRequest*, nsresult) /builds/worker/checkouts/gecko/netwerk/base/nsBaseChannel.cpp:853:16 (libxul.so+0xcae4a5)
[task 2020-11-02T16:29:44.031Z] 16:29:44     INFO - GECKO(3384) |     #35 non-virtual thunk to nsBaseChannel::OnStopRequest(nsIRequest*, nsresult) /builds/worker/checkouts/gecko/netwerk/base/nsBaseChannel.cpp (libxul.so+0xcae622)
[task 2020-11-02T16:29:44.031Z] 16:29:44     INFO - GECKO(3384) |     #36 nsInputStreamPump::OnStateStop() /builds/worker/checkouts/gecko/netwerk/base/nsInputStreamPump.cpp:649:16 (libxul.so+0xcd71a3)
[task 2020-11-02T16:29:44.031Z] 16:29:44     INFO - GECKO(3384) |     #37 nsInputStreamPump::OnInputStreamReady(nsIAsyncInputStream*) /builds/worker/checkouts/gecko/netwerk/base/nsInputStreamPump.cpp:397:21 (libxul.so+0xcd62f2)
[task 2020-11-02T16:29:44.032Z] 16:29:44     INFO - GECKO(3384) |     #38 non-virtual thunk to nsInputStreamPump::OnInputStreamReady(nsIAsyncInputStream*) /builds/worker/checkouts/gecko/netwerk/base/nsInputStreamPump.cpp (libxul.so+0xcd7429)
[task 2020-11-02T16:29:44.032Z] 16:29:44     INFO - GECKO(3384) |     #39 RunAsyncWaitCallback /builds/worker/checkouts/gecko/xpcom/io/NonBlockingAsyncInputStream.cpp:397:13 (libxul.so+0xb0da9c)
[task 2020-11-02T16:29:44.032Z] 16:29:44     INFO - GECKO(3384) |     #40 mozilla::NonBlockingAsyncInputStream::AsyncWaitRunnable::Run() /builds/worker/checkouts/gecko/xpcom/io/NonBlockingAsyncInputStream.cpp:33:14 (libxul.so+0xb0da9c)
[task 2020-11-02T16:29:44.033Z] 16:29:44     INFO - GECKO(3384) |     #41 mozilla::RunnableTask::Run() /builds/worker/checkouts/gecko/xpcom/threads/TaskController.cpp:450:16 (libxul.so+0xb6b542)
[task 2020-11-02T16:29:44.034Z] 16:29:44     INFO - GECKO(3384) |     #42 mozilla::TaskController::DoExecuteNextTaskOnlyMainThreadInternal(mozilla::detail::BaseAutoLock<mozilla::Mutex&> const&) /builds/worker/checkouts/gecko/xpcom/threads/TaskController.cpp:720:26 (libxul.so+0xb69570)
[task 2020-11-02T16:29:44.034Z] 16:29:44     INFO - GECKO(3384) |     #43 mozilla::TaskController::ExecuteNextTaskOnlyMainThreadInternal(mozilla::detail::BaseAutoLock<mozilla::Mutex&> const&) /builds/worker/checkouts/gecko/xpcom/threads/TaskController.cpp:579:15 (libxul.so+0xb681d6)
[task 2020-11-02T16:29:44.034Z] 16:29:44     INFO - GECKO(3384) |     #44 mozilla::TaskController::ProcessPendingMTTask(bool) /builds/worker/checkouts/gecko/xpcom/threads/TaskController.cpp:373:36 (libxul.so+0xb68474)
[task 2020-11-02T16:29:44.034Z] 16:29:44     INFO - GECKO(3384) |     #45 operator() /builds/worker/checkouts/gecko/xpcom/threads/TaskController.cpp:120:37 (libxul.so+0xb6e534)
[task 2020-11-02T16:29:44.035Z] 16:29:44     INFO - GECKO(3384) |     #46 mozilla::detail::RunnableFunction<mozilla::TaskController::InitializeInternal()::$_3>::Run() /builds/worker/workspace/obj-build/dist/include/nsThreadUtils.h:577:5 (libxul.so+0xb6e534)
[task 2020-11-02T16:29:44.036Z] 16:29:44     INFO - GECKO(3384) |     #47 nsThread::ProcessNextEvent(bool, bool*) /builds/worker/checkouts/gecko/xpcom/threads/nsThread.cpp:1197:14 (libxul.so+0xb7f4bb)
[task 2020-11-02T16:29:44.036Z] 16:29:44     INFO - GECKO(3384) |     #48 NS_ProcessNextEvent(nsIThread*, bool) /builds/worker/checkouts/gecko/xpcom/threads/nsThreadUtils.cpp:513:10 (libxul.so+0xb84bb2)
[task 2020-11-02T16:29:44.036Z] 16:29:44     INFO - GECKO(3384) |     #49 mozilla::ipc::MessagePump::Run(base::MessagePump::Delegate*) /builds/worker/checkouts/gecko/ipc/glue/MessagePump.cpp:87:21 (libxul.so+0x145dcdd)
[task 2020-11-02T16:29:44.036Z] 16:29:44     INFO - GECKO(3384) |     #50 mozilla::ipc::MessagePumpForChildProcess::Run(base::MessagePump::Delegate*) /builds/worker/checkouts/gecko/ipc/glue/MessagePump.cpp:270:30 (libxul.so+0x145e6bb)
[task 2020-11-02T16:29:44.037Z] 16:29:44     INFO - GECKO(3384) |     #51 RunInternal /builds/worker/checkouts/gecko/ipc/chromium/src/base/message_loop.cc:334:10 (libxul.so+0x13ee9ac)
[task 2020-11-02T16:29:44.037Z] 16:29:44     INFO - GECKO(3384) |     #52 RunHandler /builds/worker/checkouts/gecko/ipc/chromium/src/base/message_loop.cc:327:3 (libxul.so+0x13ee9ac)
[task 2020-11-02T16:29:44.037Z] 16:29:44     INFO - GECKO(3384) |     #53 MessageLoop::Run() /builds/worker/checkouts/gecko/ipc/chromium/src/base/message_loop.cc:309:3 (libxul.so+0x13ee9ac)
[task 2020-11-02T16:29:44.038Z] 16:29:44     INFO - GECKO(3384) |     #54 nsBaseAppShell::Run() /builds/worker/checkouts/gecko/widget/nsBaseAppShell.cpp:137:27 (libxul.so+0x4a1cd03)
[task 2020-11-02T16:29:44.038Z] 16:29:44     INFO - GECKO(3384) |     #55 XRE_RunAppShell() /builds/worker/checkouts/gecko/toolkit/xre/nsEmbedFunctions.cpp:913:20 (libxul.so+0x6672659)
[task 2020-11-02T16:29:44.039Z] 16:29:44     INFO - GECKO(3384) |     #56 mozilla::ipc::MessagePumpForChildProcess::Run(base::MessagePump::Delegate*) /builds/worker/checkouts/gecko/ipc/glue/MessagePump.cpp:237:9 (libxul.so+0x145e66a)
[task 2020-11-02T16:29:44.039Z] 16:29:44     INFO - GECKO(3384) |     #57 RunInternal /builds/worker/checkouts/gecko/ipc/chromium/src/base/message_loop.cc:334:10 (libxul.so+0x13ee9ac)
[task 2020-11-02T16:29:44.039Z] 16:29:44     INFO - GECKO(3384) |     #58 RunHandler /builds/worker/checkouts/gecko/ipc/chromium/src/base/message_loop.cc:327:3 (libxul.so+0x13ee9ac)
[task 2020-11-02T16:29:44.039Z] 16:29:44     INFO - GECKO(3384) |     #59 MessageLoop::Run() /builds/worker/checkouts/gecko/ipc/chromium/src/base/message_loop.cc:309:3 (libxul.so+0x13ee9ac)
[task 2020-11-02T16:29:44.039Z] 16:29:44     INFO - GECKO(3384) |     #60 XRE_InitChildProcess(int, char**, XREChildData const*) /builds/worker/checkouts/gecko/toolkit/xre/nsEmbedFunctions.cpp:744:34 (libxul.so+0x66723da)
[task 2020-11-02T16:29:44.041Z] 16:29:44     INFO - GECKO(3384) |     #61 mozilla::BootstrapImpl::XRE_InitChildProcess(int, char**, XREChildData const*) /builds/worker/checkouts/gecko/toolkit/xre/Bootstrap.cpp:67:12 (libxul.so+0x667a592)
[task 2020-11-02T16:29:44.041Z] 16:29:44     INFO - GECKO(3384) |     #62 content_process_main /builds/worker/checkouts/gecko/browser/app/../../ipc/contentproc/plugin-container.cpp:56:28 (firefox+0xc78e2)
[task 2020-11-02T16:29:44.041Z] 16:29:44     INFO - GECKO(3384) |     #63 main /builds/worker/checkouts/gecko/browser/app/nsBrowserApp.cpp:304:18 (firefox+0xc78e2)
[task 2020-11-02T16:29:44.041Z] 16:29:44     INFO - GECKO(3384) | SUMMARY: ThreadSanitizer: data race /builds/worker/fetches/rustc/lib/rustlib/src/rust/library/std/src/sys/unix/alloc.rs:42:9 in std::sys::unix::alloc::_$LT$impl$u20$core..alloc..global..GlobalAlloc$u20$for$u20$std..alloc..System$GT$::dealloc::h904bd78302259e53
[task 2020-11-02T16:29:44.042Z] 16:29:44     INFO - GECKO(3384) | ==================
@cuviper
Copy link
Contributor

cuviper commented Nov 2, 2020

I see a lot of tsan warning when running the crossbeam-deque testsuite, so I don't think this is rayon's doing.

$ RUSTFLAGS=-Zsanitizer=thread cargo +nightly test -Zbuild-std --target x86_64-unknown-linux-gnu

@workingjubilee
Copy link

crossbeam-deque + TSan log here: https://gist.github.com/workingjubilee/ce78314bc2aa66ac1f563e6934ad28c0

@taiki-e
Copy link
Member

taiki-e commented Nov 3, 2020

This is likely tokio-rs/tokio#329 (comment)

It should be noted that even with crossbeam-rs/crossbeam-deque#13 we'd need something like this in ci/tsan:

# The epoch-based GC uses fences.
race:crossbeam_epoch

# Push and steal operations in crossbeam-deque may cause data races, but such
# data races are safe. If a data race happens, the value read by `steal` is
# forgotten and the steal operation is then retried.
race:crossbeam_deque*push
race:crossbeam_deque*steal

First, crossbeam-epoch uses fences so we need to silence tsan errors coming from it.

Second, the Chase-Lev (even as the cicbuf variant) algorithm is inherently data-racy. The steal operation first reads data from the buffer and then checks whether something changed in the meantime. If so, the read data is discarded (using mem::forget) and the steal operation has to be retried. Put differently, a data race might happen, but we never follow up on it so UB doesn't happen.

/// Writes `task` into the specified `index`.
///
/// This method might be concurrently called with another `read` at the same index, which is
/// technically speaking a data race and therefore UB. We should use an atomic store here, but
/// that would be more expensive and difficult to implement generically for all types `T`.
/// Hence, as a hack, we use a volatile write instead.
unsafe fn write(&self, index: isize, task: T) {
ptr::write_volatile(self.at(index), task)
}
/// Reads a task from the specified `index`.
///
/// This method might be concurrently called with another `write` at the same index, which is
/// technically speaking a data race and therefore UB. We should use an atomic load here, but
/// that would be more expensive and difficult to implement generically for all types `T`.
/// Hence, as a hack, we use a volatile write instead.
unsafe fn read(&self, index: isize) -> T {
ptr::read_volatile(self.at(index))
}

@Gankra
Copy link
Author

Gankra commented Feb 15, 2021

For future explorers: this is still a problem, but it's fundamental to the design, so you really just need to suppress it as noted in the comment above.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Development

Successfully merging a pull request may close this issue.

4 participants