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 data race alert in read_volatile #646

Closed
nical opened this issue Jan 12, 2021 · 1 comment
Closed

ThreadSanitizer data race alert in read_volatile #646

nical opened this issue Jan 12, 2021 · 1 comment

Comments

@nical
Copy link
Contributor

nical commented Jan 12, 2021

Hi, this alert was thrown by TSAN in Firefox's CI

I see that there's another TSAN alert filed in #644, though the stack traces look different.

   Read of size 8 at 0x7b6000171690 by thread T21:
     #0 core::ptr::read_volatile::h6791bf575cf2c252 rustc/lib/rustlib/src/rust/library/core/src/ptr/mod.rs:1052:14 (libxul.so+0x7ec3d0e)
     #1 crossbeam_deque::deque::Buffer$LT$T$GT$::read::he4d85a69b6533a4f gecko/third_party/rust/crossbeam-deque/src/deque.rs:80:9 (libxul.so+0x7ec3d0e)
     #2 crossbeam_deque::deque::Stealer$LT$T$GT$::steal::h7d7d7c8ad750caf4 gecko/third_party/rust/crossbeam-deque/src/deque.rs:635:29 (libxul.so+0x7ec3d0e)

   Previous write of size 8 at 0x7b6000171690 by thread T20:
     #0 core::ptr::write_volatile::h8f71d3407194afbe rustc/lib/rustlib/src/rust/library/core/src/ptr/mod.rs:1124:9 (libxul.so+0x7a02678)
     #1 crossbeam_deque::deque::Buffer$LT$T$GT$::write::h15461ac2d7b03e3f gecko/third_party/rust/crossbeam-deque/src/deque.rs:70:9 (libxul.so+0x7a02678)
     #2 crossbeam_deque::deque::Worker$LT$T$GT$::push::hf881565f3d17d184 gecko/third_party/rust/crossbeam-deque/src/deque.rs:413:13 (libxul.so+0x7a02678)
     #3 rayon_core::registry::WorkerThread::push::h497b8c09f0413668 gecko/third_party/rust/rayon-core/src/registry.rs:667:9 (libxul.so+0x7a02678)
