crossbeam-rs / crossbeam

Tools for concurrent programming in Rust
Apache License 2.0
7.27k stars 457 forks source link

ThreadSanitizer doesn't like crossbeam_deque? #589

Closed Gankra closed 3 years ago

Gankra commented 3 years ago

Not 100% sure if this is crossbeam's issue, or how rayon's using crossbeam, but filing the issue here as well (see https://github.com/rayon-rs/rayon/issues/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 ```text [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 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 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::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 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 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::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 commented 3 years ago

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 commented 3 years ago

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

taiki-e commented 3 years ago

This is likely https://github.com/tokio-rs/tokio/issues/329#issuecomment-401921627

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.

https://github.com/crossbeam-rs/crossbeam/blob/220e690d1d5d0643cfc006aa10455bd7b28297ef/crossbeam-deque/src/deque.rs#L63-L81

Gankra commented 3 years ago

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.