==================
230
WARNING: ThreadSanitizer: lock-order-inversion (potential deadlock) (pid=16915)
231
Cycle in lock order graph: M354 (0x7b1400005000) => M352 (0x7b14000050a0) => M354
232
233
Mutex M352 acquired here while holding mutex M354 in thread T17:
234
#0 pthread_rwlock_rdlock /rustc/llvm/src/llvm-project/compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp:1335 (agatedb-2d8b3cfdced45fcd+0x3fd26)
235
#1 std::sys::unix::rwlock::RWLock::read /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/sys/unix/rwlock.rs:23 (agatedb-2d8b3cfdced45fcd+0x1efdb8)
236
#2 std::sys_common::rwlock::RWLock::read /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/sys_common/rwlock.rs:26 (agatedb-2d8b3cfdced45fcd+0x1d8077)
237
#3 std::sync::rwlock::RwLock<T>::read /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/sync/rwlock.rs:182 (agatedb-2d8b3cfdced45fcd+0x198144)
238
#4 agatedb::levels::Core::pick_compact_levels /home/runner/work/agatedb/agatedb/src/levels.rs:659 (agatedb-2d8b3cfdced45fcd+0x2505bb)
239
#5 agatedb::levels::LevelsController::run_compactor::{{closure}}::{{closure}} /home/runner/work/agatedb/agatedb/src/levels.rs:717 (agatedb-2d8b3cfdced45fcd+0x24174f)
240
#6 agatedb::levels::LevelsController::run_compactor::{{closure}} /home/runner/work/agatedb/agatedb/src/levels.rs:742 (agatedb-2d8b3cfdced45fcd+0x24220f)
241
#7 core::ops::function::FnOnce::call_once /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ops/function.rs:227 (agatedb-2d8b3cfdced45fcd+0x15c473)
242
#8 core::ops::function::FnOnce::call_once{{vtable-shim}} /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ops/function.rs:227 (agatedb-2d8b3cfdced45fcd+0x15b7fb)
243
#9 <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/alloc/src/boxed.rs:1318 (agatedb-2d8b3cfdced45fcd+0x42986f)
244
#10 <yatp::task::callback::Runner as yatp::pool::runner::Runner>::handle /home/runner/.cargo/git/checkouts/yatp-e704b73c3ee279b6/6bbea16/src/task/callback.rs:152 (agatedb-2d8b3cfdced45fcd+0x4606b9)
245
#11 yatp::pool::worker::WorkerThread<T,R>::run /home/runner/.cargo/git/checkouts/yatp-e704b73c3ee279b6/6bbea16/src/pool/worker.rs:48 (agatedb-2d8b3cfdced45fcd+0x422ca4)
246
#12 yatp::pool::builder::LazyBuilder<T>::build::{{closure}} /home/runner/.cargo/git/checkouts/yatp-e704b73c3ee279b6/6bbea16/src/pool/builder.rs:91 (agatedb-2d8b3cfdced45fcd+0x46763a)
247
#13 std::sys_common::backtrace::__rust_begin_short_backtrace /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/sys_common/backtrace.rs:125 (agatedb-2d8b3cfdced45fcd+0x42a016)
248
#14 std::thread::Builder::spawn_unchecked::{{closure}}::{{closure}} /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/thread/mod.rs:474 (agatedb-2d8b3cfdced45fcd+0x4409aa)
249
#15 <std::panic::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panic.rs:322 (agatedb-2d8b3cfdced45fcd+0x43e60a)
250
#16 std::panicking::try::do_call /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panicking.rs:379 (agatedb-2d8b3cfdced45fcd+0x454ad9)
251
#17 __rust_try yatp.da9dazvp-cgu.7:? (agatedb-2d8b3cfdced45fcd+0x459c2b)
252
#18 std::panicking::try /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panicking.rs:343 (agatedb-2d8b3cfdced45fcd+0x454987)
253
#19 std::panic::catch_unwind /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panic.rs:396 (agatedb-2d8b3cfdced45fcd+0x43f6ea)
254
#20 std::thread::Builder::spawn_unchecked::{{closure}} /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/thread/mod.rs:473 (agatedb-2d8b3cfdced45fcd+0x440727)
255
#21 core::ops::function::FnOnce::call_once{{vtable-shim}} /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ops/function.rs:227 (agatedb-2d8b3cfdced45fcd+0x41a4cb)
256
#22 <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/alloc/src/boxed.rs:1318 (agatedb-2d8b3cfdced45fcd+0x630f3b)
257
#23 <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/alloc/src/boxed.rs:1318 (agatedb-2d8b3cfdced45fcd+0x631036)
258
#24 std::sys::unix::thread::Thread::new::thread_start /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/sys/unix/thread.rs:71 (agatedb-2d8b3cfdced45fcd+0x675cb3)
259
260
Hint: use TSAN_OPTIONS=second_deadlock_stack=1 to get more informative warning message
261
262
Mutex M354 acquired here while holding mutex M352 in thread T17:
263
#0 pthread_rwlock_wrlock /rustc/llvm/src/llvm-project/compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp:1365 (agatedb-2d8b3cfdced45fcd+0x400f6)
264
#1 std::sys::unix::rwlock::RWLock::write /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/sys/unix/rwlock.rs:73 (agatedb-2d8b3cfdced45fcd+0x1f016e)
265
#2 std::sys_common::rwlock::RWLock::write /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/sys_common/rwlock.rs:48 (agatedb-2d8b3cfdced45fcd+0x1d80d7)
266
#3 std::sync::rwlock::RwLock<T>::write /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/sync/rwlock.rs:264 (agatedb-2d8b3cfdced45fcd+0x198471)
267
#4 agatedb::levels::Core::fill_tables_l0_to_lbase /home/runner/work/agatedb/agatedb/src/levels.rs:163 (agatedb-2d8b3cfdced45fcd+0x248cad)
268
#5 agatedb::levels::Core::fill_tables_l0 /home/runner/work/agatedb/agatedb/src/levels.rs:224 (agatedb-2d8b3cfdced45fcd+0x249fc7)
269
#6 agatedb::levels::Core::do_compact /home/runner/work/agatedb/agatedb/src/levels.rs:558 (agatedb-2d8b3cfdced45fcd+0x24e97c)
270
#7 agatedb::levels::LevelsController::run_compactor::{{closure}}::{{closure}} /home/runner/work/agatedb/agatedb/src/levels.rs:732 (agatedb-2d8b3cfdced45fcd+0x241b70)
271
#8 agatedb::levels::LevelsController::run_compactor::{{closure}} /home/runner/work/agatedb/agatedb/src/levels.rs:742 (agatedb-2d8b3cfdced45fcd+0x24220f)
272
#9 core::ops::function::FnOnce::call_once /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ops/function.rs:227 (agatedb-2d8b3cfdced45fcd+0x15c473)
273
#10 core::ops::function::FnOnce::call_once{{vtable-shim}} /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ops/function.rs:227 (agatedb-2d8b3cfdced45fcd+0x15b7fb)
274
#11 <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/alloc/src/boxed.rs:1318 (agatedb-2d8b3cfdced45fcd+0x42986f)
275
#12 <yatp::task::callback::Runner as yatp::pool::runner::Runner>::handle /home/runner/.cargo/git/checkouts/yatp-e704b73c3ee279b6/6bbea16/src/task/callback.rs:152 (agatedb-2d8b3cfdced45fcd+0x4606b9)
276
#13 yatp::pool::worker::WorkerThread<T,R>::run /home/runner/.cargo/git/checkouts/yatp-e704b73c3ee279b6/6bbea16/src/pool/worker.rs:48 (agatedb-2d8b3cfdced45fcd+0x422ca4)
277
#14 yatp::pool::builder::LazyBuilder<T>::build::{{closure}} /home/runner/.cargo/git/checkouts/yatp-e704b73c3ee279b6/6bbea16/src/pool/builder.rs:91 (agatedb-2d8b3cfdced45fcd+0x46763a)
278
#15 std::sys_common::backtrace::__rust_begin_short_backtrace /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/sys_common/backtrace.rs:125 (agatedb-2d8b3cfdced45fcd+0x42a016)
279
#16 std::thread::Builder::spawn_unchecked::{{closure}}::{{closure}} /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/thread/mod.rs:474 (agatedb-2d8b3cfdced45fcd+0x4409aa)
280
#17 <std::panic::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panic.rs:322 (agatedb-2d8b3cfdced45fcd+0x43e60a)
281
#18 std::panicking::try::do_call /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panicking.rs:379 (agatedb-2d8b3cfdced45fcd+0x454ad9)
282
#19 __rust_try yatp.da9dazvp-cgu.7:? (agatedb-2d8b3cfdced45fcd+0x459c2b)
283
#20 std::panicking::try /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panicking.rs:343 (agatedb-2d8b3cfdced45fcd+0x454987)
284
#21 std::panic::catch_unwind /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panic.rs:396 (agatedb-2d8b3cfdced45fcd+0x43f6ea)
285
#22 std::thread::Builder::spawn_unchecked::{{closure}} /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/thread/mod.rs:473 (agatedb-2d8b3cfdced45fcd+0x440727)
286
#23 core::ops::function::FnOnce::call_once{{vtable-shim}} /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ops/function.rs:227 (agatedb-2d8b3cfdced45fcd+0x41a4cb)
287
#24 <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/alloc/src/boxed.rs:1318 (agatedb-2d8b3cfdced45fcd+0x630f3b)
288
#25 <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/alloc/src/boxed.rs:1318 (agatedb-2d8b3cfdced45fcd+0x631036)
289
#26 std::sys::unix::thread::Thread::new::thread_start /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/sys/unix/thread.rs:71 (agatedb-2d8b3cfdced45fcd+0x675cb3)
290
291
Thread T17 'agatedb-1' (tid=16933, running) created by thread T15 at:
292
#0 pthread_create /rustc/llvm/src/llvm-project/compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp:966 (agatedb-2d8b3cfdced45fcd+0x3da7b)
293
#1 std::sys::unix::thread::Thread::new /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/sys/unix/thread.rs:50 (agatedb-2d8b3cfdced45fcd+0x67582b)
294
#2 std::thread::Builder::spawn_unchecked /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/thread/mod.rs:498 (agatedb-2d8b3cfdced45fcd+0x440041)
295
#3 std::thread::Builder::spawn /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/thread/mod.rs:381 (agatedb-2d8b3cfdced45fcd+0x440a6a)
296
#4 yatp::pool::builder::LazyBuilder<T>::build /home/runner/.cargo/git/checkouts/yatp-e704b73c3ee279b6/6bbea16/src/pool/builder.rs:89 (agatedb-2d8b3cfdced45fcd+0x4671b6)
297
#5 yatp::pool::builder::Builder::build_with_queue_and_runner /home/runner/.cargo/git/checkouts/yatp-e704b73c3ee279b6/6bbea16/src/pool/builder.rs:260 (agatedb-2d8b3cfdced45fcd+0x467d91)
298
#6 yatp::pool::builder::Builder::build_callback_pool /home/runner/.cargo/git/checkouts/yatp-e704b73c3ee279b6/6bbea16/src/pool/builder.rs:225 (agatedb-2d8b3cfdced45fcd+0x467c8c)
299
#7 agatedb::db::Agate::new /home/runner/work/agatedb/agatedb/src/db.rs:72 (agatedb-2d8b3cfdced45fcd+0x17e172)
300
#8 agatedb::db::AgateOptions::open /home/runner/work/agatedb/agatedb/src/db.rs:233 (agatedb-2d8b3cfdced45fcd+0x137bd4)
301
#9 agatedb::db::tests::with_agate_test::{{closure}} /home/runner/work/agatedb/agatedb/src/db.rs:618 (agatedb-2d8b3cfdced45fcd+0x1f3ace)
302
#10 std::sys_common::backtrace::__rust_begin_short_backtrace /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/sys_common/backtrace.rs:125 (agatedb-2d8b3cfdced45fcd+0x252f49)
303
#11 std::thread::Builder::spawn_unchecked::{{closure}}::{{closure}} /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/thread/mod.rs:474 (agatedb-2d8b3cfdced45fcd+0x259779)
304
#12 <std::panic::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panic.rs:322 (agatedb-2d8b3cfdced45fcd+0x122919)
305
#13 std::panicking::try::do_call /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panicking.rs:379 (agatedb-2d8b3cfdced45fcd+0xc695a)
306
#14 __rust_try 1dzu5xa3oeqaq90p:? (agatedb-2d8b3cfdced45fcd+0xc744b)
307
#15 std::panicking::try /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panicking.rs:343 (agatedb-2d8b3cfdced45fcd+0xc66c8)
308
#16 std::panic::catch_unwind /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panic.rs:396 (agatedb-2d8b3cfdced45fcd+0x122b79)
309
#17 std::thread::Builder::spawn_unchecked::{{closure}} /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/thread/mod.rs:473 (agatedb-2d8b3cfdced45fcd+0x259019)
310
#18 core::ops::function::FnOnce::call_once{{vtable-shim}} /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ops/function.rs:227 (agatedb-2d8b3cfdced45fcd+0x15b797)
311
#19 <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/alloc/src/boxed.rs:1318 (agatedb-2d8b3cfdced45fcd+0x630f3b)
312
#20 <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/alloc/src/boxed.rs:1318 (agatedb-2d8b3cfdced45fcd+0x631036)
313
#21 std::sys::unix::thread::Thread::new::thread_start /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/sys/unix/thread.rs:71 (agatedb-2d8b3cfdced45fcd+0x675cb3)
314
315
SUMMARY: ThreadSanitizer: lock-order-inversion (potential deadlock) /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/sys/unix/rwlock.rs:23 in std::sys::unix::rwlock::RWLock::read
316
==================
317
==================
318
WARNING: ThreadSanitizer: lock-order-inversion (potential deadlock) (pid=16915)
319
Cycle in lock order graph: M353 (0x7b1400005230) => M354 (0x7b1400005000) => M353
320
321
Mutex M354 acquired here while holding mutex M353 in thread T17:
322
#0 pthread_rwlock_wrlock /rustc/llvm/src/llvm-project/compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp:1365 (agatedb-2d8b3cfdced45fcd+0x400f6)
323
#1 std::sys::unix::rwlock::RWLock::write /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/sys/unix/rwlock.rs:73 (agatedb-2d8b3cfdced45fcd+0x1f016e)
324
#2 std::sys_common::rwlock::RWLock::write /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/sys_common/rwlock.rs:48 (agatedb-2d8b3cfdced45fcd+0x1d80d7)
325
#3 std::sync::rwlock::RwLock<T>::write /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/sync/rwlock.rs:264 (agatedb-2d8b3cfdced45fcd+0x198471)
326
#4 agatedb::levels::Core::fill_tables_l0_to_lbase /home/runner/work/agatedb/agatedb/src/levels.rs:163 (agatedb-2d8b3cfdced45fcd+0x248cad)
327
#5 agatedb::levels::Core::fill_tables_l0 /home/runner/work/agatedb/agatedb/src/levels.rs:224 (agatedb-2d8b3cfdced45fcd+0x249fc7)
328
#6 agatedb::levels::Core::do_compact /home/runner/work/agatedb/agatedb/src/levels.rs:558 (agatedb-2d8b3cfdced45fcd+0x24e97c)
329
#7 agatedb::levels::LevelsController::run_compactor::{{closure}}::{{closure}} /home/runner/work/agatedb/agatedb/src/levels.rs:732 (agatedb-2d8b3cfdced45fcd+0x241b70)
330
#8 agatedb::levels::LevelsController::run_compactor::{{closure}} /home/runner/work/agatedb/agatedb/src/levels.rs:742 (agatedb-2d8b3cfdced45fcd+0x24220f)
331
#9 core::ops::function::FnOnce::call_once /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ops/function.rs:227 (agatedb-2d8b3cfdced45fcd+0x15c473)
332
#10 core::ops::function::FnOnce::call_once{{vtable-shim}} /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ops/function.rs:227 (agatedb-2d8b3cfdced45fcd+0x15b7fb)
333
#11 <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/alloc/src/boxed.rs:1318 (agatedb-2d8b3cfdced45fcd+0x42986f)
334
#12 <yatp::task::callback::Runner as yatp::pool::runner::Runner>::handle /home/runner/.cargo/git/checkouts/yatp-e704b73c3ee279b6/6bbea16/src/task/callback.rs:152 (agatedb-2d8b3cfdced45fcd+0x4606b9)
335
#13 yatp::pool::worker::WorkerThread<T,R>::run /home/runner/.cargo/git/checkouts/yatp-e704b73c3ee279b6/6bbea16/src/pool/worker.rs:48 (agatedb-2d8b3cfdced45fcd+0x422ca4)
336
#14 yatp::pool::builder::LazyBuilder<T>::build::{{closure}} /home/runner/.cargo/git/checkouts/yatp-e704b73c3ee279b6/6bbea16/src/pool/builder.rs:91 (agatedb-2d8b3cfdced45fcd+0x46763a)
337
#15 std::sys_common::backtrace::__rust_begin_short_backtrace /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/sys_common/backtrace.rs:125 (agatedb-2d8b3cfdced45fcd+0x42a016)
338
#16 std::thread::Builder::spawn_unchecked::{{closure}}::{{closure}} /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/thread/mod.rs:474 (agatedb-2d8b3cfdced45fcd+0x4409aa)
339
#17 <std::panic::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panic.rs:322 (agatedb-2d8b3cfdced45fcd+0x43e60a)
340
#18 std::panicking::try::do_call /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panicking.rs:379 (agatedb-2d8b3cfdced45fcd+0x454ad9)
341
#19 __rust_try yatp.da9dazvp-cgu.7:? (agatedb-2d8b3cfdced45fcd+0x459c2b)
342
#20 std::panicking::try /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panicking.rs:343 (agatedb-2d8b3cfdced45fcd+0x454987)
343
#21 std::panic::catch_unwind /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panic.rs:396 (agatedb-2d8b3cfdced45fcd+0x43f6ea)
344
#22 std::thread::Builder::spawn_unchecked::{{closure}} /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/thread/mod.rs:473 (agatedb-2d8b3cfdced45fcd+0x440727)
345
#23 core::ops::function::FnOnce::call_once{{vtable-shim}} /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ops/function.rs:227 (agatedb-2d8b3cfdced45fcd+0x41a4cb)
346
#24 <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/alloc/src/boxed.rs:1318 (agatedb-2d8b3cfdced45fcd+0x630f3b)
347
#25 <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/alloc/src/boxed.rs:1318 (agatedb-2d8b3cfdced45fcd+0x631036)
348
#26 std::sys::unix::thread::Thread::new::thread_start /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/sys/unix/thread.rs:71 (agatedb-2d8b3cfdced45fcd+0x675cb3)
349
350
Hint: use TSAN_OPTIONS=second_deadlock_stack=1 to get more informative warning message
351
352
Mutex M353 acquired here while holding mutex M354 in thread T17:
353
#0 pthread_rwlock_rdlock /rustc/llvm/src/llvm-project/compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp:1335 (agatedb-2d8b3cfdced45fcd+0x3fd26)
354
#1 std::sys::unix::rwlock::RWLock::read /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/sys/unix/rwlock.rs:23 (agatedb-2d8b3cfdced45fcd+0x1efdb8)
355
#2 std::sys_common::rwlock::RWLock::read /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/sys_common/rwlock.rs:26 (agatedb-2d8b3cfdced45fcd+0x1d8077)
356
#3 std::sync::rwlock::RwLock<T>::read /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/sync/rwlock.rs:182 (agatedb-2d8b3cfdced45fcd+0x198144)
357
#4 agatedb::levels::compaction::CompactStatus::delete /home/runner/work/agatedb/agatedb/src/levels/compaction.rs:178 (agatedb-2d8b3cfdced45fcd+0xe21db)
358
#5 agatedb::levels::Core::do_compact /home/runner/work/agatedb/agatedb/src/levels.rs:581 (agatedb-2d8b3cfdced45fcd+0x24f1ad)
359
#6 agatedb::levels::LevelsController::run_compactor::{{closure}}::{{closure}} /home/runner/work/agatedb/agatedb/src/levels.rs:732 (agatedb-2d8b3cfdced45fcd+0x241b70)
360
#7 agatedb::levels::LevelsController::run_compactor::{{closure}} /home/runner/work/agatedb/agatedb/src/levels.rs:742 (agatedb-2d8b3cfdced45fcd+0x24220f)
361
#8 core::ops::function::FnOnce::call_once /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ops/function.rs:227 (agatedb-2d8b3cfdced45fcd+0x15c473)
362
#9 core::ops::function::FnOnce::call_once{{vtable-shim}} /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ops/function.rs:227 (agatedb-2d8b3cfdced45fcd+0x15b7fb)
363
#10 <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/alloc/src/boxed.rs:1318 (agatedb-2d8b3cfdced45fcd+0x42986f)
364
#11 <yatp::task::callback::Runner as yatp::pool::runner::Runner>::handle /home/runner/.cargo/git/checkouts/yatp-e704b73c3ee279b6/6bbea16/src/task/callback.rs:152 (agatedb-2d8b3cfdced45fcd+0x4606b9)
365
#12 yatp::pool::worker::WorkerThread<T,R>::run /home/runner/.cargo/git/checkouts/yatp-e704b73c3ee279b6/6bbea16/src/pool/worker.rs:48 (agatedb-2d8b3cfdced45fcd+0x422ca4)
366
#13 yatp::pool::builder::LazyBuilder<T>::build::{{closure}} /home/runner/.cargo/git/checkouts/yatp-e704b73c3ee279b6/6bbea16/src/pool/builder.rs:91 (agatedb-2d8b3cfdced45fcd+0x46763a)
367
#14 std::sys_common::backtrace::__rust_begin_short_backtrace /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/sys_common/backtrace.rs:125 (agatedb-2d8b3cfdced45fcd+0x42a016)
368
#15 std::thread::Builder::spawn_unchecked::{{closure}}::{{closure}} /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/thread/mod.rs:474 (agatedb-2d8b3cfdced45fcd+0x4409aa)
369
#16 <std::panic::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panic.rs:322 (agatedb-2d8b3cfdced45fcd+0x43e60a)
370
#17 std::panicking::try::do_call /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panicking.rs:379 (agatedb-2d8b3cfdced45fcd+0x454ad9)
371
#18 __rust_try yatp.da9dazvp-cgu.7:? (agatedb-2d8b3cfdced45fcd+0x459c2b)
372
#19 std::panicking::try /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panicking.rs:343 (agatedb-2d8b3cfdced45fcd+0x454987)
373
#20 std::panic::catch_unwind /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panic.rs:396 (agatedb-2d8b3cfdced45fcd+0x43f6ea)
374
#21 std::thread::Builder::spawn_unchecked::{{closure}} /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/thread/mod.rs:473 (agatedb-2d8b3cfdced45fcd+0x440727)
375
#22 core::ops::function::FnOnce::call_once{{vtable-shim}} /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ops/function.rs:227 (agatedb-2d8b3cfdced45fcd+0x41a4cb)
376
#23 <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/alloc/src/boxed.rs:1318 (agatedb-2d8b3cfdced45fcd+0x630f3b)
377
#24 <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/alloc/src/boxed.rs:1318 (agatedb-2d8b3cfdced45fcd+0x631036)
378
#25 std::sys::unix::thread::Thread::new::thread_start /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/sys/unix/thread.rs:71 (agatedb-2d8b3cfdced45fcd+0x675cb3)
379
380
Thread T17 'agatedb-1' (tid=16933, running) created by thread T15 at:
381
#0 pthread_create /rustc/llvm/src/llvm-project/compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp:966 (agatedb-2d8b3cfdced45fcd+0x3da7b)
382
#1 std::sys::unix::thread::Thread::new /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/sys/unix/thread.rs:50 (agatedb-2d8b3cfdced45fcd+0x67582b)
383
#2 std::thread::Builder::spawn_unchecked /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/thread/mod.rs:498 (agatedb-2d8b3cfdced45fcd+0x440041)
384
#3 std::thread::Builder::spawn /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/thread/mod.rs:381 (agatedb-2d8b3cfdced45fcd+0x440a6a)
385
#4 yatp::pool::builder::LazyBuilder<T>::build /home/runner/.cargo/git/checkouts/yatp-e704b73c3ee279b6/6bbea16/src/pool/builder.rs:89 (agatedb-2d8b3cfdced45fcd+0x4671b6)
386
#5 yatp::pool::builder::Builder::build_with_queue_and_runner /home/runner/.cargo/git/checkouts/yatp-e704b73c3ee279b6/6bbea16/src/pool/builder.rs:260 (agatedb-2d8b3cfdced45fcd+0x467d91)
387
#6 yatp::pool::builder::Builder::build_callback_pool /home/runner/.cargo/git/checkouts/yatp-e704b73c3ee279b6/6bbea16/src/pool/builder.rs:225 (agatedb-2d8b3cfdced45fcd+0x467c8c)
388
#7 agatedb::db::Agate::new /home/runner/work/agatedb/agatedb/src/db.rs:72 (agatedb-2d8b3cfdced45fcd+0x17e172)
389
#8 agatedb::db::AgateOptions::open /home/runner/work/agatedb/agatedb/src/db.rs:233 (agatedb-2d8b3cfdced45fcd+0x137bd4)
390
#9 agatedb::db::tests::with_agate_test::{{closure}} /home/runner/work/agatedb/agatedb/src/db.rs:618 (agatedb-2d8b3cfdced45fcd+0x1f3ace)
391
#10 std::sys_common::backtrace::__rust_begin_short_backtrace /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/sys_common/backtrace.rs:125 (agatedb-2d8b3cfdced45fcd+0x252f49)
392
#11 std::thread::Builder::spawn_unchecked::{{closure}}::{{closure}} /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/thread/mod.rs:474 (agatedb-2d8b3cfdced45fcd+0x259779)
393
#12 <std::panic::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panic.rs:322 (agatedb-2d8b3cfdced45fcd+0x122919)
394
#13 std::panicking::try::do_call /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panicking.rs:379 (agatedb-2d8b3cfdced45fcd+0xc695a)
395
#14 __rust_try 1dzu5xa3oeqaq90p:? (agatedb-2d8b3cfdced45fcd+0xc744b)
396
#15 std::panicking::try /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panicking.rs:343 (agatedb-2d8b3cfdced45fcd+0xc66c8)
397
#16 std::panic::catch_unwind /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panic.rs:396 (agatedb-2d8b3cfdced45fcd+0x122b79)
398
#17 std::thread::Builder::spawn_unchecked::{{closure}} /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/thread/mod.rs:473 (agatedb-2d8b3cfdced45fcd+0x259019)
399
#18 core::ops::function::FnOnce::call_once{{vtable-shim}} /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ops/function.rs:227 (agatedb-2d8b3cfdced45fcd+0x15b797)
400
#19 <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/alloc/src/boxed.rs:1318 (agatedb-2d8b3cfdced45fcd+0x630f3b)
401
#20 <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/alloc/src/boxed.rs:1318 (agatedb-2d8b3cfdced45fcd+0x631036)
402
#21 std::sys::unix::thread::Thread::new::thread_start /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/sys/unix/thread.rs:71 (agatedb-2d8b3cfdced45fcd+0x675cb3)
403
404
SUMMARY: ThreadSanitizer: lock-order-inversion (potential deadlock) /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/sys/unix/rwlock.rs:73 in std::sys::unix::rwlock::RWLock::write
405
==================
406
==================
407
WARNING: ThreadSanitizer: lock-order-inversion (potential deadlock) (pid=16915)
408
Cycle in lock order graph: M354 (0x7b1400005000) => M353 (0x7b1400005230) => M354
409
410
Mutex M353 acquired here while holding mutex M354 in thread T17:
411
#0 pthread_rwlock_rdlock /rustc/llvm/src/llvm-project/compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp:1335 (agatedb-2d8b3cfdced45fcd+0x3fd26)
412
#1 std::sys::unix::rwlock::RWLock::read /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/sys/unix/rwlock.rs:23 (agatedb-2d8b3cfdced45fcd+0x1efdb8)
413
#2 std::sys_common::rwlock::RWLock::read /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/sys_common/rwlock.rs:26 (agatedb-2d8b3cfdced45fcd+0x1d8077)
414
#3 std::sync::rwlock::RwLock<T>::read /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/sync/rwlock.rs:182 (agatedb-2d8b3cfdced45fcd+0x198144)
415
#4 agatedb::levels::compaction::CompactStatus::delete /home/runner/work/agatedb/agatedb/src/levels/compaction.rs:178 (agatedb-2d8b3cfdced45fcd+0xe21db)
416
#5 agatedb::levels::Core::do_compact /home/runner/work/agatedb/agatedb/src/levels.rs:581 (agatedb-2d8b3cfdced45fcd+0x24f1ad)
417
#6 agatedb::levels::LevelsController::run_compactor::{{closure}}::{{closure}} /home/runner/work/agatedb/agatedb/src/levels.rs:732 (agatedb-2d8b3cfdced45fcd+0x241b70)
418
#7 agatedb::levels::LevelsController::run_compactor::{{closure}} /home/runner/work/agatedb/agatedb/src/levels.rs:742 (agatedb-2d8b3cfdced45fcd+0x24220f)
419
#8 core::ops::function::FnOnce::call_once /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ops/function.rs:227 (agatedb-2d8b3cfdced45fcd+0x15c473)
420
#9 core::ops::function::FnOnce::call_once{{vtable-shim}} /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ops/function.rs:227 (agatedb-2d8b3cfdced45fcd+0x15b7fb)
421
#10 <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/alloc/src/boxed.rs:1318 (agatedb-2d8b3cfdced45fcd+0x42986f)
422
#11 <yatp::task::callback::Runner as yatp::pool::runner::Runner>::handle /home/runner/.cargo/git/checkouts/yatp-e704b73c3ee279b6/6bbea16/src/task/callback.rs:152 (agatedb-2d8b3cfdced45fcd+0x4606b9)
423
#12 yatp::pool::worker::WorkerThread<T,R>::run /home/runner/.cargo/git/checkouts/yatp-e704b73c3ee279b6/6bbea16/src/pool/worker.rs:48 (agatedb-2d8b3cfdced45fcd+0x422ca4)
424
#13 yatp::pool::builder::LazyBuilder<T>::build::{{closure}} /home/runner/.cargo/git/checkouts/yatp-e704b73c3ee279b6/6bbea16/src/pool/builder.rs:91 (agatedb-2d8b3cfdced45fcd+0x46763a)
425
#14 std::sys_common::backtrace::__rust_begin_short_backtrace /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/sys_common/backtrace.rs:125 (agatedb-2d8b3cfdced45fcd+0x42a016)
426
#15 std::thread::Builder::spawn_unchecked::{{closure}}::{{closure}} /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/thread/mod.rs:474 (agatedb-2d8b3cfdced45fcd+0x4409aa)
427
#16 <std::panic::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panic.rs:322 (agatedb-2d8b3cfdced45fcd+0x43e60a)
428
#17 std::panicking::try::do_call /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panicking.rs:379 (agatedb-2d8b3cfdced45fcd+0x454ad9)
429
#18 __rust_try yatp.da9dazvp-cgu.7:? (agatedb-2d8b3cfdced45fcd+0x459c2b)
430
#19 std::panicking::try /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panicking.rs:343 (agatedb-2d8b3cfdced45fcd+0x454987)
431
#20 std::panic::catch_unwind /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panic.rs:396 (agatedb-2d8b3cfdced45fcd+0x43f6ea)
432
#21 std::thread::Builder::spawn_unchecked::{{closure}} /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/thread/mod.rs:473 (agatedb-2d8b3cfdced45fcd+0x440727)
433
#22 core::ops::function::FnOnce::call_once{{vtable-shim}} /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ops/function.rs:227 (agatedb-2d8b3cfdced45fcd+0x41a4cb)
434
#23 <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/alloc/src/boxed.rs:1318 (agatedb-2d8b3cfdced45fcd+0x630f3b)
435
#24 <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/alloc/src/boxed.rs:1318 (agatedb-2d8b3cfdced45fcd+0x631036)
436
#25 std::sys::unix::thread::Thread::new::thread_start /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/sys/unix/thread.rs:71 (agatedb-2d8b3cfdced45fcd+0x675cb3)
437
438
Hint: use TSAN_OPTIONS=second_deadlock_stack=1 to get more informative warning message
439
440
Mutex M354 acquired here while holding mutex M353 in thread T17:
441
#0 pthread_rwlock_wrlock /rustc/llvm/src/llvm-project/compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp:1365 (agatedb-2d8b3cfdced45fcd+0x400f6)
442
#1 std::sys::unix::rwlock::RWLock::write /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/sys/unix/rwlock.rs:73 (agatedb-2d8b3cfdced45fcd+0x1f016e)
443
#2 std::sys_common::rwlock::RWLock::write /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/sys_common/rwlock.rs:48 (agatedb-2d8b3cfdced45fcd+0x1d80d7)
444
#3 std::sync::rwlock::RwLock<T>::write /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/sync/rwlock.rs:264 (agatedb-2d8b3cfdced45fcd+0x198471)
445
#4 agatedb::levels::Core::fill_tables_l0_to_lbase /home/runner/work/agatedb/agatedb/src/levels.rs:163 (agatedb-2d8b3cfdced45fcd+0x248cad)
446
#5 agatedb::levels::Core::fill_tables_l0 /home/runner/work/agatedb/agatedb/src/levels.rs:224 (agatedb-2d8b3cfdced45fcd+0x249fc7)
447
#6 agatedb::levels::Core::do_compact /home/runner/work/agatedb/agatedb/src/levels.rs:558 (agatedb-2d8b3cfdced45fcd+0x24e97c)
448
#7 agatedb::levels::LevelsController::run_compactor::{{closure}}::{{closure}} /home/runner/work/agatedb/agatedb/src/levels.rs:732 (agatedb-2d8b3cfdced45fcd+0x241b70)
449
#8 agatedb::levels::LevelsController::run_compactor::{{closure}} /home/runner/work/agatedb/agatedb/src/levels.rs:742 (agatedb-2d8b3cfdced45fcd+0x24220f)
450
#9 core::ops::function::FnOnce::call_once /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ops/function.rs:227 (agatedb-2d8b3cfdced45fcd+0x15c473)
451
#10 core::ops::function::FnOnce::call_once{{vtable-shim}} /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ops/function.rs:227 (agatedb-2d8b3cfdced45fcd+0x15b7fb)
452
#11 <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/alloc/src/boxed.rs:1318 (agatedb-2d8b3cfdced45fcd+0x42986f)
453
#12 <yatp::task::callback::Runner as yatp::pool::runner::Runner>::handle /home/runner/.cargo/git/checkouts/yatp-e704b73c3ee279b6/6bbea16/src/task/callback.rs:152 (agatedb-2d8b3cfdced45fcd+0x4606b9)
454
#13 yatp::pool::worker::WorkerThread<T,R>::run /home/runner/.cargo/git/checkouts/yatp-e704b73c3ee279b6/6bbea16/src/pool/worker.rs:48 (agatedb-2d8b3cfdced45fcd+0x422ca4)
455
#14 yatp::pool::builder::LazyBuilder<T>::build::{{closure}} /home/runner/.cargo/git/checkouts/yatp-e704b73c3ee279b6/6bbea16/src/pool/builder.rs:91 (agatedb-2d8b3cfdced45fcd+0x46763a)
456
#15 std::sys_common::backtrace::__rust_begin_short_backtrace /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/sys_common/backtrace.rs:125 (agatedb-2d8b3cfdced45fcd+0x42a016)
457
#16 std::thread::Builder::spawn_unchecked::{{closure}}::{{closure}} /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/thread/mod.rs:474 (agatedb-2d8b3cfdced45fcd+0x4409aa)
458
#17 <std::panic::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panic.rs:322 (agatedb-2d8b3cfdced45fcd+0x43e60a)
459
#18 std::panicking::try::do_call /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panicking.rs:379 (agatedb-2d8b3cfdced45fcd+0x454ad9)
460
#19 __rust_try yatp.da9dazvp-cgu.7:? (agatedb-2d8b3cfdced45fcd+0x459c2b)
461
#20 std::panicking::try /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panicking.rs:343 (agatedb-2d8b3cfdced45fcd+0x454987)
462
#21 std::panic::catch_unwind /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panic.rs:396 (agatedb-2d8b3cfdced45fcd+0x43f6ea)
463
#22 std::thread::Builder::spawn_unchecked::{{closure}} /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/thread/mod.rs:473 (agatedb-2d8b3cfdced45fcd+0x440727)
464
#23 core::ops::function::FnOnce::call_once{{vtable-shim}} /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ops/function.rs:227 (agatedb-2d8b3cfdced45fcd+0x41a4cb)
465
#24 <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/alloc/src/boxed.rs:1318 (agatedb-2d8b3cfdced45fcd+0x630f3b)
466
#25 <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/alloc/src/boxed.rs:1318 (agatedb-2d8b3cfdced45fcd+0x631036)
467
#26 std::sys::unix::thread::Thread::new::thread_start /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/sys/unix/thread.rs:71 (agatedb-2d8b3cfdced45fcd+0x675cb3)
468
469
Thread T17 'agatedb-1' (tid=16933, running) created by thread T15 at:
470
#0 pthread_create /rustc/llvm/src/llvm-project/compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp:966 (agatedb-2d8b3cfdced45fcd+0x3da7b)
471
#1 std::sys::unix::thread::Thread::new /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/sys/unix/thread.rs:50 (agatedb-2d8b3cfdced45fcd+0x67582b)
472
#2 std::thread::Builder::spawn_unchecked /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/thread/mod.rs:498 (agatedb-2d8b3cfdced45fcd+0x440041)
473
#3 std::thread::Builder::spawn /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/thread/mod.rs:381 (agatedb-2d8b3cfdced45fcd+0x440a6a)
474
#4 yatp::pool::builder::LazyBuilder<T>::build /home/runner/.cargo/git/checkouts/yatp-e704b73c3ee279b6/6bbea16/src/pool/builder.rs:89 (agatedb-2d8b3cfdced45fcd+0x4671b6)
475
#5 yatp::pool::builder::Builder::build_with_queue_and_runner /home/runner/.cargo/git/checkouts/yatp-e704b73c3ee279b6/6bbea16/src/pool/builder.rs:260 (agatedb-2d8b3cfdced45fcd+0x467d91)
476
#6 yatp::pool::builder::Builder::build_callback_pool /home/runner/.cargo/git/checkouts/yatp-e704b73c3ee279b6/6bbea16/src/pool/builder.rs:225 (agatedb-2d8b3cfdced45fcd+0x467c8c)
477
#7 agatedb::db::Agate::new /home/runner/work/agatedb/agatedb/src/db.rs:72 (agatedb-2d8b3cfdced45fcd+0x17e172)
478
#8 agatedb::db::AgateOptions::open /home/runner/work/agatedb/agatedb/src/db.rs:233 (agatedb-2d8b3cfdced45fcd+0x137bd4)
479
#9 agatedb::db::tests::with_agate_test::{{closure}} /home/runner/work/agatedb/agatedb/src/db.rs:618 (agatedb-2d8b3cfdced45fcd+0x1f3ace)
480
#10 std::sys_common::backtrace::__rust_begin_short_backtrace /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/sys_common/backtrace.rs:125 (agatedb-2d8b3cfdced45fcd+0x252f49)
481
#11 std::thread::Builder::spawn_unchecked::{{closure}}::{{closure}} /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/thread/mod.rs:474 (agatedb-2d8b3cfdced45fcd+0x259779)
482
#12 <std::panic::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panic.rs:322 (agatedb-2d8b3cfdced45fcd+0x122919)
483
#13 std::panicking::try::do_call /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panicking.rs:379 (agatedb-2d8b3cfdced45fcd+0xc695a)
484
#14 __rust_try 1dzu5xa3oeqaq90p:? (agatedb-2d8b3cfdced45fcd+0xc744b)
485
#15 std::panicking::try /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panicking.rs:343 (agatedb-2d8b3cfdced45fcd+0xc66c8)
486
#16 std::panic::catch_unwind /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panic.rs:396 (agatedb-2d8b3cfdced45fcd+0x122b79)
487
#17 std::thread::Builder::spawn_unchecked::{{closure}} /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/thread/mod.rs:473 (agatedb-2d8b3cfdced45fcd+0x259019)
488
#18 core::ops::function::FnOnce::call_once{{vtable-shim}} /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ops/function.rs:227 (agatedb-2d8b3cfdced45fcd+0x15b797)
489
#19 <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/alloc/src/boxed.rs:1318 (agatedb-2d8b3cfdced45fcd+0x630f3b)
490
#20 <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/alloc/src/boxed.rs:1318 (agatedb-2d8b3cfdced45fcd+0x631036)
491
#21 std::sys::unix::thread::Thread::new::thread_start /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/sys/unix/thread.rs:71 (agatedb-2d8b3cfdced45fcd+0x675cb3)
492
493
SUMMARY: ThreadSanitizer: lock-order-inversion (potential deadlock) /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/sys/unix/rwlock.rs:23 in std::sys::unix::rwlock::RWLock::read
494
==================
495
==================
496
WARNING: ThreadSanitizer: lock-order-inversion (potential deadlock) (pid=16915)
497
Cycle in lock order graph: M352 (0x7b14000050a0) => M354 (0x7b1400005000) => M359 (0x7b1400005370) => M352
498
499
Mutex M354 acquired here while holding mutex M352 in thread T17:
500
#0 pthread_rwlock_wrlock /rustc/llvm/src/llvm-project/compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp:1365 (agatedb-2d8b3cfdced45fcd+0x400f6)
501
#1 std::sys::unix::rwlock::RWLock::write /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/sys/unix/rwlock.rs:73 (agatedb-2d8b3cfdced45fcd+0x1f016e)
502
#2 std::sys_common::rwlock::RWLock::write /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/sys_common/rwlock.rs:48 (agatedb-2d8b3cfdced45fcd+0x1d80d7)
503
#3 std::sync::rwlock::RwLock<T>::write /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/sync/rwlock.rs:264 (agatedb-2d8b3cfdced45fcd+0x198471)
504
#4 agatedb::levels::Core::fill_tables_l0_to_lbase /home/runner/work/agatedb/agatedb/src/levels.rs:163 (agatedb-2d8b3cfdced45fcd+0x248cad)
505
#5 agatedb::levels::Core::fill_tables_l0 /home/runner/work/agatedb/agatedb/src/levels.rs:224 (agatedb-2d8b3cfdced45fcd+0x249fc7)
506
#6 agatedb::levels::Core::do_compact /home/runner/work/agatedb/agatedb/src/levels.rs:558 (agatedb-2d8b3cfdced45fcd+0x24e97c)
507
#7 agatedb::levels::LevelsController::run_compactor::{{closure}}::{{closure}} /home/runner/work/agatedb/agatedb/src/levels.rs:732 (agatedb-2d8b3cfdced45fcd+0x241b70)
508
#8 agatedb::levels::LevelsController::run_compactor::{{closure}} /home/runner/work/agatedb/agatedb/src/levels.rs:742 (agatedb-2d8b3cfdced45fcd+0x24220f)
509
#9 core::ops::function::FnOnce::call_once /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ops/function.rs:227 (agatedb-2d8b3cfdced45fcd+0x15c473)
510
#10 core::ops::function::FnOnce::call_once{{vtable-shim}} /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ops/function.rs:227 (agatedb-2d8b3cfdced45fcd+0x15b7fb)
511
#11 <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/alloc/src/boxed.rs:1318 (agatedb-2d8b3cfdced45fcd+0x42986f)
512
#12 <yatp::task::callback::Runner as yatp::pool::runner::Runner>::handle /home/runner/.cargo/git/checkouts/yatp-e704b73c3ee279b6/6bbea16/src/task/callback.rs:152 (agatedb-2d8b3cfdced45fcd+0x4606b9)
513
#13 yatp::pool::worker::WorkerThread<T,R>::run /home/runner/.cargo/git/checkouts/yatp-e704b73c3ee279b6/6bbea16/src/pool/worker.rs:48 (agatedb-2d8b3cfdced45fcd+0x422ca4)
514
#14 yatp::pool::builder::LazyBuilder<T>::build::{{closure}} /home/runner/.cargo/git/checkouts/yatp-e704b73c3ee279b6/6bbea16/src/pool/builder.rs:91 (agatedb-2d8b3cfdced45fcd+0x46763a)
515
#15 std::sys_common::backtrace::__rust_begin_short_backtrace /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/sys_common/backtrace.rs:125 (agatedb-2d8b3cfdced45fcd+0x42a016)
516
#16 std::thread::Builder::spawn_unchecked::{{closure}}::{{closure}} /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/thread/mod.rs:474 (agatedb-2d8b3cfdced45fcd+0x4409aa)
517
#17 <std::panic::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panic.rs:322 (agatedb-2d8b3cfdced45fcd+0x43e60a)
518
#18 std::panicking::try::do_call /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panicking.rs:379 (agatedb-2d8b3cfdced45fcd+0x454ad9)
519
#19 __rust_try yatp.da9dazvp-cgu.7:? (agatedb-2d8b3cfdced45fcd+0x459c2b)
520
#20 std::panicking::try /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panicking.rs:343 (agatedb-2d8b3cfdced45fcd+0x454987)
521
#21 std::panic::catch_unwind /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panic.rs:396 (agatedb-2d8b3cfdced45fcd+0x43f6ea)
522
#22 std::thread::Builder::spawn_unchecked::{{closure}} /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/thread/mod.rs:473 (agatedb-2d8b3cfdced45fcd+0x440727)
523
#23 core::ops::function::FnOnce::call_once{{vtable-shim}} /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ops/function.rs:227 (agatedb-2d8b3cfdced45fcd+0x41a4cb)
524
#24 <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/alloc/src/boxed.rs:1318 (agatedb-2d8b3cfdced45fcd+0x630f3b)
525
#25 <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/alloc/src/boxed.rs:1318 (agatedb-2d8b3cfdced45fcd+0x631036)
526
#26 std::sys::unix::thread::Thread::new::thread_start /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/sys/unix/thread.rs:71 (agatedb-2d8b3cfdced45fcd+0x675cb3)
527
528
Hint: use TSAN_OPTIONS=second_deadlock_stack=1 to get more informative warning message
529
530
Mutex M359 acquired here while holding mutex M354 in thread T17:
531
#0 pthread_rwlock_rdlock /rustc/llvm/src/llvm-project/compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp:1335 (agatedb-2d8b3cfdced45fcd+0x3fd26)
532
#1 std::sys::unix::rwlock::RWLock::read /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/sys/unix/rwlock.rs:23 (agatedb-2d8b3cfdced45fcd+0x1efdb8)
533
#2 std::sys_common::rwlock::RWLock::read /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/sys_common/rwlock.rs:26 (agatedb-2d8b3cfdced45fcd+0x1d8077)
534
#3 std::sync::rwlock::RwLock<T>::read /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/sync/rwlock.rs:182 (agatedb-2d8b3cfdced45fcd+0x198144)
535
#4 agatedb::levels::Core::pick_compact_levels /home/runner/work/agatedb/agatedb/src/levels.rs:659 (agatedb-2d8b3cfdced45fcd+0x2505bb)
536
#5 agatedb::levels::LevelsController::run_compactor::{{closure}}::{{closure}} /home/runner/work/agatedb/agatedb/src/levels.rs:717 (agatedb-2d8b3cfdced45fcd+0x24174f)
537
#6 agatedb::levels::LevelsController::run_compactor::{{closure}} /home/runner/work/agatedb/agatedb/src/levels.rs:742 (agatedb-2d8b3cfdced45fcd+0x24220f)
538
#7 core::ops::function::FnOnce::call_once /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ops/function.rs:227 (agatedb-2d8b3cfdced45fcd+0x15c473)
539
#8 core::ops::function::FnOnce::call_once{{vtable-shim}} /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ops/function.rs:227 (agatedb-2d8b3cfdced45fcd+0x15b7fb)
540
#9 <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/alloc/src/boxed.rs:1318 (agatedb-2d8b3cfdced45fcd+0x42986f)
541
#10 <yatp::task::callback::Runner as yatp::pool::runner::Runner>::handle /home/runner/.cargo/git/checkouts/yatp-e704b73c3ee279b6/6bbea16/src/task/callback.rs:152 (agatedb-2d8b3cfdced45fcd+0x4606b9)
542
#11 yatp::pool::worker::WorkerThread<T,R>::run /home/runner/.cargo/git/checkouts/yatp-e704b73c3ee279b6/6bbea16/src/pool/worker.rs:48 (agatedb-2d8b3cfdced45fcd+0x422ca4)
543
#12 yatp::pool::builder::LazyBuilder<T>::build::{{closure}} /home/runner/.cargo/git/checkouts/yatp-e704b73c3ee279b6/6bbea16/src/pool/builder.rs:91 (agatedb-2d8b3cfdced45fcd+0x46763a)
544
#13 std::sys_common::backtrace::__rust_begin_short_backtrace /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/sys_common/backtrace.rs:125 (agatedb-2d8b3cfdced45fcd+0x42a016)
545
#14 std::thread::Builder::spawn_unchecked::{{closure}}::{{closure}} /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/thread/mod.rs:474 (agatedb-2d8b3cfdced45fcd+0x4409aa)
546
#15 <std::panic::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panic.rs:322 (agatedb-2d8b3cfdced45fcd+0x43e60a)
547
#16 std::panicking::try::do_call /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panicking.rs:379 (agatedb-2d8b3cfdced45fcd+0x454ad9)
548
#17 __rust_try yatp.da9dazvp-cgu.7:? (agatedb-2d8b3cfdced45fcd+0x459c2b)
549
#18 std::panicking::try /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panicking.rs:343 (agatedb-2d8b3cfdced45fcd+0x454987)
550
#19 std::panic::catch_unwind /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panic.rs:396 (agatedb-2d8b3cfdced45fcd+0x43f6ea)
551
#20 std::thread::Builder::spawn_unchecked::{{closure}} /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/thread/mod.rs:473 (agatedb-2d8b3cfdced45fcd+0x440727)
552
#21 core::ops::function::FnOnce::call_once{{vtable-shim}} /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ops/function.rs:227 (agatedb-2d8b3cfdced45fcd+0x41a4cb)
553
#22 <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/alloc/src/boxed.rs:1318 (agatedb-2d8b3cfdced45fcd+0x630f3b)
554
#23 <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/alloc/src/boxed.rs:1318 (agatedb-2d8b3cfdced45fcd+0x631036)
555
#24 std::sys::unix::thread::Thread::new::thread_start /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/sys/unix/thread.rs:71 (agatedb-2d8b3cfdced45fcd+0x675cb3)
556
557
Mutex M352 acquired here while holding mutex M359 in thread T17:
558
#0 pthread_rwlock_rdlock /rustc/llvm/src/llvm-project/compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp:1335 (agatedb-2d8b3cfdced45fcd+0x3fd26)
559
#1 std::sys::unix::rwlock::RWLock::read /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/sys/unix/rwlock.rs:23 (agatedb-2d8b3cfdced45fcd+0x1efdb8)
560
#2 std::sys_common::rwlock::RWLock::read /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/sys_common/rwlock.rs:26 (agatedb-2d8b3cfdced45fcd+0x1d8077)
561
#3 std::sync::rwlock::RwLock<T>::read /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/sync/rwlock.rs:182 (agatedb-2d8b3cfdced45fcd+0x198144)
562
#4 agatedb::levels::Core::fill_tables /home/runner/work/agatedb/agatedb/src/levels.rs:233 (agatedb-2d8b3cfdced45fcd+0x24a272)
563
#5 agatedb::levels::Core::do_compact /home/runner/work/agatedb/agatedb/src/levels.rs:571 (agatedb-2d8b3cfdced45fcd+0x24ed9d)
564
#6 agatedb::levels::LevelsController::run_compactor::{{closure}}::{{closure}} /home/runner/work/agatedb/agatedb/src/levels.rs:732 (agatedb-2d8b3cfdced45fcd+0x241b70)
565
#7 agatedb::levels::LevelsController::run_compactor::{{closure}} /home/runner/work/agatedb/agatedb/src/levels.rs:742 (agatedb-2d8b3cfdced45fcd+0x24220f)
566
#8 core::ops::function::FnOnce::call_once /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ops/function.rs:227 (agatedb-2d8b3cfdced45fcd+0x15c473)
567
#9 core::ops::function::FnOnce::call_once{{vtable-shim}} /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ops/function.rs:227 (agatedb-2d8b3cfdced45fcd+0x15b7fb)
568
#10 <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/alloc/src/boxed.rs:1318 (agatedb-2d8b3cfdced45fcd+0x42986f)
569
#11 <yatp::task::callback::Runner as yatp::pool::runner::Runner>::handle /home/runner/.cargo/git/checkouts/yatp-e704b73c3ee279b6/6bbea16/src/task/callback.rs:152 (agatedb-2d8b3cfdced45fcd+0x4606b9)
570
#12 yatp::pool::worker::WorkerThread<T,R>::run /home/runner/.cargo/git/checkouts/yatp-e704b73c3ee279b6/6bbea16/src/pool/worker.rs:48 (agatedb-2d8b3cfdced45fcd+0x422ca4)
571
#13 yatp::pool::builder::LazyBuilder<T>::build::{{closure}} /home/runner/.cargo/git/checkouts/yatp-e704b73c3ee279b6/6bbea16/src/pool/builder.rs:91 (agatedb-2d8b3cfdced45fcd+0x46763a)
572
#14 std::sys_common::backtrace::__rust_begin_short_backtrace /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/sys_common/backtrace.rs:125 (agatedb-2d8b3cfdced45fcd+0x42a016)
573
#15 std::thread::Builder::spawn_unchecked::{{closure}}::{{closure}} /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/thread/mod.rs:474 (agatedb-2d8b3cfdced45fcd+0x4409aa)
574
#16 <std::panic::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panic.rs:322 (agatedb-2d8b3cfdced45fcd+0x43e60a)
575
#17 std::panicking::try::do_call /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panicking.rs:379 (agatedb-2d8b3cfdced45fcd+0x454ad9)
576
#18 __rust_try yatp.da9dazvp-cgu.7:? (agatedb-2d8b3cfdced45fcd+0x459c2b)
577
#19 std::panicking::try /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panicking.rs:343 (agatedb-2d8b3cfdced45fcd+0x454987)
578
#20 std::panic::catch_unwind /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panic.rs:396 (agatedb-2d8b3cfdced45fcd+0x43f6ea)
579
#21 std::thread::Builder::spawn_unchecked::{{closure}} /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/thread/mod.rs:473 (agatedb-2d8b3cfdced45fcd+0x440727)
580
#22 core::ops::function::FnOnce::call_once{{vtable-shim}} /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ops/function.rs:227 (agatedb-2d8b3cfdced45fcd+0x41a4cb)
581
#23 <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/alloc/src/boxed.rs:1318 (agatedb-2d8b3cfdced45fcd+0x630f3b)
582
#24 <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/alloc/src/boxed.rs:1318 (agatedb-2d8b3cfdced45fcd+0x631036)
583
#25 std::sys::unix::thread::Thread::new::thread_start /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/sys/unix/thread.rs:71 (agatedb-2d8b3cfdced45fcd+0x675cb3)
584
585
Thread T17 'agatedb-1' (tid=16933, running) created by thread T15 at:
586
#0 pthread_create /rustc/llvm/src/llvm-project/compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp:966 (agatedb-2d8b3cfdced45fcd+0x3da7b)
587
#1 std::sys::unix::thread::Thread::new /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/sys/unix/thread.rs:50 (agatedb-2d8b3cfdced45fcd+0x67582b)
588
#2 std::thread::Builder::spawn_unchecked /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/thread/mod.rs:498 (agatedb-2d8b3cfdced45fcd+0x440041)
589
#3 std::thread::Builder::spawn /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/thread/mod.rs:381 (agatedb-2d8b3cfdced45fcd+0x440a6a)
590
#4 yatp::pool::builder::LazyBuilder<T>::build /home/runner/.cargo/git/checkouts/yatp-e704b73c3ee279b6/6bbea16/src/pool/builder.rs:89 (agatedb-2d8b3cfdced45fcd+0x4671b6)
591
#5 yatp::pool::builder::Builder::build_with_queue_and_runner /home/runner/.cargo/git/checkouts/yatp-e704b73c3ee279b6/6bbea16/src/pool/builder.rs:260 (agatedb-2d8b3cfdced45fcd+0x467d91)
592
#6 yatp::pool::builder::Builder::build_callback_pool /home/runner/.cargo/git/checkouts/yatp-e704b73c3ee279b6/6bbea16/src/pool/builder.rs:225 (agatedb-2d8b3cfdced45fcd+0x467c8c)
593
#7 agatedb::db::Agate::new /home/runner/work/agatedb/agatedb/src/db.rs:72 (agatedb-2d8b3cfdced45fcd+0x17e172)
594
#8 agatedb::db::AgateOptions::open /home/runner/work/agatedb/agatedb/src/db.rs:233 (agatedb-2d8b3cfdced45fcd+0x137bd4)
595
#9 agatedb::db::tests::with_agate_test::{{closure}} /home/runner/work/agatedb/agatedb/src/db.rs:618 (agatedb-2d8b3cfdced45fcd+0x1f3ace)
596
#10 std::sys_common::backtrace::__rust_begin_short_backtrace /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/sys_common/backtrace.rs:125 (agatedb-2d8b3cfdced45fcd+0x252f49)
597
#11 std::thread::Builder::spawn_unchecked::{{closure}}::{{closure}} /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/thread/mod.rs:474 (agatedb-2d8b3cfdced45fcd+0x259779)
598
#12 <std::panic::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panic.rs:322 (agatedb-2d8b3cfdced45fcd+0x122919)
599
#13 std::panicking::try::do_call /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panicking.rs:379 (agatedb-2d8b3cfdced45fcd+0xc695a)
600
#14 __rust_try 1dzu5xa3oeqaq90p:? (agatedb-2d8b3cfdced45fcd+0xc744b)
601
#15 std::panicking::try /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panicking.rs:343 (agatedb-2d8b3cfdced45fcd+0xc66c8)
602
#16 std::panic::catch_unwind /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panic.rs:396 (agatedb-2d8b3cfdced45fcd+0x122b79)
603
#17 std::thread::Builder::spawn_unchecked::{{closure}} /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/thread/mod.rs:473 (agatedb-2d8b3cfdced45fcd+0x259019)
604
#18 core::ops::function::FnOnce::call_once{{vtable-shim}} /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ops/function.rs:227 (agatedb-2d8b3cfdced45fcd+0x15b797)
605
#19 <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/alloc/src/boxed.rs:1318 (agatedb-2d8b3cfdced45fcd+0x630f3b)
606
#20 <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/alloc/src/boxed.rs:1318 (agatedb-2d8b3cfdced45fcd+0x631036)
607
#21 std::sys::unix::thread::Thread::new::thread_start /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/sys/unix/thread.rs:71 (agatedb-2d8b3cfdced45fcd+0x675cb3)
608
609
SUMMARY: ThreadSanitizer: lock-order-inversion (potential deadlock) /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/sys/unix/rwlock.rs:73 in std::sys::unix::rwlock::RWLock::write
610
==================
611
==================
612
WARNING: ThreadSanitizer: lock-order-inversion (potential deadlock) (pid=16915)
613
Cycle in lock order graph: M344 (0x7b1400002b20) => M342 (0x7b1400002ad0) => M344
614
615
Mutex M342 acquired here while holding mutex M344 in thread T14:
616
#0 pthread_rwlock_rdlock /rustc/llvm/src/llvm-project/compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp:1335 (agatedb-2d8b3cfdced45fcd+0x3fd26)
617
#1 std::sys::unix::rwlock::RWLock::read /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/sys/unix/rwlock.rs:23 (agatedb-2d8b3cfdced45fcd+0x1efdb8)
618
#2 std::sys_common::rwlock::RWLock::read /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/sys_common/rwlock.rs:26 (agatedb-2d8b3cfdced45fcd+0x1d8077)
619
#3 std::sync::rwlock::RwLock<T>::read /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/sync/rwlock.rs:182 (agatedb-2d8b3cfdced45fcd+0x198144)
620
#4 agatedb::levels::Core::pick_compact_levels /home/runner/work/agatedb/agatedb/src/levels.rs:659 (agatedb-2d8b3cfdced45fcd+0x2505bb)
621
#5 agatedb::levels::LevelsController::run_compactor::{{closure}}::{{closure}} /home/runner/work/agatedb/agatedb/src/levels.rs:717 (agatedb-2d8b3cfdced45fcd+0x24174f)
622
#6 agatedb::levels::LevelsController::run_compactor::{{closure}} /home/runner/work/agatedb/agatedb/src/levels.rs:742 (agatedb-2d8b3cfdced45fcd+0x24220f)
623
#7 core::ops::function::FnOnce::call_once /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ops/function.rs:227 (agatedb-2d8b3cfdced45fcd+0x15c473)
624
#8 core::ops::function::FnOnce::call_once{{vtable-shim}} /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ops/function.rs:227 (agatedb-2d8b3cfdced45fcd+0x15b7fb)
625
#9 <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/alloc/src/boxed.rs:1318 (agatedb-2d8b3cfdced45fcd+0x42986f)
626
#10 <yatp::task::callback::Runner as yatp::pool::runner::Runner>::handle /home/runner/.cargo/git/checkouts/yatp-e704b73c3ee279b6/6bbea16/src/task/callback.rs:152 (agatedb-2d8b3cfdced45fcd+0x4606b9)
627
#11 yatp::pool::worker::WorkerThread<T,R>::run /home/runner/.cargo/git/checkouts/yatp-e704b73c3ee279b6/6bbea16/src/pool/worker.rs:48 (agatedb-2d8b3cfdced45fcd+0x422ca4)
628
#12 yatp::pool::builder::LazyBuilder<T>::build::{{closure}} /home/runner/.cargo/git/checkouts/yatp-e704b73c3ee279b6/6bbea16/src/pool/builder.rs:91 (agatedb-2d8b3cfdced45fcd+0x46763a)
629
#13 std::sys_common::backtrace::__rust_begin_short_backtrace /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/sys_common/backtrace.rs:125 (agatedb-2d8b3cfdced45fcd+0x42a016)
630
#14 std::thread::Builder::spawn_unchecked::{{closure}}::{{closure}} /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/thread/mod.rs:474 (agatedb-2d8b3cfdced45fcd+0x4409aa)
631
#15 <std::panic::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panic.rs:322 (agatedb-2d8b3cfdced45fcd+0x43e60a)
632
#16 std::panicking::try::do_call /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panicking.rs:379 (agatedb-2d8b3cfdced45fcd+0x454ad9)
633
#17 __rust_try yatp.da9dazvp-cgu.7:? (agatedb-2d8b3cfdced45fcd+0x459c2b)
634
#18 std::panicking::try /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panicking.rs:343 (agatedb-2d8b3cfdced45fcd+0x454987)
635
#19 std::panic::catch_unwind /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panic.rs:396 (agatedb-2d8b3cfdced45fcd+0x43f6ea)
636
#20 std::thread::Builder::spawn_unchecked::{{closure}} /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/thread/mod.rs:473 (agatedb-2d8b3cfdced45fcd+0x440727)
637
#21 core::ops::function::FnOnce::call_once{{vtable-shim}} /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ops/function.rs:227 (agatedb-2d8b3cfdced45fcd+0x41a4cb)
638
#22 <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/alloc/src/boxed.rs:1318 (agatedb-2d8b3cfdced45fcd+0x630f3b)
639
#23 <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/alloc/src/boxed.rs:1318 (agatedb-2d8b3cfdced45fcd+0x631036)
640
#24 std::sys::unix::thread::Thread::new::thread_start /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/sys/unix/thread.rs:71 (agatedb-2d8b3cfdced45fcd+0x675cb3)
641
642
Hint: use TSAN_OPTIONS=second_deadlock_stack=1 to get more informative warning message
643
644
Mutex M344 acquired here while holding mutex M342 in thread T14:
645
#0 pthread_rwlock_wrlock /rustc/llvm/src/llvm-project/compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp:1365 (agatedb-2d8b3cfdced45fcd+0x400f6)
646
#1 std::sys::unix::rwlock::RWLock::write /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/sys/unix/rwlock.rs:73 (agatedb-2d8b3cfdced45fcd+0x1f016e)
647
#2 std::sys_common::rwlock::RWLock::write /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/sys_common/rwlock.rs:48 (agatedb-2d8b3cfdced45fcd+0x1d80d7)
648
#3 std::sync::rwlock::RwLock<T>::write /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/sync/rwlock.rs:264 (agatedb-2d8b3cfdced45fcd+0x198471)
649
#4 agatedb::levels::Core::fill_tables_l0_to_lbase /home/runner/work/agatedb/agatedb/src/levels.rs:163 (agatedb-2d8b3cfdced45fcd+0x248cad)
650
#5 agatedb::levels::Core::fill_tables_l0 /home/runner/work/agatedb/agatedb/src/levels.rs:224 (agatedb-2d8b3cfdced45fcd+0x249fc7)
651
#6 agatedb::levels::Core::do_compact /home/runner/work/agatedb/agatedb/src/levels.rs:558 (agatedb-2d8b3cfdced45fcd+0x24e97c)
652
#7 agatedb::levels::LevelsController::run_compactor::{{closure}}::{{closure}} /home/runner/work/agatedb/agatedb/src/levels.rs:732 (agatedb-2d8b3cfdced45fcd+0x241b70)
653
#8 agatedb::levels::LevelsController::run_compactor::{{closure}} /home/runner/work/agatedb/agatedb/src/levels.rs:742 (agatedb-2d8b3cfdced45fcd+0x24220f)
654
#9 core::ops::function::FnOnce::call_once /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ops/function.rs:227 (agatedb-2d8b3cfdced45fcd+0x15c473)
655
#10 core::ops::function::FnOnce::call_once{{vtable-shim}} /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ops/function.rs:227 (agatedb-2d8b3cfdced45fcd+0x15b7fb)
656
#11 <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/alloc/src/boxed.rs:1318 (agatedb-2d8b3cfdced45fcd+0x42986f)
657
#12 <yatp::task::callback::Runner as yatp::pool::runner::Runner>::handle /home/runner/.cargo/git/checkouts/yatp-e704b73c3ee279b6/6bbea16/src/task/callback.rs:152 (agatedb-2d8b3cfdced45fcd+0x4606b9)
658
#13 yatp::pool::worker::WorkerThread<T,R>::run /home/runner/.cargo/git/checkouts/yatp-e704b73c3ee279b6/6bbea16/src/pool/worker.rs:48 (agatedb-2d8b3cfdced45fcd+0x422ca4)
659
#14 yatp::pool::builder::LazyBuilder<T>::build::{{closure}} /home/runner/.cargo/git/checkouts/yatp-e704b73c3ee279b6/6bbea16/src/pool/builder.rs:91 (agatedb-2d8b3cfdced45fcd+0x46763a)
660
#15 std::sys_common::backtrace::__rust_begin_short_backtrace /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/sys_common/backtrace.rs:125 (agatedb-2d8b3cfdced45fcd+0x42a016)
661
#16 std::thread::Builder::spawn_unchecked::{{closure}}::{{closure}} /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/thread/mod.rs:474 (agatedb-2d8b3cfdced45fcd+0x4409aa)
662
#17 <std::panic::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panic.rs:322 (agatedb-2d8b3cfdced45fcd+0x43e60a)
663
#18 std::panicking::try::do_call /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panicking.rs:379 (agatedb-2d8b3cfdced45fcd+0x454ad9)
664
#19 __rust_try yatp.da9dazvp-cgu.7:? (agatedb-2d8b3cfdced45fcd+0x459c2b)
665
#20 std::panicking::try /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panicking.rs:343 (agatedb-2d8b3cfdced45fcd+0x454987)
666
#21 std::panic::catch_unwind /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panic.rs:396 (agatedb-2d8b3cfdced45fcd+0x43f6ea)
667
#22 std::thread::Builder::spawn_unchecked::{{closure}} /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/thread/mod.rs:473 (agatedb-2d8b3cfdced45fcd+0x440727)
668
#23 core::ops::function::FnOnce::call_once{{vtable-shim}} /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ops/function.rs:227 (agatedb-2d8b3cfdced45fcd+0x41a4cb)
669
#24 <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/alloc/src/boxed.rs:1318 (agatedb-2d8b3cfdced45fcd+0x630f3b)
670
#25 <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/alloc/src/boxed.rs:1318 (agatedb-2d8b3cfdced45fcd+0x631036)
671
#26 std::sys::unix::thread::Thread::new::thread_start /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/sys/unix/thread.rs:71 (agatedb-2d8b3cfdced45fcd+0x675cb3)
672
673
Thread T14 'agatedb-1' (tid=16930, running) created by thread T11 at:
674
#0 pthread_create /rustc/llvm/src/llvm-project/compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp:966 (agatedb-2d8b3cfdced45fcd+0x3da7b)
675
#1 std::sys::unix::thread::Thread::new /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/sys/unix/thread.rs:50 (agatedb-2d8b3cfdced45fcd+0x67582b)
676
#2 std::thread::Builder::spawn_unchecked /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/thread/mod.rs:498 (agatedb-2d8b3cfdced45fcd+0x440041)
677
#3 std::thread::Builder::spawn /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/thread/mod.rs:381 (agatedb-2d8b3cfdced45fcd+0x440a6a)
678
#4 yatp::pool::builder::LazyBuilder<T>::build /home/runner/.cargo/git/checkouts/yatp-e704b73c3ee279b6/6bbea16/src/pool/builder.rs:89 (agatedb-2d8b3cfdced45fcd+0x4671b6)
679
#5 yatp::pool::builder::Builder::build_with_queue_and_runner /home/runner/.cargo/git/checkouts/yatp-e704b73c3ee279b6/6bbea16/src/pool/builder.rs:260 (agatedb-2d8b3cfdced45fcd+0x467d91)
680
#6 yatp::pool::builder::Builder::build_callback_pool /home/runner/.cargo/git/checkouts/yatp-e704b73c3ee279b6/6bbea16/src/pool/builder.rs:225 (agatedb-2d8b3cfdced45fcd+0x467c8c)
681
#7 agatedb::db::Agate::new /home/runner/work/agatedb/agatedb/src/db.rs:72 (agatedb-2d8b3cfdced45fcd+0x17e172)
682
#8 agatedb::db::AgateOptions::open /home/runner/work/agatedb/agatedb/src/db.rs:233 (agatedb-2d8b3cfdced45fcd+0x137bd4)
683
#9 agatedb::db::tests::with_agate_test::{{closure}} /home/runner/work/agatedb/agatedb/src/db.rs:618 (agatedb-2d8b3cfdced45fcd+0x1f404e)
684
#10 std::sys_common::backtrace::__rust_begin_short_backtrace /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/sys_common/backtrace.rs:125 (agatedb-2d8b3cfdced45fcd+0x252ea9)
685
#11 std::thread::Builder::spawn_unchecked::{{closure}}::{{closure}} /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/thread/mod.rs:474 (agatedb-2d8b3cfdced45fcd+0x2597e9)
686
#12 <std::panic::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panic.rs:322 (agatedb-2d8b3cfdced45fcd+0x122989)
687
#13 std::panicking::try::do_call /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panicking.rs:379 (agatedb-2d8b3cfdced45fcd+0xc6b3a)
688
#14 __rust_try 1dzu5xa3oeqaq90p:? (agatedb-2d8b3cfdced45fcd+0xc744b)
689
#15 std::panicking::try /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panicking.rs:343 (agatedb-2d8b3cfdced45fcd+0xc6278)
690
#16 std::panic::catch_unwind /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panic.rs:396 (agatedb-2d8b3cfdced45fcd+0x122bf9)
691
#17 std::thread::Builder::spawn_unchecked::{{closure}} /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/thread/mod.rs:473 (agatedb-2d8b3cfdced45fcd+0x258bf9)
692
#18 core::ops::function::FnOnce::call_once{{vtable-shim}} /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ops/function.rs:227 (agatedb-2d8b3cfdced45fcd+0x15b6f7)
693
#19 <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/alloc/src/boxed.rs:1318 (agatedb-2d8b3cfdced45fcd+0x630f3b)
694
#20 <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/alloc/src/boxed.rs:1318 (agatedb-2d8b3cfdced45fcd+0x631036)
695
#21 std::sys::unix::thread::Thread::new::thread_start /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/sys/unix/thread.rs:71 (agatedb-2d8b3cfdced45fcd+0x675cb3)
696
697
SUMMARY: ThreadSanitizer: lock-order-inversion (potential deadlock) /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/sys/unix/rwlock.rs:23 in std::sys::unix::rwlock::RWLock::read
698
==================
699
==================
700
WARNING: ThreadSanitizer: lock-order-inversion (potential deadlock) (pid=16915)
701
Cycle in lock order graph: M343 (0x7b14000028f0) => M344 (0x7b1400002b20) => M343
702
703
Mutex M344 acquired here while holding mutex M343 in thread T14:
704
#0 pthread_rwlock_wrlock /rustc/llvm/src/llvm-project/compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp:1365 (agatedb-2d8b3cfdced45fcd+0x400f6)
705
#1 std::sys::unix::rwlock::RWLock::write /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/sys/unix/rwlock.rs:73 (agatedb-2d8b3cfdced45fcd+0x1f016e)
706
#2 std::sys_common::rwlock::RWLock::write /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/sys_common/rwlock.rs:48 (agatedb-2d8b3cfdced45fcd+0x1d80d7)
707
#3 std::sync::rwlock::RwLock<T>::write /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/sync/rwlock.rs:264 (agatedb-2d8b3cfdced45fcd+0x198471)
708
#4 agatedb::levels::Core::fill_tables_l0_to_lbase /home/runner/work/agatedb/agatedb/src/levels.rs:163 (agatedb-2d8b3cfdced45fcd+0x248cad)
709
#5 agatedb::levels::Core::fill_tables_l0 /home/runner/work/agatedb/agatedb/src/levels.rs:224 (agatedb-2d8b3cfdced45fcd+0x249fc7)
710
#6 agatedb::levels::Core::do_compact /home/runner/work/agatedb/agatedb/src/levels.rs:558 (agatedb-2d8b3cfdced45fcd+0x24e97c)
711
#7 agatedb::levels::LevelsController::run_compactor::{{closure}}::{{closure}} /home/runner/work/agatedb/agatedb/src/levels.rs:732 (agatedb-2d8b3cfdced45fcd+0x241b70)
712
#8 agatedb::levels::LevelsController::run_compactor::{{closure}} /home/runner/work/agatedb/agatedb/src/levels.rs:742 (agatedb-2d8b3cfdced45fcd+0x24220f)
713
#9 core::ops::function::FnOnce::call_once /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ops/function.rs:227 (agatedb-2d8b3cfdced45fcd+0x15c473)
714
#10 core::ops::function::FnOnce::call_once{{vtable-shim}} /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ops/function.rs:227 (agatedb-2d8b3cfdced45fcd+0x15b7fb)
715
#11 <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/alloc/src/boxed.rs:1318 (agatedb-2d8b3cfdced45fcd+0x42986f)
716
#12 <yatp::task::callback::Runner as yatp::pool::runner::Runner>::handle /home/runner/.cargo/git/checkouts/yatp-e704b73c3ee279b6/6bbea16/src/task/callback.rs:152 (agatedb-2d8b3cfdced45fcd+0x4606b9)
717
#13 yatp::pool::worker::WorkerThread<T,R>::run /home/runner/.cargo/git/checkouts/yatp-e704b73c3ee279b6/6bbea16/src/pool/worker.rs:48 (agatedb-2d8b3cfdced45fcd+0x422ca4)
718
#14 yatp::pool::builder::LazyBuilder<T>::build::{{closure}} /home/runner/.cargo/git/checkouts/yatp-e704b73c3ee279b6/6bbea16/src/pool/builder.rs:91 (agatedb-2d8b3cfdced45fcd+0x46763a)
719
#15 std::sys_common::backtrace::__rust_begin_short_backtrace /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/sys_common/backtrace.rs:125 (agatedb-2d8b3cfdced45fcd+0x42a016)
720
#16 std::thread::Builder::spawn_unchecked::{{closure}}::{{closure}} /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/thread/mod.rs:474 (agatedb-2d8b3cfdced45fcd+0x4409aa)
721
#17 <std::panic::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panic.rs:322 (agatedb-2d8b3cfdced45fcd+0x43e60a)
722
#18 std::panicking::try::do_call /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panicking.rs:379 (agatedb-2d8b3cfdced45fcd+0x454ad9)
723
#19 __rust_try yatp.da9dazvp-cgu.7:? (agatedb-2d8b3cfdced45fcd+0x459c2b)
724
#20 std::panicking::try /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panicking.rs:343 (agatedb-2d8b3cfdced45fcd+0x454987)
725
#21 std::panic::catch_unwind /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panic.rs:396 (agatedb-2d8b3cfdced45fcd+0x43f6ea)
726
#22 std::thread::Builder::spawn_unchecked::{{closure}} /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/thread/mod.rs:473 (agatedb-2d8b3cfdced45fcd+0x440727)
727
#23 core::ops::function::FnOnce::call_once{{vtable-shim}} /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ops/function.rs:227 (agatedb-2d8b3cfdced45fcd+0x41a4cb)
728
#24 <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/alloc/src/boxed.rs:1318 (agatedb-2d8b3cfdced45fcd+0x630f3b)
729
#25 <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/alloc/src/boxed.rs:1318 (agatedb-2d8b3cfdced45fcd+0x631036)
730
#26 std::sys::unix::thread::Thread::new::thread_start /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/sys/unix/thread.rs:71 (agatedb-2d8b3cfdced45fcd+0x675cb3)
731
732
Hint: use TSAN_OPTIONS=second_deadlock_stack=1 to get more informative warning message
733
734
Mutex M343 acquired here while holding mutex M344 in thread T14:
735
#0 pthread_rwlock_rdlock /rustc/llvm/src/llvm-project/compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp:1335 (agatedb-2d8b3cfdced45fcd+0x3fd26)
736
#1 std::sys::unix::rwlock::RWLock::read /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/sys/unix/rwlock.rs:23 (agatedb-2d8b3cfdced45fcd+0x1efdb8)
737
#2 std::sys_common::rwlock::RWLock::read /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/sys_common/rwlock.rs:26 (agatedb-2d8b3cfdced45fcd+0x1d8077)
738
#3 std::sync::rwlock::RwLock<T>::read /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/sync/rwlock.rs:182 (agatedb-2d8b3cfdced45fcd+0x198144)
739
#4 agatedb::levels::compaction::CompactStatus::delete /home/runner/work/agatedb/agatedb/src/levels/compaction.rs:178 (agatedb-2d8b3cfdced45fcd+0xe21db)
740
#5 agatedb::levels::Core::do_compact /home/runner/work/agatedb/agatedb/src/levels.rs:581 (agatedb-2d8b3cfdced45fcd+0x24f1ad)
741
#6 agatedb::levels::LevelsController::run_compactor::{{closure}}::{{closure}} /home/runner/work/agatedb/agatedb/src/levels.rs:732 (agatedb-2d8b3cfdced45fcd+0x241b70)
742
#7 agatedb::levels::LevelsController::run_compactor::{{closure}} /home/runner/work/agatedb/agatedb/src/levels.rs:742 (agatedb-2d8b3cfdced45fcd+0x24220f)
743
#8 core::ops::function::FnOnce::call_once /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ops/function.rs:227 (agatedb-2d8b3cfdced45fcd+0x15c473)
744
#9 core::ops::function::FnOnce::call_once{{vtable-shim}} /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ops/function.rs:227 (agatedb-2d8b3cfdced45fcd+0x15b7fb)
745
#10 <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/alloc/src/boxed.rs:1318 (agatedb-2d8b3cfdced45fcd+0x42986f)
746
#11 <yatp::task::callback::Runner as yatp::pool::runner::Runner>::handle /home/runner/.cargo/git/checkouts/yatp-e704b73c3ee279b6/6bbea16/src/task/callback.rs:152 (agatedb-2d8b3cfdced45fcd+0x4606b9)
747
#12 yatp::pool::worker::WorkerThread<T,R>::run /home/runner/.cargo/git/checkouts/yatp-e704b73c3ee279b6/6bbea16/src/pool/worker.rs:48 (agatedb-2d8b3cfdced45fcd+0x422ca4)
748
#13 yatp::pool::builder::LazyBuilder<T>::build::{{closure}} /home/runner/.cargo/git/checkouts/yatp-e704b73c3ee279b6/6bbea16/src/pool/builder.rs:91 (agatedb-2d8b3cfdced45fcd+0x46763a)
749
#14 std::sys_common::backtrace::__rust_begin_short_backtrace /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/sys_common/backtrace.rs:125 (agatedb-2d8b3cfdced45fcd+0x42a016)
750
#15 std::thread::Builder::spawn_unchecked::{{closure}}::{{closure}} /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/thread/mod.rs:474 (agatedb-2d8b3cfdced45fcd+0x4409aa)
751
#16 <std::panic::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panic.rs:322 (agatedb-2d8b3cfdced45fcd+0x43e60a)
752
#17 std::panicking::try::do_call /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panicking.rs:379 (agatedb-2d8b3cfdced45fcd+0x454ad9)
753
#18 __rust_try yatp.da9dazvp-cgu.7:? (agatedb-2d8b3cfdced45fcd+0x459c2b)
754
#19 std::panicking::try /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panicking.rs:343 (agatedb-2d8b3cfdced45fcd+0x454987)
755
#20 std::panic::catch_unwind /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panic.rs:396 (agatedb-2d8b3cfdced45fcd+0x43f6ea)
756
#21 std::thread::Builder::spawn_unchecked::{{closure}} /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/thread/mod.rs:473 (agatedb-2d8b3cfdced45fcd+0x440727)
757
#22 core::ops::function::FnOnce::call_once{{vtable-shim}} /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ops/function.rs:227 (agatedb-2d8b3cfdced45fcd+0x41a4cb)
758
#23 <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/alloc/src/boxed.rs:1318 (agatedb-2d8b3cfdced45fcd+0x630f3b)
759
#24 <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/alloc/src/boxed.rs:1318 (agatedb-2d8b3cfdced45fcd+0x631036)
760
#25 std::sys::unix::thread::Thread::new::thread_start /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/sys/unix/thread.rs:71 (agatedb-2d8b3cfdced45fcd+0x675cb3)
761
762
Thread T14 'agatedb-1' (tid=16930, running) created by thread T11 at:
763
#0 pthread_create /rustc/llvm/src/llvm-project/compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp:966 (agatedb-2d8b3cfdced45fcd+0x3da7b)
764
#1 std::sys::unix::thread::Thread::new /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/sys/unix/thread.rs:50 (agatedb-2d8b3cfdced45fcd+0x67582b)
765
#2 std::thread::Builder::spawn_unchecked /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/thread/mod.rs:498 (agatedb-2d8b3cfdced45fcd+0x440041)
766
#3 std::thread::Builder::spawn /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/thread/mod.rs:381 (agatedb-2d8b3cfdced45fcd+0x440a6a)
767
#4 yatp::pool::builder::LazyBuilder<T>::build /home/runner/.cargo/git/checkouts/yatp-e704b73c3ee279b6/6bbea16/src/pool/builder.rs:89 (agatedb-2d8b3cfdced45fcd+0x4671b6)
768
#5 yatp::pool::builder::Builder::build_with_queue_and_runner /home/runner/.cargo/git/checkouts/yatp-e704b73c3ee279b6/6bbea16/src/pool/builder.rs:260 (agatedb-2d8b3cfdced45fcd+0x467d91)
769
#6 yatp::pool::builder::Builder::build_callback_pool /home/runner/.cargo/git/checkouts/yatp-e704b73c3ee279b6/6bbea16/src/pool/builder.rs:225 (agatedb-2d8b3cfdced45fcd+0x467c8c)
770
#7 agatedb::db::Agate::new /home/runner/work/agatedb/agatedb/src/db.rs:72 (agatedb-2d8b3cfdced45fcd+0x17e172)
771
#8 agatedb::db::AgateOptions::open /home/runner/work/agatedb/agatedb/src/db.rs:233 (agatedb-2d8b3cfdced45fcd+0x137bd4)
772
#9 agatedb::db::tests::with_agate_test::{{closure}} /home/runner/work/agatedb/agatedb/src/db.rs:618 (agatedb-2d8b3cfdced45fcd+0x1f404e)
773
#10 std::sys_common::backtrace::__rust_begin_short_backtrace /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/sys_common/backtrace.rs:125 (agatedb-2d8b3cfdced45fcd+0x252ea9)
774
#11 std::thread::Builder::spawn_unchecked::{{closure}}::{{closure}} /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/thread/mod.rs:474 (agatedb-2d8b3cfdced45fcd+0x2597e9)
775
#12 <std::panic::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panic.rs:322 (agatedb-2d8b3cfdced45fcd+0x122989)
776
#13 std::panicking::try::do_call /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panicking.rs:379 (agatedb-2d8b3cfdced45fcd+0xc6b3a)
777
#14 __rust_try 1dzu5xa3oeqaq90p:? (agatedb-2d8b3cfdced45fcd+0xc744b)
778
#15 std::panicking::try /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panicking.rs:343 (agatedb-2d8b3cfdced45fcd+0xc6278)
779
#16 std::panic::catch_unwind /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panic.rs:396 (agatedb-2d8b3cfdced45fcd+0x122bf9)
780
#17 std::thread::Builder::spawn_unchecked::{{closure}} /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/thread/mod.rs:473 (agatedb-2d8b3cfdced45fcd+0x258bf9)
781
#18 core::ops::function::FnOnce::call_once{{vtable-shim}} /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ops/function.rs:227 (agatedb-2d8b3cfdced45fcd+0x15b6f7)
782
#19 <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/alloc/src/boxed.rs:1318 (agatedb-2d8b3cfdced45fcd+0x630f3b)
783
#20 <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/alloc/src/boxed.rs:1318 (agatedb-2d8b3cfdced45fcd+0x631036)
784
#21 std::sys::unix::thread::Thread::new::thread_start /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/sys/unix/thread.rs:71 (agatedb-2d8b3cfdced45fcd+0x675cb3)
785
786
SUMMARY: ThreadSanitizer: lock-order-inversion (potential deadlock) /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/sys/unix/rwlock.rs:73 in std::sys::unix::rwlock::RWLock::write
787
==================
788
==================
789
WARNING: ThreadSanitizer: lock-order-inversion (potential deadlock) (pid=16915)
790
Cycle in lock order graph: M344 (0x7b1400002b20) => M343 (0x7b14000028f0) => M344
791
792
Mutex M343 acquired here while holding mutex M344 in thread T14:
793
#0 pthread_rwlock_rdlock /rustc/llvm/src/llvm-project/compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp:1335 (agatedb-2d8b3cfdced45fcd+0x3fd26)
794
#1 std::sys::unix::rwlock::RWLock::read /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/sys/unix/rwlock.rs:23 (agatedb-2d8b3cfdced45fcd+0x1efdb8)
795
#2 std::sys_common::rwlock::RWLock::read /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/sys_common/rwlock.rs:26 (agatedb-2d8b3cfdced45fcd+0x1d8077)
796
#3 std::sync::rwlock::RwLock<T>::read /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/sync/rwlock.rs:182 (agatedb-2d8b3cfdced45fcd+0x198144)
797
#4 agatedb::levels::compaction::CompactStatus::delete /home/runner/work/agatedb/agatedb/src/levels/compaction.rs:178 (agatedb-2d8b3cfdced45fcd+0xe21db)
798
#5 agatedb::levels::Core::do_compact /home/runner/work/agatedb/agatedb/src/levels.rs:581 (agatedb-2d8b3cfdced45fcd+0x24f1ad)
799
#6 agatedb::levels::LevelsController::run_compactor::{{closure}}::{{closure}} /home/runner/work/agatedb/agatedb/src/levels.rs:732 (agatedb-2d8b3cfdced45fcd+0x241b70)
800
#7 agatedb::levels::LevelsController::run_compactor::{{closure}} /home/runner/work/agatedb/agatedb/src/levels.rs:742 (agatedb-2d8b3cfdced45fcd+0x24220f)
801
#8 core::ops::function::FnOnce::call_once /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ops/function.rs:227 (agatedb-2d8b3cfdced45fcd+0x15c473)
802
#9 core::ops::function::FnOnce::call_once{{vtable-shim}} /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ops/function.rs:227 (agatedb-2d8b3cfdced45fcd+0x15b7fb)
803
#10 <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/alloc/src/boxed.rs:1318 (agatedb-2d8b3cfdced45fcd+0x42986f)
804
#11 <yatp::task::callback::Runner as yatp::pool::runner::Runner>::handle /home/runner/.cargo/git/checkouts/yatp-e704b73c3ee279b6/6bbea16/src/task/callback.rs:152 (agatedb-2d8b3cfdced45fcd+0x4606b9)
805
#12 yatp::pool::worker::WorkerThread<T,R>::run /home/runner/.cargo/git/checkouts/yatp-e704b73c3ee279b6/6bbea16/src/pool/worker.rs:48 (agatedb-2d8b3cfdced45fcd+0x422ca4)
806
#13 yatp::pool::builder::LazyBuilder<T>::build::{{closure}} /home/runner/.cargo/git/checkouts/yatp-e704b73c3ee279b6/6bbea16/src/pool/builder.rs:91 (agatedb-2d8b3cfdced45fcd+0x46763a)
807
#14 std::sys_common::backtrace::__rust_begin_short_backtrace /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/sys_common/backtrace.rs:125 (agatedb-2d8b3cfdced45fcd+0x42a016)
808
#15 std::thread::Builder::spawn_unchecked::{{closure}}::{{closure}} /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/thread/mod.rs:474 (agatedb-2d8b3cfdced45fcd+0x4409aa)
809
#16 <std::panic::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panic.rs:322 (agatedb-2d8b3cfdced45fcd+0x43e60a)
810
#17 std::panicking::try::do_call /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panicking.rs:379 (agatedb-2d8b3cfdced45fcd+0x454ad9)
811
#18 __rust_try yatp.da9dazvp-cgu.7:? (agatedb-2d8b3cfdced45fcd+0x459c2b)
812
#19 std::panicking::try /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panicking.rs:343 (agatedb-2d8b3cfdced45fcd+0x454987)
813
#20 std::panic::catch_unwind /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panic.rs:396 (agatedb-2d8b3cfdced45fcd+0x43f6ea)
814
#21 std::thread::Builder::spawn_unchecked::{{closure}} /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/thread/mod.rs:473 (agatedb-2d8b3cfdced45fcd+0x440727)
815
#22 core::ops::function::FnOnce::call_once{{vtable-shim}} /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ops/function.rs:227 (agatedb-2d8b3cfdced45fcd+0x41a4cb)
816
#23 <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/alloc/src/boxed.rs:1318 (agatedb-2d8b3cfdced45fcd+0x630f3b)
817
#24 <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/alloc/src/boxed.rs:1318 (agatedb-2d8b3cfdced45fcd+0x631036)
818
#25 std::sys::unix::thread::Thread::new::thread_start /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/sys/unix/thread.rs:71 (agatedb-2d8b3cfdced45fcd+0x675cb3)
819
820
Hint: use TSAN_OPTIONS=second_deadlock_stack=1 to get more informative warning message
821
822
Mutex M344 acquired here while holding mutex M343 in thread T14:
823
#0 pthread_rwlock_wrlock /rustc/llvm/src/llvm-project/compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp:1365 (agatedb-2d8b3cfdced45fcd+0x400f6)
824
#1 std::sys::unix::rwlock::RWLock::write /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/sys/unix/rwlock.rs:73 (agatedb-2d8b3cfdced45fcd+0x1f016e)
825
#2 std::sys_common::rwlock::RWLock::write /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/sys_common/rwlock.rs:48 (agatedb-2d8b3cfdced45fcd+0x1d80d7)
826
#3 std::sync::rwlock::RwLock<T>::write /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/sync/rwlock.rs:264 (agatedb-2d8b3cfdced45fcd+0x198471)
827
#4 agatedb::levels::Core::fill_tables_l0_to_lbase /home/runner/work/agatedb/agatedb/src/levels.rs:163 (agatedb-2d8b3cfdced45fcd+0x248cad)
828
#5 agatedb::levels::Core::fill_tables_l0 /home/runner/work/agatedb/agatedb/src/levels.rs:224 (agatedb-2d8b3cfdced45fcd+0x249fc7)
829
#6 agatedb::levels::Core::do_compact /home/runner/work/agatedb/agatedb/src/levels.rs:558 (agatedb-2d8b3cfdced45fcd+0x24e97c)
830
#7 agatedb::levels::LevelsController::run_compactor::{{closure}}::{{closure}} /home/runner/work/agatedb/agatedb/src/levels.rs:732 (agatedb-2d8b3cfdced45fcd+0x241b70)
831
#8 agatedb::levels::LevelsController::run_compactor::{{closure}} /home/runner/work/agatedb/agatedb/src/levels.rs:742 (agatedb-2d8b3cfdced45fcd+0x24220f)
832
#9 core::ops::function::FnOnce::call_once /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ops/function.rs:227 (agatedb-2d8b3cfdced45fcd+0x15c473)
833
#10 core::ops::function::FnOnce::call_once{{vtable-shim}} /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ops/function.rs:227 (agatedb-2d8b3cfdced45fcd+0x15b7fb)
834
#11 <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/alloc/src/boxed.rs:1318 (agatedb-2d8b3cfdced45fcd+0x42986f)
835
#12 <yatp::task::callback::Runner as yatp::pool::runner::Runner>::handle /home/runner/.cargo/git/checkouts/yatp-e704b73c3ee279b6/6bbea16/src/task/callback.rs:152 (agatedb-2d8b3cfdced45fcd+0x4606b9)
836
#13 yatp::pool::worker::WorkerThread<T,R>::run /home/runner/.cargo/git/checkouts/yatp-e704b73c3ee279b6/6bbea16/src/pool/worker.rs:48 (agatedb-2d8b3cfdced45fcd+0x422ca4)
837
#14 yatp::pool::builder::LazyBuilder<T>::build::{{closure}} /home/runner/.cargo/git/checkouts/yatp-e704b73c3ee279b6/6bbea16/src/pool/builder.rs:91 (agatedb-2d8b3cfdced45fcd+0x46763a)
838
#15 std::sys_common::backtrace::__rust_begin_short_backtrace /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/sys_common/backtrace.rs:125 (agatedb-2d8b3cfdced45fcd+0x42a016)
839
#16 std::thread::Builder::spawn_unchecked::{{closure}}::{{closure}} /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/thread/mod.rs:474 (agatedb-2d8b3cfdced45fcd+0x4409aa)
840
#17 <std::panic::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panic.rs:322 (agatedb-2d8b3cfdced45fcd+0x43e60a)
841
#18 std::panicking::try::do_call /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panicking.rs:379 (agatedb-2d8b3cfdced45fcd+0x454ad9)
842
#19 __rust_try yatp.da9dazvp-cgu.7:? (agatedb-2d8b3cfdced45fcd+0x459c2b)
843
#20 std::panicking::try /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panicking.rs:343 (agatedb-2d8b3cfdced45fcd+0x454987)
844
#21 std::panic::catch_unwind /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panic.rs:396 (agatedb-2d8b3cfdced45fcd+0x43f6ea)
845
#22 std::thread::Builder::spawn_unchecked::{{closure}} /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/thread/mod.rs:473 (agatedb-2d8b3cfdced45fcd+0x440727)
846
#23 core::ops::function::FnOnce::call_once{{vtable-shim}} /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ops/function.rs:227 (agatedb-2d8b3cfdced45fcd+0x41a4cb)
847
#24 <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/alloc/src/boxed.rs:1318 (agatedb-2d8b3cfdced45fcd+0x630f3b)
848
#25 <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/alloc/src/boxed.rs:1318 (agatedb-2d8b3cfdced45fcd+0x631036)
849
#26 std::sys::unix::thread::Thread::new::thread_start /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/sys/unix/thread.rs:71 (agatedb-2d8b3cfdced45fcd+0x675cb3)
850
851
Thread T14 'agatedb-1' (tid=16930, running) created by thread T11 at:
852
#0 pthread_create /rustc/llvm/src/llvm-project/compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp:966 (agatedb-2d8b3cfdced45fcd+0x3da7b)
853
#1 std::sys::unix::thread::Thread::new /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/sys/unix/thread.rs:50 (agatedb-2d8b3cfdced45fcd+0x67582b)
854
#2 std::thread::Builder::spawn_unchecked /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/thread/mod.rs:498 (agatedb-2d8b3cfdced45fcd+0x440041)
855
#3 std::thread::Builder::spawn /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/thread/mod.rs:381 (agatedb-2d8b3cfdced45fcd+0x440a6a)
856
#4 yatp::pool::builder::LazyBuilder<T>::build /home/runner/.cargo/git/checkouts/yatp-e704b73c3ee279b6/6bbea16/src/pool/builder.rs:89 (agatedb-2d8b3cfdced45fcd+0x4671b6)
857
#5 yatp::pool::builder::Builder::build_with_queue_and_runner /home/runner/.cargo/git/checkouts/yatp-e704b73c3ee279b6/6bbea16/src/pool/builder.rs:260 (agatedb-2d8b3cfdced45fcd+0x467d91)
858
#6 yatp::pool::builder::Builder::build_callback_pool /home/runner/.cargo/git/checkouts/yatp-e704b73c3ee279b6/6bbea16/src/pool/builder.rs:225 (agatedb-2d8b3cfdced45fcd+0x467c8c)
859
#7 agatedb::db::Agate::new /home/runner/work/agatedb/agatedb/src/db.rs:72 (agatedb-2d8b3cfdced45fcd+0x17e172)
860
#8 agatedb::db::AgateOptions::open /home/runner/work/agatedb/agatedb/src/db.rs:233 (agatedb-2d8b3cfdced45fcd+0x137bd4)
861
#9 agatedb::db::tests::with_agate_test::{{closure}} /home/runner/work/agatedb/agatedb/src/db.rs:618 (agatedb-2d8b3cfdced45fcd+0x1f404e)
862
#10 std::sys_common::backtrace::__rust_begin_short_backtrace /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/sys_common/backtrace.rs:125 (agatedb-2d8b3cfdced45fcd+0x252ea9)
863
#11 std::thread::Builder::spawn_unchecked::{{closure}}::{{closure}} /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/thread/mod.rs:474 (agatedb-2d8b3cfdced45fcd+0x2597e9)
864
#12 <std::panic::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panic.rs:322 (agatedb-2d8b3cfdced45fcd+0x122989)
865
#13 std::panicking::try::do_call /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panicking.rs:379 (agatedb-2d8b3cfdced45fcd+0xc6b3a)
866
#14 __rust_try 1dzu5xa3oeqaq90p:? (agatedb-2d8b3cfdced45fcd+0xc744b)
867
#15 std::panicking::try /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panicking.rs:343 (agatedb-2d8b3cfdced45fcd+0xc6278)
868
#16 std::panic::catch_unwind /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panic.rs:396 (agatedb-2d8b3cfdced45fcd+0x122bf9)
869
#17 std::thread::Builder::spawn_unchecked::{{closure}} /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/thread/mod.rs:473 (agatedb-2d8b3cfdced45fcd+0x258bf9)
870
#18 core::ops::function::FnOnce::call_once{{vtable-shim}} /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ops/function.rs:227 (agatedb-2d8b3cfdced45fcd+0x15b6f7)
871
#19 <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/alloc/src/boxed.rs:1318 (agatedb-2d8b3cfdced45fcd+0x630f3b)
872
#20 <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/alloc/src/boxed.rs:1318 (agatedb-2d8b3cfdced45fcd+0x631036)
873
#21 std::sys::unix::thread::Thread::new::thread_start /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/sys/unix/thread.rs:71 (agatedb-2d8b3cfdced45fcd+0x675cb3)
874
875
SUMMARY: ThreadSanitizer: lock-order-inversion (potential deadlock) /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/sys/unix/rwlock.rs:23 in std::sys::unix::rwlock::RWLock::read
876
==================
877
==================
878
WARNING: ThreadSanitizer: lock-order-inversion (potential deadlock) (pid=16915)
879
Cycle in lock order graph: M342 (0x7b1400002ad0) => M344 (0x7b1400002b20) => M349 (0x7b1400002a80) => M342
880
881
Mutex M344 acquired here while holding mutex M342 in thread T14:
882
#0 pthread_rwlock_wrlock /rustc/llvm/src/llvm-project/compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp:1365 (agatedb-2d8b3cfdced45fcd+0x400f6)
883
#1 std::sys::unix::rwlock::RWLock::write /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/sys/unix/rwlock.rs:73 (agatedb-2d8b3cfdced45fcd+0x1f016e)
884
#2 std::sys_common::rwlock::RWLock::write /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/sys_common/rwlock.rs:48 (agatedb-2d8b3cfdced45fcd+0x1d80d7)
885
#3 std::sync::rwlock::RwLock<T>::write /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/sync/rwlock.rs:264 (agatedb-2d8b3cfdced45fcd+0x198471)
886
#4 agatedb::levels::Core::fill_tables_l0_to_lbase /home/runner/work/agatedb/agatedb/src/levels.rs:163 (agatedb-2d8b3cfdced45fcd+0x248cad)
887
#5 agatedb::levels::Core::fill_tables_l0 /home/runner/work/agatedb/agatedb/src/levels.rs:224 (agatedb-2d8b3cfdced45fcd+0x249fc7)
888
#6 agatedb::levels::Core::do_compact /home/runner/work/agatedb/agatedb/src/levels.rs:558 (agatedb-2d8b3cfdced45fcd+0x24e97c)
889
#7 agatedb::levels::LevelsController::run_compactor::{{closure}}::{{closure}} /home/runner/work/agatedb/agatedb/src/levels.rs:732 (agatedb-2d8b3cfdced45fcd+0x241b70)
890
#8 agatedb::levels::LevelsController::run_compactor::{{closure}} /home/runner/work/agatedb/agatedb/src/levels.rs:742 (agatedb-2d8b3cfdced45fcd+0x24220f)
891
#9 core::ops::function::FnOnce::call_once /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ops/function.rs:227 (agatedb-2d8b3cfdced45fcd+0x15c473)
892
#10 core::ops::function::FnOnce::call_once{{vtable-shim}} /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ops/function.rs:227 (agatedb-2d8b3cfdced45fcd+0x15b7fb)
893
#11 <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/alloc/src/boxed.rs:1318 (agatedb-2d8b3cfdced45fcd+0x42986f)
894
#12 <yatp::task::callback::Runner as yatp::pool::runner::Runner>::handle /home/runner/.cargo/git/checkouts/yatp-e704b73c3ee279b6/6bbea16/src/task/callback.rs:152 (agatedb-2d8b3cfdced45fcd+0x4606b9)
895
#13 yatp::pool::worker::WorkerThread<T,R>::run /home/runner/.cargo/git/checkouts/yatp-e704b73c3ee279b6/6bbea16/src/pool/worker.rs:48 (agatedb-2d8b3cfdced45fcd+0x422ca4)
896
#14 yatp::pool::builder::LazyBuilder<T>::build::{{closure}} /home/runner/.cargo/git/checkouts/yatp-e704b73c3ee279b6/6bbea16/src/pool/builder.rs:91 (agatedb-2d8b3cfdced45fcd+0x46763a)
897
#15 std::sys_common::backtrace::__rust_begin_short_backtrace /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/sys_common/backtrace.rs:125 (agatedb-2d8b3cfdced45fcd+0x42a016)
898
#16 std::thread::Builder::spawn_unchecked::{{closure}}::{{closure}} /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/thread/mod.rs:474 (agatedb-2d8b3cfdced45fcd+0x4409aa)
899
#17 <std::panic::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panic.rs:322 (agatedb-2d8b3cfdced45fcd+0x43e60a)
900
#18 std::panicking::try::do_call /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panicking.rs:379 (agatedb-2d8b3cfdced45fcd+0x454ad9)
901
#19 __rust_try yatp.da9dazvp-cgu.7:? (agatedb-2d8b3cfdced45fcd+0x459c2b)
902
#20 std::panicking::try /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panicking.rs:343 (agatedb-2d8b3cfdced45fcd+0x454987)
903
#21 std::panic::catch_unwind /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panic.rs:396 (agatedb-2d8b3cfdced45fcd+0x43f6ea)
904
#22 std::thread::Builder::spawn_unchecked::{{closure}} /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/thread/mod.rs:473 (agatedb-2d8b3cfdced45fcd+0x440727)
905
#23 core::ops::function::FnOnce::call_once{{vtable-shim}} /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ops/function.rs:227 (agatedb-2d8b3cfdced45fcd+0x41a4cb)
906
#24 <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/alloc/src/boxed.rs:1318 (agatedb-2d8b3cfdced45fcd+0x630f3b)
907
#25 <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/alloc/src/boxed.rs:1318 (agatedb-2d8b3cfdced45fcd+0x631036)
908
#26 std::sys::unix::thread::Thread::new::thread_start /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/sys/unix/thread.rs:71 (agatedb-2d8b3cfdced45fcd+0x675cb3)
909
910
Hint: use TSAN_OPTIONS=second_deadlock_stack=1 to get more informative warning message
911
912
Mutex M349 acquired here while holding mutex M344 in thread T14:
913
#0 pthread_rwlock_rdlock /rustc/llvm/src/llvm-project/compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp:1335 (agatedb-2d8b3cfdced45fcd+0x3fd26)
914
#1 std::sys::unix::rwlock::RWLock::read /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/sys/unix/rwlock.rs:23 (agatedb-2d8b3cfdced45fcd+0x1efdb8)
915
#2 std::sys_common::rwlock::RWLock::read /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/sys_common/rwlock.rs:26 (agatedb-2d8b3cfdced45fcd+0x1d8077)
916
#3 std::sync::rwlock::RwLock<T>::read /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/sync/rwlock.rs:182 (agatedb-2d8b3cfdced45fcd+0x198144)
917
#4 agatedb::levels::Core::pick_compact_levels /home/runner/work/agatedb/agatedb/src/levels.rs:659 (agatedb-2d8b3cfdced45fcd+0x2505bb)
918
#5 agatedb::levels::LevelsController::run_compactor::{{closure}}::{{closure}} /home/runner/work/agatedb/agatedb/src/levels.rs:717 (agatedb-2d8b3cfdced45fcd+0x24174f)
919
#6 agatedb::levels::LevelsController::run_compactor::{{closure}} /home/runner/work/agatedb/agatedb/src/levels.rs:742 (agatedb-2d8b3cfdced45fcd+0x24220f)
920
#7 core::ops::function::FnOnce::call_once /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ops/function.rs:227 (agatedb-2d8b3cfdced45fcd+0x15c473)
921
#8 core::ops::function::FnOnce::call_once{{vtable-shim}} /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ops/function.rs:227 (agatedb-2d8b3cfdced45fcd+0x15b7fb)
922
#9 <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/alloc/src/boxed.rs:1318 (agatedb-2d8b3cfdced45fcd+0x42986f)
923
#10 <yatp::task::callback::Runner as yatp::pool::runner::Runner>::handle /home/runner/.cargo/git/checkouts/yatp-e704b73c3ee279b6/6bbea16/src/task/callback.rs:152 (agatedb-2d8b3cfdced45fcd+0x4606b9)
924
#11 yatp::pool::worker::WorkerThread<T,R>::run /home/runner/.cargo/git/checkouts/yatp-e704b73c3ee279b6/6bbea16/src/pool/worker.rs:48 (agatedb-2d8b3cfdced45fcd+0x422ca4)
925
#12 yatp::pool::builder::LazyBuilder<T>::build::{{closure}} /home/runner/.cargo/git/checkouts/yatp-e704b73c3ee279b6/6bbea16/src/pool/builder.rs:91 (agatedb-2d8b3cfdced45fcd+0x46763a)
926
#13 std::sys_common::backtrace::__rust_begin_short_backtrace /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/sys_common/backtrace.rs:125 (agatedb-2d8b3cfdced45fcd+0x42a016)
927
#14 std::thread::Builder::spawn_unchecked::{{closure}}::{{closure}} /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/thread/mod.rs:474 (agatedb-2d8b3cfdced45fcd+0x4409aa)
928
#15 <std::panic::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panic.rs:322 (agatedb-2d8b3cfdced45fcd+0x43e60a)
929
#16 std::panicking::try::do_call /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panicking.rs:379 (agatedb-2d8b3cfdced45fcd+0x454ad9)
930
#17 __rust_try yatp.da9dazvp-cgu.7:? (agatedb-2d8b3cfdced45fcd+0x459c2b)
931
#18 std::panicking::try /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panicking.rs:343 (agatedb-2d8b3cfdced45fcd+0x454987)
932
#19 std::panic::catch_unwind /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panic.rs:396 (agatedb-2d8b3cfdced45fcd+0x43f6ea)
933
#20 std::thread::Builder::spawn_unchecked::{{closure}} /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/thread/mod.rs:473 (agatedb-2d8b3cfdced45fcd+0x440727)
934
#21 core::ops::function::FnOnce::call_once{{vtable-shim}} /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ops/function.rs:227 (agatedb-2d8b3cfdced45fcd+0x41a4cb)
935
#22 <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/alloc/src/boxed.rs:1318 (agatedb-2d8b3cfdced45fcd+0x630f3b)
936
#23 <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/alloc/src/boxed.rs:1318 (agatedb-2d8b3cfdced45fcd+0x631036)
937
#24 std::sys::unix::thread::Thread::new::thread_start /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/sys/unix/thread.rs:71 (agatedb-2d8b3cfdced45fcd+0x675cb3)
938
939
Mutex M342 acquired here while holding mutex M349 in thread T14:
940
#0 pthread_rwlock_rdlock /rustc/llvm/src/llvm-project/compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp:1335 (agatedb-2d8b3cfdced45fcd+0x3fd26)
941
#1 std::sys::unix::rwlock::RWLock::read /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/sys/unix/rwlock.rs:23 (agatedb-2d8b3cfdced45fcd+0x1efdb8)
942
#2 std::sys_common::rwlock::RWLock::read /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/sys_common/rwlock.rs:26 (agatedb-2d8b3cfdced45fcd+0x1d8077)
943
#3 std::sync::rwlock::RwLock<T>::read /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/sync/rwlock.rs:182 (agatedb-2d8b3cfdced45fcd+0x198144)
944
#4 agatedb::levels::Core::fill_tables /home/runner/work/agatedb/agatedb/src/levels.rs:233 (agatedb-2d8b3cfdced45fcd+0x24a272)
945
#5 agatedb::levels::Core::do_compact /home/runner/work/agatedb/agatedb/src/levels.rs:571 (agatedb-2d8b3cfdced45fcd+0x24ed9d)
946
#6 agatedb::levels::LevelsController::run_compactor::{{closure}}::{{closure}} /home/runner/work/agatedb/agatedb/src/levels.rs:732 (agatedb-2d8b3cfdced45fcd+0x241b70)
947
#7 agatedb::levels::LevelsController::run_compactor::{{closure}} /home/runner/work/agatedb/agatedb/src/levels.rs:742 (agatedb-2d8b3cfdced45fcd+0x24220f)
948
#8 core::ops::function::FnOnce::call_once /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ops/function.rs:227 (agatedb-2d8b3cfdced45fcd+0x15c473)
949
#9 core::ops::function::FnOnce::call_once{{vtable-shim}} /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ops/function.rs:227 (agatedb-2d8b3cfdced45fcd+0x15b7fb)
950
#10 <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/alloc/src/boxed.rs:1318 (agatedb-2d8b3cfdced45fcd+0x42986f)
951
#11 <yatp::task::callback::Runner as yatp::pool::runner::Runner>::handle /home/runner/.cargo/git/checkouts/yatp-e704b73c3ee279b6/6bbea16/src/task/callback.rs:152 (agatedb-2d8b3cfdced45fcd+0x4606b9)
952
#12 yatp::pool::worker::WorkerThread<T,R>::run /home/runner/.cargo/git/checkouts/yatp-e704b73c3ee279b6/6bbea16/src/pool/worker.rs:48 (agatedb-2d8b3cfdced45fcd+0x422ca4)
953
#13 yatp::pool::builder::LazyBuilder<T>::build::{{closure}} /home/runner/.cargo/git/checkouts/yatp-e704b73c3ee279b6/6bbea16/src/pool/builder.rs:91 (agatedb-2d8b3cfdced45fcd+0x46763a)
954
#14 std::sys_common::backtrace::__rust_begin_short_backtrace /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/sys_common/backtrace.rs:125 (agatedb-2d8b3cfdced45fcd+0x42a016)
955
#15 std::thread::Builder::spawn_unchecked::{{closure}}::{{closure}} /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/thread/mod.rs:474 (agatedb-2d8b3cfdced45fcd+0x4409aa)
956
#16 <std::panic::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panic.rs:322 (agatedb-2d8b3cfdced45fcd+0x43e60a)
957
#17 std::panicking::try::do_call /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panicking.rs:379 (agatedb-2d8b3cfdced45fcd+0x454ad9)
958
#18 __rust_try yatp.da9dazvp-cgu.7:? (agatedb-2d8b3cfdced45fcd+0x459c2b)
959
#19 std::panicking::try /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panicking.rs:343 (agatedb-2d8b3cfdced45fcd+0x454987)
960
#20 std::panic::catch_unwind /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panic.rs:396 (agatedb-2d8b3cfdced45fcd+0x43f6ea)
961
#21 std::thread::Builder::spawn_unchecked::{{closure}} /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/thread/mod.rs:473 (agatedb-2d8b3cfdced45fcd+0x440727)
962
#22 core::ops::function::FnOnce::call_once{{vtable-shim}} /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ops/function.rs:227 (agatedb-2d8b3cfdced45fcd+0x41a4cb)
963
#23 <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/alloc/src/boxed.rs:1318 (agatedb-2d8b3cfdced45fcd+0x630f3b)
964
#24 <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/alloc/src/boxed.rs:1318 (agatedb-2d8b3cfdced45fcd+0x631036)
965
#25 std::sys::unix::thread::Thread::new::thread_start /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/sys/unix/thread.rs:71 (agatedb-2d8b3cfdced45fcd+0x675cb3)
966
967
Thread T14 'agatedb-1' (tid=16930, running) created by thread T11 at:
968
#0 pthread_create /rustc/llvm/src/llvm-project/compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp:966 (agatedb-2d8b3cfdced45fcd+0x3da7b)
969
#1 std::sys::unix::thread::Thread::new /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/sys/unix/thread.rs:50 (agatedb-2d8b3cfdced45fcd+0x67582b)
970
#2 std::thread::Builder::spawn_unchecked /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/thread/mod.rs:498 (agatedb-2d8b3cfdced45fcd+0x440041)
971
#3 std::thread::Builder::spawn /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/thread/mod.rs:381 (agatedb-2d8b3cfdced45fcd+0x440a6a)
972
#4 yatp::pool::builder::LazyBuilder<T>::build /home/runner/.cargo/git/checkouts/yatp-e704b73c3ee279b6/6bbea16/src/pool/builder.rs:89 (agatedb-2d8b3cfdced45fcd+0x4671b6)
973
#5 yatp::pool::builder::Builder::build_with_queue_and_runner /home/runner/.cargo/git/checkouts/yatp-e704b73c3ee279b6/6bbea16/src/pool/builder.rs:260 (agatedb-2d8b3cfdced45fcd+0x467d91)
974
#6 yatp::pool::builder::Builder::build_callback_pool /home/runner/.cargo/git/checkouts/yatp-e704b73c3ee279b6/6bbea16/src/pool/builder.rs:225 (agatedb-2d8b3cfdced45fcd+0x467c8c)
975
#7 agatedb::db::Agate::new /home/runner/work/agatedb/agatedb/src/db.rs:72 (agatedb-2d8b3cfdced45fcd+0x17e172)
976
#8 agatedb::db::AgateOptions::open /home/runner/work/agatedb/agatedb/src/db.rs:233 (agatedb-2d8b3cfdced45fcd+0x137bd4)
977
#9 agatedb::db::tests::with_agate_test::{{closure}} /home/runner/work/agatedb/agatedb/src/db.rs:618 (agatedb-2d8b3cfdced45fcd+0x1f404e)
978
#10 std::sys_common::backtrace::__rust_begin_short_backtrace /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/sys_common/backtrace.rs:125 (agatedb-2d8b3cfdced45fcd+0x252ea9)
979
#11 std::thread::Builder::spawn_unchecked::{{closure}}::{{closure}} /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/thread/mod.rs:474 (agatedb-2d8b3cfdced45fcd+0x2597e9)
980
#12 <std::panic::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panic.rs:322 (agatedb-2d8b3cfdced45fcd+0x122989)
981
#13 std::panicking::try::do_call /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panicking.rs:379 (agatedb-2d8b3cfdced45fcd+0xc6b3a)
982
#14 __rust_try 1dzu5xa3oeqaq90p:? (agatedb-2d8b3cfdced45fcd+0xc744b)
983
#15 std::panicking::try /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panicking.rs:343 (agatedb-2d8b3cfdced45fcd+0xc6278)
984
#16 std::panic::catch_unwind /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panic.rs:396 (agatedb-2d8b3cfdced45fcd+0x122bf9)
985
#17 std::thread::Builder::spawn_unchecked::{{closure}} /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/thread/mod.rs:473 (agatedb-2d8b3cfdced45fcd+0x258bf9)
986
#18 core::ops::function::FnOnce::call_once{{vtable-shim}} /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ops/function.rs:227 (agatedb-2d8b3cfdced45fcd+0x15b6f7)
987
#19 <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/alloc/src/boxed.rs:1318 (agatedb-2d8b3cfdced45fcd+0x630f3b)
988
#20 <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/alloc/src/boxed.rs:1318 (agatedb-2d8b3cfdced45fcd+0x631036)
989
#21 std::sys::unix::thread::Thread::new::thread_start /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/sys/unix/thread.rs:71 (agatedb-2d8b3cfdced45fcd+0x675cb3)
990
991
SUMMARY: ThreadSanitizer: lock-order-inversion (potential deadlock) /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/sys/unix/rwlock.rs:73 in std::sys::unix::rwlock::RWLock::write
992
==================
993
test db::tests::test_flush_memtable ... ok
994
==================
995
WARNING: ThreadSanitizer: lock-order-inversion (potential deadlock) (pid=16915)
996
Cycle in lock order graph: M344 (0x7b1400002b20) => M343 (0x7b14000028f0) => M344
997
998
Mutex M343 acquired here while holding mutex M344 in thread T14:
999
#0 pthread_rwlock_rdlock /rustc/llvm/src/llvm-project/compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp:1335 (agatedb-2d8b3cfdced45fcd+0x3fd26)
1000
#1 std::sys::unix::rwlock::RWLock::read /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/sys/unix/rwlock.rs:23 (agatedb-2d8b3cfdced45fcd+0x1efdb8)
1001
#2 std::sys_common::rwlock::RWLock::read /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/sys_common/rwlock.rs:26 (agatedb-2d8b3cfdced45fcd+0x1d8077)
1002
#3 std::sync::rwlock::RwLock<T>::read /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/sync/rwlock.rs:182 (agatedb-2d8b3cfdced45fcd+0x198144)
1003
#4 agatedb::levels::compaction::CompactStatus::delete /home/runner/work/agatedb/agatedb/src/levels/compaction.rs:178 (agatedb-2d8b3cfdced45fcd+0xe21db)
1004
#5 agatedb::levels::Core::do_compact /home/runner/work/agatedb/agatedb/src/levels.rs:581 (agatedb-2d8b3cfdced45fcd+0x24f1ad)
1005
#6 agatedb::levels::LevelsController::run_compactor::{{closure}}::{{closure}} /home/runner/work/agatedb/agatedb/src/levels.rs:732 (agatedb-2d8b3cfdced45fcd+0x241b70)
1006
#7 agatedb::levels::LevelsController::run_compactor::{{closure}} /home/runner/work/agatedb/agatedb/src/levels.rs:742 (agatedb-2d8b3cfdced45fcd+0x24220f)
1007
#8 core::ops::function::FnOnce::call_once /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ops/function.rs:227 (agatedb-2d8b3cfdced45fcd+0x15c473)
1008
#9 core::ops::function::FnOnce::call_once{{vtable-shim}} /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ops/function.rs:227 (agatedb-2d8b3cfdced45fcd+0x15b7fb)
1009
#10 <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/alloc/src/boxed.rs:1318 (agatedb-2d8b3cfdced45fcd+0x42986f)
1010
#11 <yatp::task::callback::Runner as yatp::pool::runner::Runner>::handle /home/runner/.cargo/git/checkouts/yatp-e704b73c3ee279b6/6bbea16/src/task/callback.rs:152 (agatedb-2d8b3cfdced45fcd+0x4606b9)
1011
#12 yatp::pool::worker::WorkerThread<T,R>::run /home/runner/.cargo/git/checkouts/yatp-e704b73c3ee279b6/6bbea16/src/pool/worker.rs:48 (agatedb-2d8b3cfdced45fcd+0x422ca4)
1012
#13 yatp::pool::builder::LazyBuilder<T>::build::{{closure}} /home/runner/.cargo/git/checkouts/yatp-e704b73c3ee279b6/6bbea16/src/pool/builder.rs:91 (agatedb-2d8b3cfdced45fcd+0x46763a)
1013
#14 std::sys_common::backtrace::__rust_begin_short_backtrace /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/sys_common/backtrace.rs:125 (agatedb-2d8b3cfdced45fcd+0x42a016)
1014
#15 std::thread::Builder::spawn_unchecked::{{closure}}::{{closure}} /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/thread/mod.rs:474 (agatedb-2d8b3cfdced45fcd+0x4409aa)
1015
#16 <std::panic::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panic.rs:322 (agatedb-2d8b3cfdced45fcd+0x43e60a)
1016
#17 std::panicking::try::do_call /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panicking.rs:379 (agatedb-2d8b3cfdced45fcd+0x454ad9)
1017
#18 __rust_try yatp.da9dazvp-cgu.7:? (agatedb-2d8b3cfdced45fcd+0x459c2b)
1018
#19 std::panicking::try /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panicking.rs:343 (agatedb-2d8b3cfdced45fcd+0x454987)
1019
#20 std::panic::catch_unwind /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panic.rs:396 (agatedb-2d8b3cfdced45fcd+0x43f6ea)
1020
#21 std::thread::Builder::spawn_unchecked::{{closure}} /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/thread/mod.rs:473 (agatedb-2d8b3cfdced45fcd+0x440727)
1021
#22 core::ops::function::FnOnce::call_once{{vtable-shim}} /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ops/function.rs:227 (agatedb-2d8b3cfdced45fcd+0x41a4cb)
1022
#23 <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/alloc/src/boxed.rs:1318 (agatedb-2d8b3cfdced45fcd+0x630f3b)
1023
#24 <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/alloc/src/boxed.rs:1318 (agatedb-2d8b3cfdced45fcd+0x631036)
1024
#25 std::sys::unix::thread::Thread::new::thread_start /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/sys/unix/thread.rs:71 (agatedb-2d8b3cfdced45fcd+0x675cb3)
1025
1026
Hint: use TSAN_OPTIONS=second_deadlock_stack=1 to get more informative warning message
1027
1028
Mutex M344 acquired here while holding mutex M343 in thread T14:
1029
#0 pthread_rwlock_wrlock /rustc/llvm/src/llvm-project/compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp:1365 (agatedb-2d8b3cfdced45fcd+0x400f6)
1030
#1 std::sys::unix::rwlock::RWLock::write /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/sys/unix/rwlock.rs:73 (agatedb-2d8b3cfdced45fcd+0x1f016e)
1031
#2 std::sys_common::rwlock::RWLock::write /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/sys_common/rwlock.rs:48 (agatedb-2d8b3cfdced45fcd+0x1d80d7)
1032
#3 std::sync::rwlock::RwLock<T>::write /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/sync/rwlock.rs:264 (agatedb-2d8b3cfdced45fcd+0x198471)
1033
#4 agatedb::levels::Core::fill_tables_l0_to_lbase /home/runner/work/agatedb/agatedb/src/levels.rs:163 (agatedb-2d8b3cfdced45fcd+0x248cad)
1034
#5 agatedb::levels::Core::fill_tables_l0 /home/runner/work/agatedb/agatedb/src/levels.rs:224 (agatedb-2d8b3cfdced45fcd+0x249fc7)
1035
#6 agatedb::levels::Core::do_compact /home/runner/work/agatedb/agatedb/src/levels.rs:558 (agatedb-2d8b3cfdced45fcd+0x24e97c)
1036
#7 agatedb::levels::LevelsController::run_compactor::{{closure}}::{{closure}} /home/runner/work/agatedb/agatedb/src/levels.rs:732 (agatedb-2d8b3cfdced45fcd+0x241b70)
1037
#8 agatedb::levels::LevelsController::run_compactor::{{closure}} /home/runner/work/agatedb/agatedb/src/levels.rs:742 (agatedb-2d8b3cfdced45fcd+0x24220f)
1038
#9 core::ops::function::FnOnce::call_once /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ops/function.rs:227 (agatedb-2d8b3cfdced45fcd+0x15c473)
1039
#10 core::ops::function::FnOnce::call_once{{vtable-shim}} /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ops/function.rs:227 (agatedb-2d8b3cfdced45fcd+0x15b7fb)
1040
#11 <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/alloc/src/boxed.rs:1318 (agatedb-2d8b3cfdced45fcd+0x42986f)
1041
#12 <yatp::task::callback::Runner as yatp::pool::runner::Runner>::handle /home/runner/.cargo/git/checkouts/yatp-e704b73c3ee279b6/6bbea16/src/task/callback.rs:152 (agatedb-2d8b3cfdced45fcd+0x4606b9)
1042
#13 yatp::pool::worker::WorkerThread<T,R>::run /home/runner/.cargo/git/checkouts/yatp-e704b73c3ee279b6/6bbea16/src/pool/worker.rs:48 (agatedb-2d8b3cfdced45fcd+0x422ca4)
1043
#14 yatp::pool::builder::LazyBuilder<T>::build::{{closure}} /home/runner/.cargo/git/checkouts/yatp-e704b73c3ee279b6/6bbea16/src/pool/builder.rs:91 (agatedb-2d8b3cfdced45fcd+0x46763a)
1044
#15 std::sys_common::backtrace::__rust_begin_short_backtrace /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/sys_common/backtrace.rs:125 (agatedb-2d8b3cfdced45fcd+0x42a016)
1045
#16 std::thread::Builder::spawn_unchecked::{{closure}}::{{closure}} /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/thread/mod.rs:474 (agatedb-2d8b3cfdced45fcd+0x4409aa)
1046
#17 <std::panic::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panic.rs:322 (agatedb-2d8b3cfdced45fcd+0x43e60a)
1047
#18 std::panicking::try::do_call /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panicking.rs:379 (agatedb-2d8b3cfdced45fcd+0x454ad9)
1048
#19 __rust_try yatp.da9dazvp-cgu.7:? (agatedb-2d8b3cfdced45fcd+0x459c2b)
1049
#20 std::panicking::try /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panicking.rs:343 (agatedb-2d8b3cfdced45fcd+0x454987)
1050
#21 std::panic::catch_unwind /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panic.rs:396 (agatedb-2d8b3cfdced45fcd+0x43f6ea)
1051
#22 std::thread::Builder::spawn_unchecked::{{closure}} /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/thread/mod.rs:473 (agatedb-2d8b3cfdced45fcd+0x440727)
1052
#23 core::ops::function::FnOnce::call_once{{vtable-shim}} /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ops/function.rs:227 (agatedb-2d8b3cfdced45fcd+0x41a4cb)
1053
#24 <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/alloc/src/boxed.rs:1318 (agatedb-2d8b3cfdced45fcd+0x630f3b)
1054
#25 <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/alloc/src/boxed.rs:1318 (agatedb-2d8b3cfdced45fcd+0x631036)
1055
#26 std::sys::unix::thread::Thread::new::thread_start /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/sys/unix/thread.rs:71 (agatedb-2d8b3cfdced45fcd+0x675cb3)
1056
1057
Thread T14 'agatedb-1' (tid=16930, running) created by thread T11 at:
1058
#0 pthread_create /rustc/llvm/src/llvm-project/compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp:966 (agatedb-2d8b3cfdced45fcd+0x3da7b)
1059
#1 std::sys::unix::thread::Thread::new /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/sys/unix/thread.rs:50 (agatedb-2d8b3cfdced45fcd+0x67582b)
1060
#2 std::thread::Builder::spawn_unchecked /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/thread/mod.rs:498 (agatedb-2d8b3cfdced45fcd+0x440041)
1061
#3 std::thread::Builder::spawn /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/thread/mod.rs:381 (agatedb-2d8b3cfdced45fcd+0x440a6a)
1062
#4 yatp::pool::builder::LazyBuilder<T>::build /home/runner/.cargo/git/checkouts/yatp-e704b73c3ee279b6/6bbea16/src/pool/builder.rs:89 (agatedb-2d8b3cfdced45fcd+0x4671b6)
1063
#5 yatp::pool::builder::Builder::build_with_queue_and_runner /home/runner/.cargo/git/checkouts/yatp-e704b73c3ee279b6/6bbea16/src/pool/builder.rs:260 (agatedb-2d8b3cfdced45fcd+0x467d91)
1064
#6 yatp::pool::builder::Builder::build_callback_pool /home/runner/.cargo/git/checkouts/yatp-e704b73c3ee279b6/6bbea16/src/pool/builder.rs:225 (agatedb-2d8b3cfdced45fcd+0x467c8c)
1065
#7 agatedb::db::Agate::new /home/runner/work/agatedb/agatedb/src/db.rs:72 (agatedb-2d8b3cfdced45fcd+0x17e172)
1066
#8 agatedb::db::AgateOptions::open /home/runner/work/agatedb/agatedb/src/db.rs:233 (agatedb-2d8b3cfdced45fcd+0x137bd4)
1067
#9 agatedb::db::tests::with_agate_test::{{closure}} /home/runner/work/agatedb/agatedb/src/db.rs:618 (agatedb-2d8b3cfdced45fcd+0x1f404e)
1068
#10 std::sys_common::backtrace::__rust_begin_short_backtrace /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/sys_common/backtrace.rs:125 (agatedb-2d8b3cfdced45fcd+0x252ea9)
1069
#11 std::thread::Builder::spawn_unchecked::{{closure}}::{{closure}} /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/thread/mod.rs:474 (agatedb-2d8b3cfdced45fcd+0x2597e9)
1070
#12 <std::panic::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panic.rs:322 (agatedb-2d8b3cfdced45fcd+0x122989)
1071
#13 std::panicking::try::do_call /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panicking.rs:379 (agatedb-2d8b3cfdced45fcd+0xc6b3a)
1072
#14 __rust_try 1dzu5xa3oeqaq90p:? (agatedb-2d8b3cfdced45fcd+0xc744b)
1073
#15 std::panicking::try /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panicking.rs:343 (agatedb-2d8b3cfdced45fcd+0xc6278)
1074
#16 std::panic::catch_unwind /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panic.rs:396 (agatedb-2d8b3cfdced45fcd+0x122bf9)
1075
#17 std::thread::Builder::spawn_unchecked::{{closure}} /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/thread/mod.rs:473 (agatedb-2d8b3cfdced45fcd+0x258bf9)
1076
#18 core::ops::function::FnOnce::call_once{{vtable-shim}} /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ops/function.rs:227 (agatedb-2d8b3cfdced45fcd+0x15b6f7)
1077
#19 <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/alloc/src/boxed.rs:1318 (agatedb-2d8b3cfdced45fcd+0x630f3b)
1078
#20 <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/alloc/src/boxed.rs:1318 (agatedb-2d8b3cfdced45fcd+0x631036)
1079
#21 std::sys::unix::thread::Thread::new::thread_start /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/sys/unix/thread.rs:71 (agatedb-2d8b3cfdced45fcd+0x675cb3)
1080
1081
SUMMARY: ThreadSanitizer: lock-order-inversion (potential deadlock) /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/sys/unix/rwlock.rs:23 in std::sys::unix::rwlock::RWLock::read
1082
==================
1083
==================
1084
WARNING: ThreadSanitizer: lock-order-inversion (potential deadlock) (pid=16915)
1085
Cycle in lock order graph: M349 (0x7b1400002a80) => M344 (0x7b1400002b20) => M348 (0x7b1400002a30) => M349
1086
1087
Mutex M344 acquired here while holding mutex M349 in thread T14:
1088
#0 pthread_rwlock_wrlock /rustc/llvm/src/llvm-project/compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp:1365 (agatedb-2d8b3cfdced45fcd+0x400f6)
1089
#1 std::sys::unix::rwlock::RWLock::write /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/sys/unix/rwlock.rs:73 (agatedb-2d8b3cfdced45fcd+0x1f016e)
1090
#2 std::sys_common::rwlock::RWLock::write /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/sys_common/rwlock.rs:48 (agatedb-2d8b3cfdced45fcd+0x1d80d7)
1091
#3 std::sync::rwlock::RwLock<T>::write /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/sync/rwlock.rs:264 (agatedb-2d8b3cfdced45fcd+0x198471)
1092
#4 agatedb::levels::Core::fill_tables_l0_to_lbase /home/runner/work/agatedb/agatedb/src/levels.rs:163 (agatedb-2d8b3cfdced45fcd+0x248cad)
1093
#5 agatedb::levels::Core::fill_tables_l0 /home/runner/work/agatedb/agatedb/src/levels.rs:224 (agatedb-2d8b3cfdced45fcd+0x249fc7)
1094
#6 agatedb::levels::Core::do_compact /home/runner/work/agatedb/agatedb/src/levels.rs:558 (agatedb-2d8b3cfdced45fcd+0x24e97c)
1095
#7 agatedb::levels::LevelsController::run_compactor::{{closure}}::{{closure}} /home/runner/work/agatedb/agatedb/src/levels.rs:732 (agatedb-2d8b3cfdced45fcd+0x241b70)
1096
#8 agatedb::levels::LevelsController::run_compactor::{{closure}} /home/runner/work/agatedb/agatedb/src/levels.rs:742 (agatedb-2d8b3cfdced45fcd+0x24220f)
1097
#9 core::ops::function::FnOnce::call_once /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ops/function.rs:227 (agatedb-2d8b3cfdced45fcd+0x15c473)
1098
#10 core::ops::function::FnOnce::call_once{{vtable-shim}} /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ops/function.rs:227 (agatedb-2d8b3cfdced45fcd+0x15b7fb)
1099
#11 <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/alloc/src/boxed.rs:1318 (agatedb-2d8b3cfdced45fcd+0x42986f)
1100
#12 <yatp::task::callback::Runner as yatp::pool::runner::Runner>::handle /home/runner/.cargo/git/checkouts/yatp-e704b73c3ee279b6/6bbea16/src/task/callback.rs:152 (agatedb-2d8b3cfdced45fcd+0x4606b9)
1101
#13 yatp::pool::worker::WorkerThread<T,R>::run /home/runner/.cargo/git/checkouts/yatp-e704b73c3ee279b6/6bbea16/src/pool/worker.rs:48 (agatedb-2d8b3cfdced45fcd+0x422ca4)
1102
#14 yatp::pool::builder::LazyBuilder<T>::build::{{closure}} /home/runner/.cargo/git/checkouts/yatp-e704b73c3ee279b6/6bbea16/src/pool/builder.rs:91 (agatedb-2d8b3cfdced45fcd+0x46763a)
1103
#15 std::sys_common::backtrace::__rust_begin_short_backtrace /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/sys_common/backtrace.rs:125 (agatedb-2d8b3cfdced45fcd+0x42a016)
1104
#16 std::thread::Builder::spawn_unchecked::{{closure}}::{{closure}} /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/thread/mod.rs:474 (agatedb-2d8b3cfdced45fcd+0x4409aa)
1105
#17 <std::panic::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panic.rs:322 (agatedb-2d8b3cfdced45fcd+0x43e60a)
1106
#18 std::panicking::try::do_call /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panicking.rs:379 (agatedb-2d8b3cfdced45fcd+0x454ad9)
1107
#19 __rust_try yatp.da9dazvp-cgu.7:? (agatedb-2d8b3cfdced45fcd+0x459c2b)
1108
#20 std::panicking::try /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panicking.rs:343 (agatedb-2d8b3cfdced45fcd+0x454987)
1109
#21 std::panic::catch_unwind /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panic.rs:396 (agatedb-2d8b3cfdced45fcd+0x43f6ea)
1110
#22 std::thread::Builder::spawn_unchecked::{{closure}} /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/thread/mod.rs:473 (agatedb-2d8b3cfdced45fcd+0x440727)
1111
#23 core::ops::function::FnOnce::call_once{{vtable-shim}} /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ops/function.rs:227 (agatedb-2d8b3cfdced45fcd+0x41a4cb)
1112
#24 <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/alloc/src/boxed.rs:1318 (agatedb-2d8b3cfdced45fcd+0x630f3b)
1113
#25 <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/alloc/src/boxed.rs:1318 (agatedb-2d8b3cfdced45fcd+0x631036)
1114
#26 std::sys::unix::thread::Thread::new::thread_start /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/sys/unix/thread.rs:71 (agatedb-2d8b3cfdced45fcd+0x675cb3)
1115
1116
Hint: use TSAN_OPTIONS=second_deadlock_stack=1 to get more informative warning message
1117
1118
Mutex M348 acquired here while holding mutex M344 in thread T14:
1119
#0 pthread_rwlock_rdlock /rustc/llvm/src/llvm-project/compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp:1335 (agatedb-2d8b3cfdced45fcd+0x3fd26)
1120
#1 std::sys::unix::rwlock::RWLock::read /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/sys/unix/rwlock.rs:23 (agatedb-2d8b3cfdced45fcd+0x1efdb8)
1121
#2 std::sys_common::rwlock::RWLock::read /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/sys_common/rwlock.rs:26 (agatedb-2d8b3cfdced45fcd+0x1d8077)
1122
#3 std::sync::rwlock::RwLock<T>::read /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/sync/rwlock.rs:182 (agatedb-2d8b3cfdced45fcd+0x198144)
1123
#4 agatedb::levels::Core::pick_compact_levels /home/runner/work/agatedb/agatedb/src/levels.rs:659 (agatedb-2d8b3cfdced45fcd+0x2505bb)
1124
#5 agatedb::levels::LevelsController::run_compactor::{{closure}}::{{closure}} /home/runner/work/agatedb/agatedb/src/levels.rs:717 (agatedb-2d8b3cfdced45fcd+0x24174f)
1125
#6 agatedb::levels::LevelsController::run_compactor::{{closure}} /home/runner/work/agatedb/agatedb/src/levels.rs:742 (agatedb-2d8b3cfdced45fcd+0x24220f)
1126
#7 core::ops::function::FnOnce::call_once /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ops/function.rs:227 (agatedb-2d8b3cfdced45fcd+0x15c473)
1127
#8 core::ops::function::FnOnce::call_once{{vtable-shim}} /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ops/function.rs:227 (agatedb-2d8b3cfdced45fcd+0x15b7fb)
1128
#9 <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/alloc/src/boxed.rs:1318 (agatedb-2d8b3cfdced45fcd+0x42986f)
1129
#10 <yatp::task::callback::Runner as yatp::pool::runner::Runner>::handle /home/runner/.cargo/git/checkouts/yatp-e704b73c3ee279b6/6bbea16/src/task/callback.rs:152 (agatedb-2d8b3cfdced45fcd+0x4606b9)
1130
#11 yatp::pool::worker::WorkerThread<T,R>::run /home/runner/.cargo/git/checkouts/yatp-e704b73c3ee279b6/6bbea16/src/pool/worker.rs:48 (agatedb-2d8b3cfdced45fcd+0x422ca4)
1131
#12 yatp::pool::builder::LazyBuilder<T>::build::{{closure}} /home/runner/.cargo/git/checkouts/yatp-e704b73c3ee279b6/6bbea16/src/pool/builder.rs:91 (agatedb-2d8b3cfdced45fcd+0x46763a)
1132
#13 std::sys_common::backtrace::__rust_begin_short_backtrace /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/sys_common/backtrace.rs:125 (agatedb-2d8b3cfdced45fcd+0x42a016)
1133
#14 std::thread::Builder::spawn_unchecked::{{closure}}::{{closure}} /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/thread/mod.rs:474 (agatedb-2d8b3cfdced45fcd+0x4409aa)
1134
#15 <std::panic::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panic.rs:322 (agatedb-2d8b3cfdced45fcd+0x43e60a)
1135
#16 std::panicking::try::do_call /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panicking.rs:379 (agatedb-2d8b3cfdced45fcd+0x454ad9)
1136
#17 __rust_try yatp.da9dazvp-cgu.7:? (agatedb-2d8b3cfdced45fcd+0x459c2b)
1137
#18 std::panicking::try /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panicking.rs:343 (agatedb-2d8b3cfdced45fcd+0x454987)
1138
#19 std::panic::catch_unwind /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panic.rs:396 (agatedb-2d8b3cfdced45fcd+0x43f6ea)
1139
#20 std::thread::Builder::spawn_unchecked::{{closure}} /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/thread/mod.rs:473 (agatedb-2d8b3cfdced45fcd+0x440727)
1140
#21 core::ops::function::FnOnce::call_once{{vtable-shim}} /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ops/function.rs:227 (agatedb-2d8b3cfdced45fcd+0x41a4cb)
1141
#22 <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/alloc/src/boxed.rs:1318 (agatedb-2d8b3cfdced45fcd+0x630f3b)
1142
#23 <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/alloc/src/boxed.rs:1318 (agatedb-2d8b3cfdced45fcd+0x631036)
1143
#24 std::sys::unix::thread::Thread::new::thread_start /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/sys/unix/thread.rs:71 (agatedb-2d8b3cfdced45fcd+0x675cb3)
1144
1145
Mutex M349 acquired here while holding mutex M348 in thread T14:
1146
#0 pthread_rwlock_rdlock /rustc/llvm/src/llvm-project/compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp:1335 (agatedb-2d8b3cfdced45fcd+0x3fd26)
1147
#1 std::sys::unix::rwlock::RWLock::read /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/sys/unix/rwlock.rs:23 (agatedb-2d8b3cfdced45fcd+0x1efdb8)
1148
#2 std::sys_common::rwlock::RWLock::read /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/sys_common/rwlock.rs:26 (agatedb-2d8b3cfdced45fcd+0x1d8077)
1149
#3 std::sync::rwlock::RwLock<T>::read /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/sync/rwlock.rs:182 (agatedb-2d8b3cfdced45fcd+0x198144)
1150
#4 agatedb::levels::Core::fill_tables /home/runner/work/agatedb/agatedb/src/levels.rs:233 (agatedb-2d8b3cfdced45fcd+0x24a272)
1151
#5 agatedb::levels::Core::do_compact /home/runner/work/agatedb/agatedb/src/levels.rs:571 (agatedb-2d8b3cfdced45fcd+0x24ed9d)
1152
#6 agatedb::levels::LevelsController::run_compactor::{{closure}}::{{closure}} /home/runner/work/agatedb/agatedb/src/levels.rs:732 (agatedb-2d8b3cfdced45fcd+0x241b70)
1153
#7 agatedb::levels::LevelsController::run_compactor::{{closure}} /home/runner/work/agatedb/agatedb/src/levels.rs:742 (agatedb-2d8b3cfdced45fcd+0x24220f)
1154
#8 core::ops::function::FnOnce::call_once /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ops/function.rs:227 (agatedb-2d8b3cfdced45fcd+0x15c473)
1155
#9 core::ops::function::FnOnce::call_once{{vtable-shim}} /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ops/function.rs:227 (agatedb-2d8b3cfdced45fcd+0x15b7fb)
1156
#10 <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/alloc/src/boxed.rs:1318 (agatedb-2d8b3cfdced45fcd+0x42986f)
1157
#11 <yatp::task::callback::Runner as yatp::pool::runner::Runner>::handle /home/runner/.cargo/git/checkouts/yatp-e704b73c3ee279b6/6bbea16/src/task/callback.rs:152 (agatedb-2d8b3cfdced45fcd+0x4606b9)
1158
#12 yatp::pool::worker::WorkerThread<T,R>::run /home/runner/.cargo/git/checkouts/yatp-e704b73c3ee279b6/6bbea16/src/pool/worker.rs:48 (agatedb-2d8b3cfdced45fcd+0x422ca4)
1159
#13 yatp::pool::builder::LazyBuilder<T>::build::{{closure}} /home/runner/.cargo/git/checkouts/yatp-e704b73c3ee279b6/6bbea16/src/pool/builder.rs:91 (agatedb-2d8b3cfdced45fcd+0x46763a)
1160
#14 std::sys_common::backtrace::__rust_begin_short_backtrace /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/sys_common/backtrace.rs:125 (agatedb-2d8b3cfdced45fcd+0x42a016)
1161
#15 std::thread::Builder::spawn_unchecked::{{closure}}::{{closure}} /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/thread/mod.rs:474 (agatedb-2d8b3cfdced45fcd+0x4409aa)
1162
#16 <std::panic::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panic.rs:322 (agatedb-2d8b3cfdced45fcd+0x43e60a)
1163
#17 std::panicking::try::do_call /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panicking.rs:379 (agatedb-2d8b3cfdced45fcd+0x454ad9)
1164
#18 __rust_try yatp.da9dazvp-cgu.7:? (agatedb-2d8b3cfdced45fcd+0x459c2b)
1165
#19 std::panicking::try /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panicking.rs:343 (agatedb-2d8b3cfdced45fcd+0x454987)
1166
#20 std::panic::catch_unwind /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panic.rs:396 (agatedb-2d8b3cfdced45fcd+0x43f6ea)
1167
#21 std::thread::Builder::spawn_unchecked::{{closure}} /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/thread/mod.rs:473 (agatedb-2d8b3cfdced45fcd+0x440727)
1168
#22 core::ops::function::FnOnce::call_once{{vtable-shim}} /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ops/function.rs:227 (agatedb-2d8b3cfdced45fcd+0x41a4cb)
1169
#23 <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/alloc/src/boxed.rs:1318 (agatedb-2d8b3cfdced45fcd+0x630f3b)
1170
#24 <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/alloc/src/boxed.rs:1318 (agatedb-2d8b3cfdced45fcd+0x631036)
1171
#25 std::sys::unix::thread::Thread::new::thread_start /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/sys/unix/thread.rs:71 (agatedb-2d8b3cfdced45fcd+0x675cb3)
1172
1173
Thread T14 'agatedb-1' (tid=16930, running) created by thread T11 at:
1174
#0 pthread_create /rustc/llvm/src/llvm-project/compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp:966 (agatedb-2d8b3cfdced45fcd+0x3da7b)
1175
#1 std::sys::unix::thread::Thread::new /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/sys/unix/thread.rs:50 (agatedb-2d8b3cfdced45fcd+0x67582b)
1176
#2 std::thread::Builder::spawn_unchecked /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/thread/mod.rs:498 (agatedb-2d8b3cfdced45fcd+0x440041)
1177
#3 std::thread::Builder::spawn /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/thread/mod.rs:381 (agatedb-2d8b3cfdced45fcd+0x440a6a)
1178
#4 yatp::pool::builder::LazyBuilder<T>::build /home/runner/.cargo/git/checkouts/yatp-e704b73c3ee279b6/6bbea16/src/pool/builder.rs:89 (agatedb-2d8b3cfdced45fcd+0x4671b6)
1179
#5 yatp::pool::builder::Builder::build_with_queue_and_runner /home/runner/.cargo/git/checkouts/yatp-e704b73c3ee279b6/6bbea16/src/pool/builder.rs:260 (agatedb-2d8b3cfdced45fcd+0x467d91)
1180
#6 yatp::pool::builder::Builder::build_callback_pool /home/runner/.cargo/git/checkouts/yatp-e704b73c3ee279b6/6bbea16/src/pool/builder.rs:225 (agatedb-2d8b3cfdced45fcd+0x467c8c)
1181
#7 agatedb::db::Agate::new /home/runner/work/agatedb/agatedb/src/db.rs:72 (agatedb-2d8b3cfdced45fcd+0x17e172)
1182
#8 agatedb::db::AgateOptions::open /home/runner/work/agatedb/agatedb/src/db.rs:233 (agatedb-2d8b3cfdced45fcd+0x137bd4)
1183
#9 agatedb::db::tests::with_agate_test::{{closure}} /home/runner/work/agatedb/agatedb/src/db.rs:618 (agatedb-2d8b3cfdced45fcd+0x1f404e)
1184
#10 std::sys_common::backtrace::__rust_begin_short_backtrace /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/sys_common/backtrace.rs:125 (agatedb-2d8b3cfdced45fcd+0x252ea9)
1185
#11 std::thread::Builder::spawn_unchecked::{{closure}}::{{closure}} /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/thread/mod.rs:474 (agatedb-2d8b3cfdced45fcd+0x2597e9)
1186
#12 <std::panic::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panic.rs:322 (agatedb-2d8b3cfdced45fcd+0x122989)
1187
#13 std::panicking::try::do_call /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panicking.rs:379 (agatedb-2d8b3cfdced45fcd+0xc6b3a)
1188
#14 __rust_try 1dzu5xa3oeqaq90p:? (agatedb-2d8b3cfdced45fcd+0xc744b)
1189
#15 std::panicking::try /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panicking.rs:343 (agatedb-2d8b3cfdced45fcd+0xc6278)
1190
#16 std::panic::catch_unwind /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panic.rs:396 (agatedb-2d8b3cfdced45fcd+0x122bf9)
1191
#17 std::thread::Builder::spawn_unchecked::{{closure}} /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/thread/mod.rs:473 (agatedb-2d8b3cfdced45fcd+0x258bf9)
1192
#18 core::ops::function::FnOnce::call_once{{vtable-shim}} /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ops/function.rs:227 (agatedb-2d8b3cfdced45fcd+0x15b6f7)
1193
#19 <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/alloc/src/boxed.rs:1318 (agatedb-2d8b3cfdced45fcd+0x630f3b)
1194
#20 <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/alloc/src/boxed.rs:1318 (agatedb-2d8b3cfdced45fcd+0x631036)
1195
#21 std::sys::unix::thread::Thread::new::thread_start /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/sys/unix/thread.rs:71 (agatedb-2d8b3cfdced45fcd+0x675cb3)
1196
1197
SUMMARY: ThreadSanitizer: lock-order-inversion (potential deadlock) /usr/share/rust/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/sys/unix/rwlock.rs:73 in std::sys::unix::rwlock::RWLock::write