Full Log
 ==================
 WARNING: ThreadSanitizer: data race (pid=3359)
   Read of size 8 at 0x7b6000171690 by thread T21:
     #0 core::ptr::read_volatile::h6791bf575cf2c252 rustc/lib/rustlib/src/rust/library/core/src/ptr/mod.rs:1052:14 (libxul.so+0x7ec3d0e)
     #1 crossbeam_deque::deque::Buffer$LT$T$GT$::read::he4d85a69b6533a4f gecko/third_party/rust/crossbeam-deque/src/deque.rs:80:9 (libxul.so+0x7ec3d0e)
     #2 crossbeam_deque::deque::Stealer$LT$T$GT$::steal::h7d7d7c8ad750caf4 gecko/third_party/rust/crossbeam-deque/src/deque.rs:635:29 (libxul.so+0x7ec3d0e)
     #3 rayon_core::registry::WorkerThread::steal::_$u7b$$u7b$closure$u7d$$u7d$::h21c4fc3abea03194 gecko/third_party/rust/rayon-core/src/registry.rs:779:27 (libxul.so+0x7ec3d0e)
     #4 core::iter::traits::iterator::Iterator::find_map::check::_$u7b$$u7b$closure$u7d$$u7d$::h766eaacfe3484882 rustc/lib/rustlib/src/rust/library/core/src/iter/traits/iterator.rs:2257:32 (libxul.so+0x7ec3d0e)
     #5 core::iter::adapters::filter_try_fold::_$u7b$$u7b$closure$u7d$$u7d$::h66f0579be88ec9f9 rustc/lib/rustlib/src/rust/library/core/src/iter/adapters/mod.rs:1078:44 (libxul.so+0x7ec3d0e)
     #6 core::iter::traits::iterator::Iterator::try_fold::hf4fdd7a8f07d4020 rustc/lib/rustlib/src/rust/library/core/src/iter/traits/iterator.rs:1888:21 (libxul.so+0x7ec341f)
     #7 _$LT$core..iter..adapters..chain..Chain$LT$A$C$B$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$::try_fold::h91bbfbde6091fda7 rustc/lib/rustlib/src/rust/library/core/src/iter/adapters/chain.rs:109:19 (libxul.so+0x7ec341f)
     #8 _$LT$core..iter..adapters..Filter$LT$I$C$P$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$::try_fold::h0ec54019bed478e7 rustc/lib/rustlib/src/rust/library/core/src/iter/adapters/mod.rs:1127:9 (libxul.so+0x7ec341f)
     #9 core::iter::traits::iterator::Iterator::find_map::h42bf758b9bf304ed rustc/lib/rustlib/src/rust/library/core/src/iter/traits/iterator.rs:2263:9 (libxul.so+0x7ec341f)
     #10 rayon_core::registry::WorkerThread::steal::h426c9838d772c2fb gecko/third_party/rust/rayon-core/src/registry.rs:774:23 (libxul.so+0x7ec341f)
     #11 rayon_core::registry::WorkerThread::wait_until_cold::_$u7b$$u7b$closure$u7d$$u7d$::h4d67682b936402e3 gecko/third_party/rust/rayon-core/src/registry.rs:726:29 (libxul.so+0x7ec341f)
     #12 core::option::Option$LT$T$GT$::or_else::ha8a66c1e2f1cf169 rustc/lib/rustlib/src/rust/library/core/src/option.rs:786:21 (libxul.so+0x7ec341f)
     #13 rayon_core::registry::WorkerThread::wait_until_cold::hbe258d25c64c48f5 gecko/third_party/rust/rayon-core/src/registry.rs:724:32 (libxul.so+0x7ec341f)
     #14 rayon_core::registry::WorkerThread::wait_until::hb4abdecec6e64f2c gecko/third_party/rust/rayon-core/src/registry.rs:704:13 (libxul.so+0x7ec76a5)
     #15 rayon_core::registry::main_loop::h8915ba197fff28f4 gecko/third_party/rust/rayon-core/src/registry.rs:837:5 (libxul.so+0x7ec76a5)
     #16 rayon_core::registry::ThreadBuilder::run::hb658baf32f1c0edf gecko/third_party/rust/rayon-core/src/registry.rs:56:18 (libxul.so+0x7ec76a5)
     #17 _$LT$rayon_core..registry..DefaultSpawn$u20$as$u20$rayon_core..registry..ThreadSpawn$GT$::spawn::_$u7b$$u7b$closure$u7d$$u7d$::ha6fa00eac0719f1d gecko/third_party/rust/rayon-core/src/registry.rs:101:20 (libxul.so+0x7ec76a5)
     #18 std::sys_common::backtrace::__rust_begin_short_backtrace::he530ba71b240257e rustc/lib/rustlib/src/rust/library/std/src/sys_common/backtrace.rs:125:18 (libxul.so+0x7ec76a5)
     #19 std::thread::Builder::spawn_unchecked::_$u7b$$u7b$closure$u7d$$u7d$::_$u7b$$u7b$closure$u7d$$u7d$::h25652d185052d985 rustc/lib/rustlib/src/rust/library/std/src/thread/mod.rs:474:17 (libxul.so+0x7ec67cf)
     #20 _$LT$std..panic..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::h3005d32088e8948f rustc/lib/rustlib/src/rust/library/std/src/panic.rs:322:9 (libxul.so+0x7ec67cf)
     #21 std::panicking::try::do_call::hf122fdc0c463f4a7 rustc/lib/rustlib/src/rust/library/std/src/panicking.rs:381:40 (libxul.so+0x7ec67cf)
     #22 std::panicking::try::h190a8dc2b4dd875f rustc/lib/rustlib/src/rust/library/std/src/panicking.rs:345:19 (libxul.so+0x7ec67cf)
     #23 std::panic::catch_unwind::h6a9f16c964c040a3 rustc/lib/rustlib/src/rust/library/std/src/panic.rs:396:14 (libxul.so+0x7ec67cf)
     #24 std::thread::Builder::spawn_unchecked::_$u7b$$u7b$closure$u7d$$u7d$::h11ce72254f299844 rustc/lib/rustlib/src/rust/library/std/src/thread/mod.rs:473:30 (libxul.so+0x7ec67cf)
     #25 core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h7ed13689b2b6929d rustc/lib/rustlib/src/rust/library/core/src/ops/function.rs:227:5 (libxul.so+0x7ec67cf)
     #26 std::thread::Builder::spawn_unchecked::_$u7b$$u7b$closure$u7d$$u7d$::_$u7b$$u7b$closure$u7d$$u7d$::h25652d185052d985 rustc/lib/rustlib/src/rust/library/std/src/thread/mod.rs:474:17 (libxul.so+0x7ec67cf)
     #27 _$LT$std..panic..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::h3005d32088e8948f rustc/lib/rustlib/src/rust/library/std/src/panic.rs:322:9 (libxul.so+0x7ec67cf)
     #28 std::panicking::try::do_call::hf122fdc0c463f4a7 rustc/lib/rustlib/src/rust/library/std/src/panicking.rs:381:40 (libxul.so+0x7ec67cf)
     #29 std::panicking::try::h190a8dc2b4dd875f rustc/lib/rustlib/src/rust/library/std/src/panicking.rs:345:19 (libxul.so+0x7ec67cf)
     #30 std::panic::catch_unwind::h6a9f16c964c040a3 rustc/lib/rustlib/src/rust/library/std/src/panic.rs:396:14 (libxul.so+0x7ec67cf)
     #31 std::thread::Builder::spawn_unchecked::_$u7b$$u7b$closure$u7d$$u7d$::h11ce72254f299844 rustc/lib/rustlib/src/rust/library/std/src/thread/mod.rs:473:30 (libxul.so+0x7ec67cf)
     #32 core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h7ed13689b2b6929d rustc/lib/rustlib/src/rust/library/core/src/ops/function.rs:227:5 (libxul.so+0x7ec67cf)
     #33 _$LT$alloc..boxed..Box$LT$F$C$A$GT$$u20$as$u20$core..ops..function..FnOnce$LT$Args$GT$$GT$::call_once::hb4d0520786147807 rustc/lib/rustlib/src/rust/library/alloc/src/boxed.rs:1307:9 (libxul.so+0x7ff8de6)
     #34 _$LT$alloc..boxed..Box$LT$F$C$A$GT$$u20$as$u20$core..ops..function..FnOnce$LT$Args$GT$$GT$::call_once::h7b3e75c823aaab91 rustc/lib/rustlib/src/rust/library/alloc/src/boxed.rs:1307:9 (libxul.so+0x7ff8de6)
     #35 std::sys::unix::thread::Thread::new::thread_start::h4b687605f586dc2f rustc/lib/rustlib/src/rust/library/std/src/sys/unix/thread.rs:71:17 (libxul.so+0x7ff8de6)
   Previous write of size 8 at 0x7b6000171690 by thread T20:
     #0 core::ptr::write_volatile::h8f71d3407194afbe rustc/lib/rustlib/src/rust/library/core/src/ptr/mod.rs:1124:9 (libxul.so+0x7a02678)
     #1 crossbeam_deque::deque::Buffer$LT$T$GT$::write::h15461ac2d7b03e3f gecko/third_party/rust/crossbeam-deque/src/deque.rs:70:9 (libxul.so+0x7a02678)
     #2 crossbeam_deque::deque::Worker$LT$T$GT$::push::hf881565f3d17d184 gecko/third_party/rust/crossbeam-deque/src/deque.rs:413:13 (libxul.so+0x7a02678)
     #3 rayon_core::registry::WorkerThread::push::h497b8c09f0413668 gecko/third_party/rust/rayon-core/src/registry.rs:667:9 (libxul.so+0x7a02678)
     #4 rayon_core::scope::ScopeFifo::spawn_fifo::h83d1f4771ec0a24d gecko/third_party/rust/rayon-core/src/scope/mod.rs:504:21 (libxul.so+0x7a02678)
     #5 style::parallel::traverse_nodes::hfbc3f27063231a4b gecko/servo/components/style/parallel.rs:289:13 (libxul.so+0x7a02678)
     #6 style::driver::traverse_dom::_$u7b$$u7b$closure$u7d$$u7d$::_$u7b$$u7b$closure$u7d$$u7d$::h1e994ddaf2b88e96 gecko/servo/components/style/driver.rs:144:25 (libxul.so+0x7a02678)
     #7 rayon_core::scope::scope_fifo::_$u7b$$u7b$closure$u7d$$u7d$::_$u7b$$u7b$closure$u7d$$u7d$::h84fca416f898a3c6 gecko/third_party/rust/rayon-core/src/scope/mod.rs:384:55 (libxul.so+0x7a02678)
     #8 _$LT$std..panic..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::h439a2e9a6e484a6f rustc/lib/rustlib/src/rust/library/std/src/panic.rs:322:9 (libxul.so+0x7a02678)
     #9 std::panicking::try::do_call::hd34b79114352011c rustc/lib/rustlib/src/rust/library/std/src/panicking.rs:381:40 (libxul.so+0x7a02678)
     #10 std::panicking::try::he5dfc17084dd2028 rustc/lib/rustlib/src/rust/library/std/src/panicking.rs:345:19 (libxul.so+0x7a02678)
     #11 std::panic::catch_unwind::h4bfbdf4250667f1c rustc/lib/rustlib/src/rust/library/std/src/panic.rs:396:14 (libxul.so+0x7a02678)
     #12 rayon_core::unwind::halt_unwinding::he9c51ae28fb6252c gecko/third_party/rust/rayon-core/src/unwind.rs:17:5 (libxul.so+0x7a02678)
     #13 rayon_core::scope::ScopeBase::execute_job_closure::h3ffd29d423fd31c5 gecko/third_party/rust/rayon-core/src/scope/mod.rs:561:15 (libxul.so+0x7a02678)
     #14 rayon_core::scope::ScopeBase::complete::hb7ce8bd9d45d9b1e gecko/third_party/rust/rayon-core/src/scope/mod.rs:536:22 (libxul.so+0x7a02678)
     #15 rayon_core::scope::scope_fifo::_$u7b$$u7b$closure$u7d$$u7d$::h6dc38ea34b72cf45 gecko/third_party/rust/rayon-core/src/scope/mod.rs:384:18 (libxul.so+0x7a02678)
     #16 rayon_core::registry::in_worker::h2f7f636d20fd61e1 gecko/third_party/rust/rayon-core/src/registry.rs:879:13 (libxul.so+0x79f82d5)
     #17 rayon_core::scope::scope_fifo::h6b7b6902c53e22d8 gecko/third_party/rust/rayon-core/src/scope/mod.rs:382:5 (libxul.so+0x79f82d5)
     #18 style::driver::traverse_dom::_$u7b$$u7b$closure$u7d$$u7d$::h8d54a183e7fd5fa2 gecko/servo/components/style/driver.rs:142:21 (libxul.so+0x79f82d5)
     #19 rayon_core::thread_pool::ThreadPool::install::_$u7b$$u7b$closure$u7d$$u7d$::ha78c861c62f6769f gecko/third_party/rust/rayon-core/src/thread_pool/mod.rs:110:40 (libxul.so+0x79f82d5)
     #20 rayon_core::registry::Registry::in_worker_cold::_$u7b$$u7b$closure$u7d$$u7d$::_$u7b$$u7b$closure$u7d$$u7d$::h6340f1bdf1d26b2b gecko/third_party/rust/rayon-core/src/registry.rs:469:21 (libxul.so+0x7a09829)
     #21 _$LT$rayon_core..job..StackJob$LT$L$C$F$C$R$GT$$u20$as$u20$rayon_core..job..Job$GT$::execute::call::_$u7b$$u7b$closure$u7d$$u7d$::hd3fefb1fa62f23f2 gecko/third_party/rust/rayon-core/src/job.rs:113:21 (libxul.so+0x7a09829)
     #22 _$LT$std..panic..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::h1eaafaf676aafbc4 rustc/lib/rustlib/src/rust/library/std/src/panic.rs:322:9 (libxul.so+0x7a09829)
     #23 std::panicking::try::do_call::h4d0078a4404538d2 rustc/lib/rustlib/src/rust/library/std/src/panicking.rs:381:40 (libxul.so+0x7a09829)
     #24 std::panicking::try::h73495634cdd07c36 rustc/lib/rustlib/src/rust/library/std/src/panicking.rs:345:19 (libxul.so+0x7a09829)
     #25 std::panic::catch_unwind::h76540899313c3a96 rustc/lib/rustlib/src/rust/library/std/src/panic.rs:396:14 (libxul.so+0x7a09829)
     #26 rayon_core::unwind::halt_unwinding::h3dcc7f6ebf38c07f gecko/third_party/rust/rayon-core/src/unwind.rs:17:5 (libxul.so+0x7a09829)
     #27 _$LT$rayon_core..job..StackJob$LT$L$C$F$C$R$GT$$u20$as$u20$rayon_core..job..Job$GT$::execute::hd45eaed58ee9163b gecko/third_party/rust/rayon-core/src/job.rs:119:38 (libxul.so+0x7a09829)
     #28 rayon_core::job::JobRef::execute::h56853cba23978f09 gecko/third_party/rust/rayon-core/src/job.rs:59:9 (libxul.so+0x7ec3552)
     #29 rayon_core::registry::WorkerThread::execute::he5c2544d657e6948 gecko/third_party/rust/rayon-core/src/registry.rs:753:9 (libxul.so+0x7ec3552)
     #30 rayon_core::registry::WorkerThread::wait_until_cold::hbe258d25c64c48f5 gecko/third_party/rust/rayon-core/src/registry.rs:730:17 (libxul.so+0x7ec3552)
     #31 rayon_core::registry::WorkerThread::wait_until::hb4abdecec6e64f2c gecko/third_party/rust/rayon-core/src/registry.rs:704:13 (libxul.so+0x7ec76a5)
     #32 rayon_core::registry::main_loop::h8915ba197fff28f4 gecko/third_party/rust/rayon-core/src/registry.rs:837:5 (libxul.so+0x7ec76a5)
     #33 rayon_core::registry::ThreadBuilder::run::hb658baf32f1c0edf gecko/third_party/rust/rayon-core/src/registry.rs:56:18 (libxul.so+0x7ec76a5)
     #34 _$LT$rayon_core..registry..DefaultSpawn$u20$as$u20$rayon_core..registry..ThreadSpawn$GT$::spawn::_$u7b$$u7b$closure$u7d$$u7d$::ha6fa00eac0719f1d gecko/third_party/rust/rayon-core/src/registry.rs:101:20 (libxul.so+0x7ec76a5)
     #35 std::sys_common::backtrace::__rust_begin_short_backtrace::he530ba71b240257e rustc/lib/rustlib/src/rust/library/std/src/sys_common/backtrace.rs:125:18 (libxul.so+0x7ec76a5)
     #36 std::thread::Builder::spawn_unchecked::_$u7b$$u7b$closure$u7d$$u7d$::_$u7b$$u7b$closure$u7d$$u7d$::h25652d185052d985 rustc/lib/rustlib/src/rust/library/std/src/thread/mod.rs:474:17 (libxul.so+0x7ec67cf)
     #37 _$LT$std..panic..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::h3005d32088e8948f rustc/lib/rustlib/src/rust/library/std/src/panic.rs:322:9 (libxul.so+0x7ec67cf)
     #38 std::panicking::try::do_call::hf122fdc0c463f4a7 rustc/lib/rustlib/src/rust/library/std/src/panicking.rs:381:40 (libxul.so+0x7ec67cf)
     #39 std::panicking::try::h190a8dc2b4dd875f rustc/lib/rustlib/src/rust/library/std/src/panicking.rs:345:19 (libxul.so+0x7ec67cf)
     #40 std::panic::catch_unwind::h6a9f16c964c040a3 rustc/lib/rustlib/src/rust/library/std/src/panic.rs:396:14 (libxul.so+0x7ec67cf)
     #41 std::thread::Builder::spawn_unchecked::_$u7b$$u7b$closure$u7d$$u7d$::h11ce72254f299844 rustc/lib/rustlib/src/rust/library/std/src/thread/mod.rs:473:30 (libxul.so+0x7ec67cf)
     #42 core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h7ed13689b2b6929d rustc/lib/rustlib/src/rust/library/core/src/ops/function.rs:227:5 (libxul.so+0x7ec67cf)
     #43 std::thread::Builder::spawn_unchecked::_$u7b$$u7b$closure$u7d$$u7d$::_$u7b$$u7b$closure$u7d$$u7d$::h25652d185052d985 rustc/lib/rustlib/src/rust/library/std/src/thread/mod.rs:474:17 (libxul.so+0x7ec67cf)
     #44 _$LT$std..panic..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::h3005d32088e8948f rustc/lib/rustlib/src/rust/library/std/src/panic.rs:322:9 (libxul.so+0x7ec67cf)
     #45 std::panicking::try::do_call::hf122fdc0c463f4a7 rustc/lib/rustlib/src/rust/library/std/src/panicking.rs:381:40 (libxul.so+0x7ec67cf)
     #46 std::panicking::try::h190a8dc2b4dd875f rustc/lib/rustlib/src/rust/library/std/src/panicking.rs:345:19 (libxul.so+0x7ec67cf)
     #47 std::panic::catch_unwind::h6a9f16c964c040a3 rustc/lib/rustlib/src/rust/library/std/src/panic.rs:396:14 (libxul.so+0x7ec67cf)
     #48 std::thread::Builder::spawn_unchecked::_$u7b$$u7b$closure$u7d$$u7d$::h11ce72254f299844 rustc/lib/rustlib/src/rust/library/std/src/thread/mod.rs:473:30 (libxul.so+0x7ec67cf)
     #49 core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h7ed13689b2b6929d rustc/lib/rustlib/src/rust/library/core/src/ops/function.rs:227:5 (libxul.so+0x7ec67cf)
     #50 _$LT$alloc..boxed..Box$LT$F$C$A$GT$$u20$as$u20$core..ops..function..FnOnce$LT$Args$GT$$GT$::call_once::hb4d0520786147807 rustc/lib/rustlib/src/rust/library/alloc/src/boxed.rs:1307:9 (libxul.so+0x7ff8de6)
     #51 _$LT$alloc..boxed..Box$LT$F$C$A$GT$$u20$as$u20$core..ops..function..FnOnce$LT$Args$GT$$GT$::call_once::h7b3e75c823aaab91 rustc/lib/rustlib/src/rust/library/alloc/src/boxed.rs:1307:9 (libxul.so+0x7ff8de6)
     #52 std::sys::unix::thread::Thread::new::thread_start::h4b687605f586dc2f rustc/lib/rustlib/src/rust/library/std/src/sys/unix/thread.rs:71:17 (libxul.so+0x7ff8de6)
   Location is heap block of size 1024 at 0x7b6000171400 allocated by thread T20:
     #0 malloc llvm-project/llvm/projects/compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp:652:5 (firefox+0x54e5c)
     #1 std::sys::unix::alloc::_$LT$impl$u20$core..alloc..global..GlobalAlloc$u20$for$u20$std..alloc..System$GT$::alloc::h6641e4e4eed70206 rustc/lib/rustlib/src/rust/library/std/src/sys/unix/alloc.rs:14:13 (libxul.so+0x7ff73ac)
     #2 __rdl_alloc rustc/lib/rustlib/src/rust/library/std/src/alloc.rs:356:13 (libxul.so+0x7ff73ac)
     #3 alloc::alloc::alloc::h8ef18e7b6be25dca rustc/lib/rustlib/src/rust/library/alloc/src/alloc.rs:84:14 (libxul.so+0x7ec38bf)
     #4 alloc::alloc::Global::alloc_impl::he32e5a11b898c446 rustc/lib/rustlib/src/rust/library/alloc/src/alloc.rs:164:73 (libxul.so+0x7ec38bf)
     #5 _$LT$alloc..alloc..Global$u20$as$u20$core..alloc..AllocRef$GT$::alloc::h7d27e330cf455f9a rustc/lib/rustlib/src/rust/library/alloc/src/alloc.rs:224:9 (libxul.so+0x7ec38bf)
     #6 alloc::raw_vec::RawVec$LT$T$C$A$GT$::allocate_in::h0482226b7eeb04db rustc/lib/rustlib/src/rust/library/alloc/src/raw_vec.rs:189:45 (libxul.so+0x7ec38bf)
     #7 alloc::raw_vec::RawVec$LT$T$C$A$GT$::with_capacity_in::h80ede2078ddfe4d7 rustc/lib/rustlib/src/rust/library/alloc/src/raw_vec.rs:130:9 (libxul.so+0x7ec38bf)
     #8 alloc::raw_vec::RawVec$LT$T$GT$::with_capacity::h282c32ce8029e35b rustc/lib/rustlib/src/rust/library/alloc/src/raw_vec.rs:93:9 (libxul.so+0x7ec38bf)
     #9 alloc::vec::Vec$LT$T$GT$::with_capacity::h6c61519b6bb16e62 rustc/lib/rustlib/src/rust/library/alloc/src/vec.rs:363:20 (libxul.so+0x7ec38bf)
     #10 crossbeam_deque::deque::Buffer$LT$T$GT$::alloc::ha04a5d9bd62d9c84 gecko/third_party/rust/crossbeam-deque/src/deque.rs:45:21 (libxul.so+0x7ec38bf)
     #11 crossbeam_deque::deque::Worker$LT$T$GT$::resize::hb280cc67ffb0066a gecko/third_party/rust/crossbeam-deque/src/deque.rs:292:19 (libxul.so+0x7ec38bf)
     #12 crossbeam_deque::deque::Worker$LT$T$GT$::pop::h00911fa64217b311 gecko/third_party/rust/crossbeam-deque/src/deque.rs:526:33 (libxul.so+0x7ec3723)
     #13 rayon_core::registry::WorkerThread::take_local_job::h414cf28f6c815c51 gecko/third_party/rust/rayon-core/src/registry.rs:689:26 (libxul.so+0x7ec3723)
     #14 rayon_core::registry::WorkerThread::wait_until_cold::hbe258d25c64c48f5 gecko/third_party/rust/rayon-core/src/registry.rs:724:32 (libxul.so+0x7ec3723)
     #15 rayon_core::registry::WorkerThread::wait_until::hb4abdecec6e64f2c gecko/third_party/rust/rayon-core/src/registry.rs:704:13 (libxul.so+0x7a03de2)
     #16 rayon_core::scope::ScopeBase::steal_till_jobs_complete::h455a123789391b43 gecko/third_party/rust/rayon-core/src/scope/mod.rs:596:9 (libxul.so+0x7a03de2)
     #17 rayon_core::scope::ScopeBase::complete::hb7ce8bd9d45d9b1e gecko/third_party/rust/rayon-core/src/scope/mod.rs:537:9 (libxul.so+0x7a03de2)
     #18 rayon_core::scope::scope_fifo::_$u7b$$u7b$closure$u7d$$u7d$::h6dc38ea34b72cf45 gecko/third_party/rust/rayon-core/src/scope/mod.rs:384:18 (libxul.so+0x7a03de2)
     #19 rayon_core::registry::in_worker::h2f7f636d20fd61e1 gecko/third_party/rust/rayon-core/src/registry.rs:879:13 (libxul.so+0x79f82d5)
     #20 rayon_core::scope::scope_fifo::h6b7b6902c53e22d8 gecko/third_party/rust/rayon-core/src/scope/mod.rs:382:5 (libxul.so+0x79f82d5)
     #21 style::driver::traverse_dom::_$u7b$$u7b$closure$u7d$$u7d$::h8d54a183e7fd5fa2 gecko/servo/components/style/driver.rs:142:21 (libxul.so+0x79f82d5)
     #22 rayon_core::thread_pool::ThreadPool::install::_$u7b$$u7b$closure$u7d$$u7d$::ha78c861c62f6769f gecko/third_party/rust/rayon-core/src/thread_pool/mod.rs:110:40 (libxul.so+0x79f82d5)
     #23 rayon_core::registry::in_worker::h2f7f636d20fd61e1 gecko/third_party/rust/rayon-core/src/registry.rs:879:13 (libxul.so+0x79f82d5)
     #24 rayon_core::scope::scope_fifo::h6b7b6902c53e22d8 gecko/third_party/rust/rayon-core/src/scope/mod.rs:382:5 (libxul.so+0x79f82d5)
     #25 style::driver::traverse_dom::_$u7b$$u7b$closure$u7d$$u7d$::h8d54a183e7fd5fa2 gecko/servo/components/style/driver.rs:142:21 (libxul.so+0x79f82d5)
     #26 rayon_core::thread_pool::ThreadPool::install::_$u7b$$u7b$closure$u7d$$u7d$::ha78c861c62f6769f gecko/third_party/rust/rayon-core/src/thread_pool/mod.rs:110:40 (libxul.so+0x79f82d5)
     #27 rayon_core::registry::Registry::in_worker_cold::_$u7b$$u7b$closure$u7d$$u7d$::_$u7b$$u7b$closure$u7d$$u7d$::h6340f1bdf1d26b2b gecko/third_party/rust/rayon-core/src/registry.rs:469:21 (libxul.so+0x7a09829)
     #28 _$LT$rayon_core..job..StackJob$LT$L$C$F$C$R$GT$$u20$as$u20$rayon_core..job..Job$GT$::execute::call::_$u7b$$u7b$closure$u7d$$u7d$::hd3fefb1fa62f23f2 gecko/third_party/rust/rayon-core/src/job.rs:113:21 (libxul.so+0x7a09829)
     #29 _$LT$std..panic..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::h1eaafaf676aafbc4 rustc/lib/rustlib/src/rust/library/std/src/panic.rs:322:9 (libxul.so+0x7a09829)
     #30 std::panicking::try::do_call::h4d0078a4404538d2 rustc/lib/rustlib/src/rust/library/std/src/panicking.rs:381:40 (libxul.so+0x7a09829)
     #31 std::panicking::try::h73495634cdd07c36 rustc/lib/rustlib/src/rust/library/std/src/panicking.rs:345:19 (libxul.so+0x7a09829)
     #32 std::panic::catch_unwind::h76540899313c3a96 rustc/lib/rustlib/src/rust/library/std/src/panic.rs:396:14 (libxul.so+0x7a09829)
     #33 rayon_core::unwind::halt_unwinding::h3dcc7f6ebf38c07f gecko/third_party/rust/rayon-core/src/unwind.rs:17:5 (libxul.so+0x7a09829)
     #34 _$LT$rayon_core..job..StackJob$LT$L$C$F$C$R$GT$$u20$as$u20$rayon_core..job..Job$GT$::execute::hd45eaed58ee9163b gecko/third_party/rust/rayon-core/src/job.rs:119:38 (libxul.so+0x7a09829)
     #35 rayon_core::job::JobRef::execute::h56853cba23978f09 gecko/third_party/rust/rayon-core/src/job.rs:59:9 (libxul.so+0x7ec3552)
     #36 rayon_core::registry::WorkerThread::execute::he5c2544d657e6948 gecko/third_party/rust/rayon-core/src/registry.rs:753:9 (libxul.so+0x7ec3552)
     #37 rayon_core::registry::WorkerThread::wait_until_cold::hbe258d25c64c48f5 gecko/third_party/rust/rayon-core/src/registry.rs:730:17 (libxul.so+0x7ec3552)
     #38 rayon_core::registry::WorkerThread::wait_until::hb4abdecec6e64f2c gecko/third_party/rust/rayon-core/src/registry.rs:704:13 (libxul.so+0x7ec76a5)
     #39 rayon_core::registry::main_loop::h8915ba197fff28f4 gecko/third_party/rust/rayon-core/src/registry.rs:837:5 (libxul.so+0x7ec76a5)
     #40 rayon_core::registry::ThreadBuilder::run::hb658baf32f1c0edf gecko/third_party/rust/rayon-core/src/registry.rs:56:18 (libxul.so+0x7ec76a5)
     #41 _$LT$rayon_core..registry..DefaultSpawn$u20$as$u20$rayon_core..registry..ThreadSpawn$GT$::spawn::_$u7b$$u7b$closure$u7d$$u7d$::ha6fa00eac0719f1d gecko/third_party/rust/rayon-core/src/registry.rs:101:20 (libxul.so+0x7ec76a5)
     #42 std::sys_common::backtrace::__rust_begin_short_backtrace::he530ba71b240257e rustc/lib/rustlib/src/rust/library/std/src/sys_common/backtrace.rs:125:18 (libxul.so+0x7ec76a5)
     #43 std::thread::Builder::spawn_unchecked::_$u7b$$u7b$closure$u7d$$u7d$::_$u7b$$u7b$closure$u7d$$u7d$::h25652d185052d985 rustc/lib/rustlib/src/rust/library/std/src/thread/mod.rs:474:17 (libxul.so+0x7ec67cf)
     #44 _$LT$std..panic..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::h3005d32088e8948f rustc/lib/rustlib/src/rust/library/std/src/panic.rs:322:9 (libxul.so+0x7ec67cf)
     #45 std::panicking::try::do_call::hf122fdc0c463f4a7 rustc/lib/rustlib/src/rust/library/std/src/panicking.rs:381:40 (libxul.so+0x7ec67cf)
     #46 std::panicking::try::h190a8dc2b4dd875f rustc/lib/rustlib/src/rust/library/std/src/panicking.rs:345:19 (libxul.so+0x7ec67cf)
     #47 std::panic::catch_unwind::h6a9f16c964c040a3 rustc/lib/rustlib/src/rust/library/std/src/panic.rs:396:14 (libxul.so+0x7ec67cf)
     #48 std::thread::Builder::spawn_unchecked::_$u7b$$u7b$closure$u7d$$u7d$::h11ce72254f299844 rustc/lib/rustlib/src/rust/library/std/src/thread/mod.rs:473:30 (libxul.so+0x7ec67cf)
     #49 core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h7ed13689b2b6929d rustc/lib/rustlib/src/rust/library/core/src/ops/function.rs:227:5 (libxul.so+0x7ec67cf)
     #50 std::thread::Builder::spawn_unchecked::_$u7b$$u7b$closure$u7d$$u7d$::_$u7b$$u7b$closure$u7d$$u7d$::h25652d185052d985 rustc/lib/rustlib/src/rust/library/std/src/thread/mod.rs:474:17 (libxul.so+0x7ec67cf)
     #51 _$LT$std..panic..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::h3005d32088e8948f rustc/lib/rustlib/src/rust/library/std/src/panic.rs:322:9 (libxul.so+0x7ec67cf)
     #52 std::panicking::try::do_call::hf122fdc0c463f4a7 rustc/lib/rustlib/src/rust/library/std/src/panicking.rs:381:40 (libxul.so+0x7ec67cf)
     #53 std::panicking::try::h190a8dc2b4dd875f rustc/lib/rustlib/src/rust/library/std/src/panicking.rs:345:19 (libxul.so+0x7ec67cf)
     #54 std::panic::catch_unwind::h6a9f16c964c040a3 rustc/lib/rustlib/src/rust/library/std/src/panic.rs:396:14 (libxul.so+0x7ec67cf)
     #55 std::thread::Builder::spawn_unchecked::_$u7b$$u7b$closure$u7d$$u7d$::h11ce72254f299844 rustc/lib/rustlib/src/rust/library/std/src/thread/mod.rs:473:30 (libxul.so+0x7ec67cf)
     #56 core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h7ed13689b2b6929d rustc/lib/rustlib/src/rust/library/core/src/ops/function.rs:227:5 (libxul.so+0x7ec67cf)
     #57 _$LT$alloc..boxed..Box$LT$F$C$A$GT$$u20$as$u20$core..ops..function..FnOnce$LT$Args$GT$$GT$::call_once::hb4d0520786147807 rustc/lib/rustlib/src/rust/library/alloc/src/boxed.rs:1307:9 (libxul.so+0x7ff8de6)
     #58 _$LT$alloc..boxed..Box$LT$F$C$A$GT$$u20$as$u20$core..ops..function..FnOnce$LT$Args$GT$$GT$::call_once::h7b3e75c823aaab91 rustc/lib/rustlib/src/rust/library/alloc/src/boxed.rs:1307:9 (libxul.so+0x7ff8de6)
     #59 std::sys::unix::thread::Thread::new::thread_start::h4b687605f586dc2f rustc/lib/rustlib/src/rust/library/std/src/sys/unix/thread.rs:71:17 (libxul.so+0x7ff8de6)
   Thread T21 'StyleThread#1' (tid=3423, running) created by main thread at:
     #0 pthread_create llvm-project/llvm/projects/compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp:966:3 (firefox+0x5668b)
     #1 std::sys::unix::thread::Thread::new::he0fcb8382fb479a0 rustc/lib/rustlib/src/rust/library/std/src/sys/unix/thread.rs:50:19 (libxul.so+0x7ff89b5)
     #2 std::thread::Builder::spawn_unchecked::ha601f745baa9c56b rustc/lib/rustlib/src/rust/library/std/src/thread/mod.rs:498:22 (libxul.so+0x7ec61d7)
     #3 std::thread::Builder::spawn::h3ad6817dae0d71a6 rustc/lib/rustlib/src/rust/library/std/src/thread/mod.rs:381:18 (libxul.so+0x7ec61d7)
     #4 _$LT$rayon_core..registry..DefaultSpawn$u20$as$u20$rayon_core..registry..ThreadSpawn$GT$::spawn::h72e927ef12ab1721 gecko/third_party/rust/rayon-core/src/registry.rs:101:9 (libxul.so+0x7ec61d7)
     #5 rayon_core::registry::Registry::new::hab306d15e6200bd3 gecko/third_party/rust/rayon-core/src/registry.rs:260:29 (libxul.so+0x8128ac7)
     #6 rayon_core::thread_pool::ThreadPool::build::h88161ce417c8eefc gecko/third_party/rust/rayon-core/src/thread_pool/mod.rs:69:24 (libxul.so+0x8128ac7)
     #7 rayon_core::ThreadPoolBuilder$LT$S$GT$::build::hc3d42f131963fd06 gecko/third_party/rust/rayon-core/src/lib.rs:202:9 (libxul.so+0x8128ac7)
     #8 _$LT$style..global_style_data..STYLE_THREAD_POOL$u20$as$u20$core..ops..deref..Deref$GT$::deref::__static_ref_initialize::h32b79a21486e8dfa gecko/servo/components/style/global_style_data.rs:152:27 (libxul.so+0x8128ac7)
     #9 core::ops::function::FnOnce::call_once::hfd8aa1e889f89652 rustc/lib/rustlib/src/rust/library/core/src/ops/function.rs:227:5 (libxul.so+0x8128ac7)
     #10 lazy_static::lazy::Lazy$LT$T$GT$::get::_$u7b$$u7b$closure$u7d$$u7d$::hdf1331e0df157689 gecko/third_party/rust/lazy_static/src/inline_lazy.rs:31:29 (libxul.so+0x8128ac7)
     #11 std::sync::once::Once::call_once::_$u7b$$u7b$closure$u7d$$u7d$::hd1ffaec532db8c01 rustc/lib/rustlib/src/rust/library/std/src/sync/once.rs:261:41 (libxul.so+0x8128ac7)
     #12 std::sync::once::Once::call_inner::h9118e984e86aa9c3 rustc/lib/rustlib/src/rust/library/std/src/sync/once.rs:419:21 (libxul.so+0x7fec822)
     #13 std::sync::once::Once::call_once::h84a0686d71a1c72b rustc/lib/rustlib/src/rust/library/std/src/sync/once.rs:261:9 (libxul.so+0x832bc7d)
     #14 lazy_static::lazy::Lazy$LT$T$GT$::get::h8bfa7001399b788c gecko/third_party/rust/lazy_static/src/inline_lazy.rs:30:9 (libxul.so+0x832bc7d)
     #15 _$LT$style..global_style_data..STYLE_THREAD_POOL$u20$as$u20$core..ops..deref..Deref$GT$::deref::__stability::hb0a2673a21e52338 gecko/third_party/rust/lazy_static/src/lib.rs:142:21 (libxul.so+0x832bc7d)
     #16 _$LT$style..global_style_data..STYLE_THREAD_POOL$u20$as$u20$core..ops..deref..Deref$GT$::deref::h578b0ca9aa209ca2 gecko/third_party/rust/lazy_static/src/lib.rs:144:17 (libxul.so+0x832bc7d)
     #17 geckoservo::glue::traverse_subtree::hca578a3e4bac8c3b gecko/servo/ports/geckolib/glue.rs:255:31 (libxul.so+0x79ecdfc)
     #18 Servo_TraverseSubtree gecko/servo/ports/geckolib/glue.rs:325:5 (libxul.so+0x79ec8c5)
     #19 mozilla::ServoStyleSet::StyleNewSubtree(mozilla::dom::Element*) gecko/layout/style/ServoStyleSet.cpp:806:7 (libxul.so+0x4d3536d)
     #20 nsCSSFrameConstructor::ConstructDocElementFrame(mozilla::dom::Element*) gecko/layout/base/nsCSSFrameConstructor.cpp:2166:29 (libxul.so+0x4e1c549)
     #21 nsCSSFrameConstructor::ContentRangeInserted(nsIContent*, nsIContent*, nsCSSFrameConstructor::InsertionKind) gecko/layout/base/nsCSSFrameConstructor.cpp:6899:9 (libxul.so+0x4e2d5dc)
     #22 nsCSSFrameConstructor::ContentInserted(nsIContent*, nsCSSFrameConstructor::InsertionKind) gecko/layout/base/nsCSSFrameConstructor.cpp:6817:3 (libxul.so+0x4e2d1c1)
     #23 mozilla::PresShell::Initialize() gecko/layout/base/PresShell.cpp:1893:26 (libxul.so+0x4dcc6f9)
     #24 nsContentSink::StartLayout(bool) gecko/dom/base/nsContentSink.cpp:1140:30 (libxul.so+0x25dd676)
     #25 HTMLContentSink::OpenBody() gecko/dom/html/nsHTMLContentSink.cpp:776:3 (libxul.so+0x3ace7b3)
     #26 HTMLContentSink::OpenContainer(nsIHTMLContentSink::ElementType) gecko/dom/html/nsHTMLContentSink.cpp:795:12 (libxul.so+0x3ace804)
     #27 non-virtual thunk to HTMLContentSink::OpenContainer(nsIHTMLContentSink::ElementType) gecko/dom/html/nsHTMLContentSink.cpp (libxul.so+0x3ace9a5)
     #28 CNavDTD::BuildModel(nsITokenizer*, nsIContentSink*) gecko/parser/htmlparser/CNavDTD.cpp:36:14 (libxul.so+0x1bb5cdd)
     #29 BuildModel gecko/parser/htmlparser/nsParser.cpp:1058:22 (libxul.so+0x1bbe381)
     #30 nsParser::ResumeParse(bool, bool, bool) gecko/parser/htmlparser/nsParser.cpp:963:18 (libxul.so+0x1bbe381)
     #31 OnStopRequest gecko/parser/htmlparser/nsParser.cpp:1352:10 (libxul.so+0x1bc0cd0)
     #32 non-virtual thunk to nsParser::OnStopRequest(nsIRequest*, nsresult) gecko/parser/htmlparser/nsParser.cpp (libxul.so+0x1bc0cd0)
     #33 nsDocumentOpenInfo::OnStopRequest(nsIRequest*, nsresult) gecko/uriloader/base/nsURILoader.cpp:215:15 (libxul.so+0x1b39f24)
     #34 nsBaseChannel::OnStopRequest(nsIRequest*, nsresult) gecko/netwerk/base/nsBaseChannel.cpp:853:16 (libxul.so+0xcc3e38)
     #35 non-virtual thunk to nsBaseChannel::OnStopRequest(nsIRequest*, nsresult) gecko/netwerk/base/nsBaseChannel.cpp (libxul.so+0xcc3fb5)
     #36 nsInputStreamPump::OnStateStop() gecko/netwerk/base/nsInputStreamPump.cpp:649:16 (libxul.so+0xceadc3)
     #37 nsInputStreamPump::OnInputStreamReady(nsIAsyncInputStream*) gecko/netwerk/base/nsInputStreamPump.cpp:397:21 (libxul.so+0xce9f12)
     #38 non-virtual thunk to nsInputStreamPump::OnInputStreamReady(nsIAsyncInputStream*) gecko/netwerk/base/nsInputStreamPump.cpp (libxul.so+0xceb049)
     #39 RunAsyncWaitCallback gecko/xpcom/io/NonBlockingAsyncInputStream.cpp:397:13 (libxul.so+0xb18bbc)
     #40 mozilla::NonBlockingAsyncInputStream::AsyncWaitRunnable::Run() gecko/xpcom/io/NonBlockingAsyncInputStream.cpp:33:14 (libxul.so+0xb18bbc)
     #41 mozilla::RunnableTask::Run() gecko/xpcom/threads/TaskController.cpp:459:16 (libxul.so+0xb78272)
     #42 mozilla::TaskController::DoExecuteNextTaskOnlyMainThreadInternal(mozilla::detail::BaseAutoLock<mozilla::Mutex&> const&) gecko/xpcom/threads/TaskController.cpp:739:26 (libxul.so+0xb761b0)
     #43 mozilla::TaskController::ExecuteNextTaskOnlyMainThreadInternal(mozilla::detail::BaseAutoLock<mozilla::Mutex&> const&) gecko/xpcom/threads/TaskController.cpp:598:15 (libxul.so+0xb74e16)
     #44 mozilla::TaskController::ProcessPendingMTTask(bool) gecko/xpcom/threads/TaskController.cpp:382:36 (libxul.so+0xb750b4)
     #45 operator() gecko/xpcom/threads/TaskController.cpp:123:37 (libxul.so+0xb7b267)
     #46 mozilla::detail::RunnableFunction<mozilla::TaskController::InitializeInternal()::$_3>::Run() /builds/worker/workspace/obj-build/dist/include/nsThreadUtils.h:534:5 (libxul.so+0xb7b267)
     #47 nsThread::ProcessNextEvent(bool, bool*) gecko/xpcom/threads/nsThread.cpp:1200:14 (libxul.so+0xb8c2aa)
     #48 NS_ProcessNextEvent(nsIThread*, bool) gecko/xpcom/threads/nsThreadUtils.cpp:548:10 (libxul.so+0xb91fe2)
     #49 mozilla::ipc::MessagePump::Run(base::MessagePump::Delegate*) gecko/ipc/glue/MessagePump.cpp:87:21 (libxul.so+0x148dfad)
     #50 mozilla::ipc::MessagePumpForChildProcess::Run(base::MessagePump::Delegate*) gecko/ipc/glue/MessagePump.cpp:270:30 (libxul.so+0x148ea4b)
     #51 RunInternal gecko/ipc/chromium/src/base/message_loop.cc:334:10 (libxul.so+0x141941c)
     #52 RunHandler gecko/ipc/chromium/src/base/message_loop.cc:327:3 (libxul.so+0x141941c)
     #53 MessageLoop::Run() gecko/ipc/chromium/src/base/message_loop.cc:309:3 (libxul.so+0x141941c)
     #54 nsBaseAppShell::Run() gecko/widget/nsBaseAppShell.cpp:137:27 (libxul.so+0x4adc1d6)
     #55 XRE_RunAppShell() gecko/toolkit/xre/nsEmbedFunctions.cpp:902:20 (libxul.so+0x6741669)
     #56 mozilla::ipc::MessagePumpForChildProcess::Run(base::MessagePump::Delegate*) gecko/ipc/glue/MessagePump.cpp:237:9 (libxul.so+0x148e9fd)
     #57 RunInternal gecko/ipc/chromium/src/base/message_loop.cc:334:10 (libxul.so+0x141941c)
     #58 RunHandler gecko/ipc/chromium/src/base/message_loop.cc:327:3 (libxul.so+0x141941c)
     #59 MessageLoop::Run() gecko/ipc/chromium/src/base/message_loop.cc:309:3 (libxul.so+0x141941c)
     #60 XRE_InitChildProcess(int, char**, XREChildData const*) gecko/toolkit/xre/nsEmbedFunctions.cpp:733:34 (libxul.so+0x67413ea)
     #61 mozilla::BootstrapImpl::XRE_InitChildProcess(int, char**, XREChildData const*) gecko/toolkit/xre/Bootstrap.cpp:67:12 (libxul.so+0x6749082)
     #62 content_process_main gecko/browser/app/../../ipc/contentproc/plugin-container.cpp:57:28 (firefox+0xc7901)
     #63 main gecko/browser/app/nsBrowserApp.cpp:305:18 (firefox+0xc7901)
   Thread T20 'StyleThread#0' (tid=3422, running) created by main thread at:
     #0 pthread_create llvm-project/llvm/projects/compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp:966:3 (firefox+0x5668b)
     #1 std::sys::unix::thread::Thread::new::he0fcb8382fb479a0 rustc/lib/rustlib/src/rust/library/std/src/sys/unix/thread.rs:50:19 (libxul.so+0x7ff89b5)
     #2 std::thread::Builder::spawn_unchecked::ha601f745baa9c56b rustc/lib/rustlib/src/rust/library/std/src/thread/mod.rs:498:22 (libxul.so+0x7ec61d7)
     #3 std::thread::Builder::spawn::h3ad6817dae0d71a6 rustc/lib/rustlib/src/rust/library/std/src/thread/mod.rs:381:18 (libxul.so+0x7ec61d7)
     #4 _$LT$rayon_core..registry..DefaultSpawn$u20$as$u20$rayon_core..registry..ThreadSpawn$GT$::spawn::h72e927ef12ab1721 gecko/third_party/rust/rayon-core/src/registry.rs:101:9 (libxul.so+0x7ec61d7)
     #5 rayon_core::registry::Registry::new::hab306d15e6200bd3 gecko/third_party/rust/rayon-core/src/registry.rs:260:29 (libxul.so+0x8128ac7)
     #6 rayon_core::thread_pool::ThreadPool::build::h88161ce417c8eefc gecko/third_party/rust/rayon-core/src/thread_pool/mod.rs:69:24 (libxul.so+0x8128ac7)
     #7 rayon_core::ThreadPoolBuilder$LT$S$GT$::build::hc3d42f131963fd06 gecko/third_party/rust/rayon-core/src/lib.rs:202:9 (libxul.so+0x8128ac7)
     #8 _$LT$style..global_style_data..STYLE_THREAD_POOL$u20$as$u20$core..ops..deref..Deref$GT$::deref::__static_ref_initialize::h32b79a21486e8dfa gecko/servo/components/style/global_style_data.rs:152:27 (libxul.so+0x8128ac7)
     #9 core::ops::function::FnOnce::call_once::hfd8aa1e889f89652 rustc/lib/rustlib/src/rust/library/core/src/ops/function.rs:227:5 (libxul.so+0x8128ac7)
     #10 lazy_static::lazy::Lazy$LT$T$GT$::get::_$u7b$$u7b$closure$u7d$$u7d$::hdf1331e0df157689 gecko/third_party/rust/lazy_static/src/inline_lazy.rs:31:29 (libxul.so+0x8128ac7)
     #11 std::sync::once::Once::call_once::_$u7b$$u7b$closure$u7d$$u7d$::hd1ffaec532db8c01 rustc/lib/rustlib/src/rust/library/std/src/sync/once.rs:261:41 (libxul.so+0x8128ac7)
     #12 std::sync::once::Once::call_inner::h9118e984e86aa9c3 rustc/lib/rustlib/src/rust/library/std/src/sync/once.rs:419:21 (libxul.so+0x7fec822)
     #13 std::sync::once::Once::call_once::h84a0686d71a1c72b rustc/lib/rustlib/src/rust/library/std/src/sync/once.rs:261:9 (libxul.so+0x832bc7d)
     #14 lazy_static::lazy::Lazy$LT$T$GT$::get::h8bfa7001399b788c gecko/third_party/rust/lazy_static/src/inline_lazy.rs:30:9 (libxul.so+0x832bc7d)
     #15 _$LT$style..global_style_data..STYLE_THREAD_POOL$u20$as$u20$core..ops..deref..Deref$GT$::deref::__stability::hb0a2673a21e52338 gecko/third_party/rust/lazy_static/src/lib.rs:142:21 (libxul.so+0x832bc7d)
     #16 _$LT$style..global_style_data..STYLE_THREAD_POOL$u20$as$u20$core..ops..deref..Deref$GT$::deref::h578b0ca9aa209ca2 gecko/third_party/rust/lazy_static/src/lib.rs:144:17 (libxul.so+0x832bc7d)
     #17 geckoservo::glue::traverse_subtree::hca578a3e4bac8c3b gecko/servo/ports/geckolib/glue.rs:255:31 (libxul.so+0x79ecdfc)
     #18 Servo_TraverseSubtree gecko/servo/ports/geckolib/glue.rs:325:5 (libxul.so+0x79ec8c5)
     #19 mozilla::ServoStyleSet::StyleNewSubtree(mozilla::dom::Element*) gecko/layout/style/ServoStyleSet.cpp:806:7 (libxul.so+0x4d3536d)
     #20 nsCSSFrameConstructor::ConstructDocElementFrame(mozilla::dom::Element*) gecko/layout/base/nsCSSFrameConstructor.cpp:2166:29 (libxul.so+0x4e1c549)
     #21 nsCSSFrameConstructor::ContentRangeInserted(nsIContent*, nsIContent*, nsCSSFrameConstructor::InsertionKind) gecko/layout/base/nsCSSFrameConstructor.cpp:6899:9 (libxul.so+0x4e2d5dc)
     #22 nsCSSFrameConstructor::ContentInserted(nsIContent*, nsCSSFrameConstructor::InsertionKind) gecko/layout/base/nsCSSFrameConstructor.cpp:6817:3 (libxul.so+0x4e2d1c1)
     #23 mozilla::PresShell::Initialize() gecko/layout/base/PresShell.cpp:1893:26 (libxul.so+0x4dcc6f9)
     #24 nsContentSink::StartLayout(bool) gecko/dom/base/nsContentSink.cpp:1140:30 (libxul.so+0x25dd676)
     #25 HTMLContentSink::OpenBody() gecko/dom/html/nsHTMLContentSink.cpp:776:3 (libxul.so+0x3ace7b3)
     #26 HTMLContentSink::OpenContainer(nsIHTMLContentSink::ElementType) gecko/dom/html/nsHTMLContentSink.cpp:795:12 (libxul.so+0x3ace804)
     #27 non-virtual thunk to HTMLContentSink::OpenContainer(nsIHTMLContentSink::ElementType) gecko/dom/html/nsHTMLContentSink.cpp (libxul.so+0x3ace9a5)
     #28 CNavDTD::BuildModel(nsITokenizer*, nsIContentSink*) gecko/parser/htmlparser/CNavDTD.cpp:36:14 (libxul.so+0x1bb5cdd)
     #29 BuildModel gecko/parser/htmlparser/nsParser.cpp:1058:22 (libxul.so+0x1bbe381)
     #30 nsParser::ResumeParse(bool, bool, bool) gecko/parser/htmlparser/nsParser.cpp:963:18 (libxul.so+0x1bbe381)
     #31 OnStopRequest gecko/parser/htmlparser/nsParser.cpp:1352:10 (libxul.so+0x1bc0cd0)
     #32 non-virtual thunk to nsParser::OnStopRequest(nsIRequest*, nsresult) gecko/parser/htmlparser/nsParser.cpp (libxul.so+0x1bc0cd0)
     #33 nsDocumentOpenInfo::OnStopRequest(nsIRequest*, nsresult) gecko/uriloader/base/nsURILoader.cpp:215:15 (libxul.so+0x1b39f24)
     #34 nsBaseChannel::OnStopRequest(nsIRequest*, nsresult) gecko/netwerk/base/nsBaseChannel.cpp:853:16 (libxul.so+0xcc3e38)
     #35 non-virtual thunk to nsBaseChannel::OnStopRequest(nsIRequest*, nsresult) gecko/netwerk/base/nsBaseChannel.cpp (libxul.so+0xcc3fb5)
     #36 nsInputStreamPump::OnStateStop() gecko/netwerk/base/nsInputStreamPump.cpp:649:16 (libxul.so+0xceadc3)
     #37 nsInputStreamPump::OnInputStreamReady(nsIAsyncInputStream*) gecko/netwerk/base/nsInputStreamPump.cpp:397:21 (libxul.so+0xce9f12)
     #38 non-virtual thunk to nsInputStreamPump::OnInputStreamReady(nsIAsyncInputStream*) gecko/netwerk/base/nsInputStreamPump.cpp (libxul.so+0xceb049)
     #39 RunAsyncWaitCallback gecko/xpcom/io/NonBlockingAsyncInputStream.cpp:397:13 (libxul.so+0xb18bbc)
     #40 mozilla::NonBlockingAsyncInputStream::AsyncWaitRunnable::Run() gecko/xpcom/io/NonBlockingAsyncInputStream.cpp:33:14 (libxul.so+0xb18bbc)
     #41 mozilla::RunnableTask::Run() gecko/xpcom/threads/TaskController.cpp:459:16 (libxul.so+0xb78272)
     #42 mozilla::TaskController::DoExecuteNextTaskOnlyMainThreadInternal(mozilla::detail::BaseAutoLock<mozilla::Mutex&> const&) gecko/xpcom/threads/TaskController.cpp:739:26 (libxul.so+0xb761b0)
     #43 mozilla::TaskController::ExecuteNextTaskOnlyMainThreadInternal(mozilla::detail::BaseAutoLock<mozilla::Mutex&> const&) gecko/xpcom/threads/TaskController.cpp:598:15 (libxul.so+0xb74e16)
     #44 mozilla::TaskController::ProcessPendingMTTask(bool) gecko/xpcom/threads/TaskController.cpp:382:36 (libxul.so+0xb750b4)
     #45 operator() gecko/xpcom/threads/TaskController.cpp:123:37 (libxul.so+0xb7b267)
     #46 mozilla::detail::RunnableFunction<mozilla::TaskController::InitializeInternal()::$_3>::Run() /builds/worker/workspace/obj-build/dist/include/nsThreadUtils.h:534:5 (libxul.so+0xb7b267)
     #47 nsThread::ProcessNextEvent(bool, bool*) gecko/xpcom/threads/nsThread.cpp:1200:14 (libxul.so+0xb8c2aa)
     #48 NS_ProcessNextEvent(nsIThread*, bool) gecko/xpcom/threads/nsThreadUtils.cpp:548:10 (libxul.so+0xb91fe2)
     #49 mozilla::ipc::MessagePump::Run(base::MessagePump::Delegate*) gecko/ipc/glue/MessagePump.cpp:87:21 (libxul.so+0x148dfad)
     #50 mozilla::ipc::MessagePumpForChildProcess::Run(base::MessagePump::Delegate*) gecko/ipc/glue/MessagePump.cpp:270:30 (libxul.so+0x148ea4b)
     #51 RunInternal gecko/ipc/chromium/src/base/message_loop.cc:334:10 (libxul.so+0x141941c)
     #52 RunHandler gecko/ipc/chromium/src/base/message_loop.cc:327:3 (libxul.so+0x141941c)
     #53 MessageLoop::Run() gecko/ipc/chromium/src/base/message_loop.cc:309:3 (libxul.so+0x141941c)
     #54 nsBaseAppShell::Run() gecko/widget/nsBaseAppShell.cpp:137:27 (libxul.so+0x4adc1d6)
     #55 XRE_RunAppShell() gecko/toolkit/xre/nsEmbedFunctions.cpp:902:20 (libxul.so+0x6741669)
     #56 mozilla::ipc::MessagePumpForChildProcess::Run(base::MessagePump::Delegate*) gecko/ipc/glue/MessagePump.cpp:237:9 (libxul.so+0x148e9fd)
     #57 RunInternal gecko/ipc/chromium/src/base/message_loop.cc:334:10 (libxul.so+0x141941c)
     #58 RunHandler gecko/ipc/chromium/src/base/message_loop.cc:327:3 (libxul.so+0x141941c)
     #59 MessageLoop::Run() gecko/ipc/chromium/src/base/message_loop.cc:309:3 (libxul.so+0x141941c)
     #60 XRE_InitChildProcess(int, char**, XREChildData const*) gecko/toolkit/xre/nsEmbedFunctions.cpp:733:34 (libxul.so+0x67413ea)
     #61 mozilla::BootstrapImpl::XRE_InitChildProcess(int, char**, XREChildData const*) gecko/toolkit/xre/Bootstrap.cpp:67:12 (libxul.so+0x6749082)
     #62 content_process_main gecko/browser/app/../../ipc/contentproc/plugin-container.cpp:57:28 (firefox+0xc7901)
     #63 main gecko/browser/app/nsBrowserApp.cpp:305:18 (firefox+0xc7901)
 SUMMARY: ThreadSanitizer: data race rustc/lib/rustlib/src/rust/library/core/src/ptr/mod.rs:1052:14 in core::ptr::read_volatile::h6791bf575cf2c252
 ==================
@taiki-e
Copy link
Member

taiki-e commented Jan 12, 2021

This is a duplicate of #589

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

No branches or pull requests

2 participants