Skip to content

Instantly share code, notes, and snippets.

@joboet
Created March 3, 2024 09:46
Show Gist options
  • Save joboet/9ba12d1712bfabfa7debddb81b057619 to your computer and use it in GitHub Desktop.
Save joboet/9ba12d1712bfabfa7debddb81b057619 to your computer and use it in GitHub Desktop.
Control flow bug
note: tracking was triggered
--> /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:200:6
|
200 | }
| ^ created stack variable allocation of 40 bytes (alignment 8 bytes) with id 702309
|
= note: BACKTRACE on thread `unnamed-9`:
= note: inside `std::sys::locks::rwlock::queue::Node::new` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:200:6: 200:6
= note: inside `std::sys::locks::rwlock::queue::RwLock::lock_contended` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:319:24: 319:40
= note: inside `std::sys::locks::rwlock::queue::RwLock::write` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:312:13: 312:38
= note: inside `std::sync::RwLock::<()>::write` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sync/rwlock.rs:361:13: 361:31
note: inside closure
--> rwlock.rs:20:26
|
20 | drop(r.write().unwrap());
| ^^^^^^^^^
note: tracking was triggered
--> /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:200:6
|
200 | }
| ^ write access access to allocation with id 702309
|
= note: BACKTRACE on thread `unnamed-9`:
= note: inside `std::sys::locks::rwlock::queue::Node::new` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:200:6: 200:6
= note: inside `std::sys::locks::rwlock::queue::RwLock::lock_contended` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:319:24: 319:40
= note: inside `std::sys::locks::rwlock::queue::RwLock::write` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:312:13: 312:38
= note: inside `std::sync::RwLock::<()>::write` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sync/rwlock.rs:361:13: 361:31
note: inside closure
--> rwlock.rs:20:26
|
20 | drop(r.write().unwrap());
| ^^^^^^^^^
note: tracking was triggered
--> /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:200:6
|
200 | }
| ^ read access access to allocation with id 702309
|
= note: BACKTRACE on thread `unnamed-9`:
= note: inside `std::sys::locks::rwlock::queue::Node::new` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:200:6: 200:6
= note: inside `std::sys::locks::rwlock::queue::RwLock::lock_contended` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:319:24: 319:40
= note: inside `std::sys::locks::rwlock::queue::RwLock::write` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:312:13: 312:38
= note: inside `std::sync::RwLock::<()>::write` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sync/rwlock.rs:361:13: 361:31
note: inside closure
--> rwlock.rs:20:26
|
20 | drop(r.write().unwrap());
| ^^^^^^^^^
note: tracking was triggered
--> /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:319:24
|
319 | let mut node = Node::new(write);
| ^^^^^^^^^^^^^^^^ read access access to allocation with id 702309
|
= note: BACKTRACE on thread `unnamed-9`:
= note: inside `std::sys::locks::rwlock::queue::RwLock::lock_contended` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:319:24: 319:40
= note: inside `std::sys::locks::rwlock::queue::RwLock::write` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:312:13: 312:38
= note: inside `std::sync::RwLock::<()>::write` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sync/rwlock.rs:361:13: 361:31
note: inside closure
--> rwlock.rs:20:26
|
20 | drop(r.write().unwrap());
| ^^^^^^^^^
note: tracking was triggered
--> /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/core/src/option.rs:683:15
|
683 | match *self {
| ^^^^^ read access access to allocation with id 702309
|
= note: BACKTRACE on thread `unnamed-9`:
= note: inside `std::option::Option::<std::thread::Thread>::as_ref` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/core/src/option.rs:683:15: 683:20
= note: inside `std::cell::OnceCell::<std::thread::Thread>::get` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/core/src/cell/once.rs:55:9: 55:47
= note: inside `std::cell::OnceCell::<std::thread::Thread>::get_or_try_init::<{closure@std::cell::OnceCell<std::thread::Thread>::get_or_init<{closure@std::sys::locks::rwlock::queue::Node::prepare::{closure#0}}>::{closure#0}}, !>` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/core/src/cell/once.rs:200:28: 200:38
= note: inside `std::cell::OnceCell::<std::thread::Thread>::get_or_init::<{closure@std::sys::locks::rwlock::queue::Node::prepare::{closure#0}}>` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/core/src/cell/once.rs:162:15: 162:55
= note: inside `std::sys::locks::rwlock::queue::Node::prepare` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:206:9: 207:96
= note: inside `std::sys::locks::rwlock::queue::RwLock::lock_contended` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:340:17: 340:31
= note: inside `std::sys::locks::rwlock::queue::RwLock::write` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:312:13: 312:38
= note: inside `std::sync::RwLock::<()>::write` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sync/rwlock.rs:361:13: 361:31
note: inside closure
--> rwlock.rs:20:26
|
20 | drop(r.write().unwrap());
| ^^^^^^^^^
note: tracking was triggered
--> /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/core/src/option.rs:683:15
|
683 | match *self {
| ^^^^^ read access access to allocation with id 702309
|
= note: BACKTRACE on thread `unnamed-9`:
= note: inside `std::option::Option::<std::thread::Thread>::as_ref` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/core/src/option.rs:683:15: 683:20
= note: inside `std::cell::OnceCell::<std::thread::Thread>::get` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/core/src/cell/once.rs:55:9: 55:47
= note: inside `std::cell::OnceCell::<std::thread::Thread>::try_insert` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/core/src/cell/once.rs:122:28: 122:38
= note: inside `std::cell::OnceCell::<std::thread::Thread>::get_or_try_init::<{closure@std::cell::OnceCell<std::thread::Thread>::get_or_init<{closure@std::sys::locks::rwlock::queue::Node::prepare::{closure#0}}>::{closure#0}}, !>` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/core/src/cell/once.rs:217:26: 217:46
= note: inside `std::cell::OnceCell::<std::thread::Thread>::get_or_init::<{closure@std::sys::locks::rwlock::queue::Node::prepare::{closure#0}}>` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/core/src/cell/once.rs:162:15: 162:55
= note: inside `std::sys::locks::rwlock::queue::Node::prepare` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:206:9: 207:96
= note: inside `std::sys::locks::rwlock::queue::RwLock::lock_contended` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:340:17: 340:31
= note: inside `std::sys::locks::rwlock::queue::RwLock::write` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:312:13: 312:38
= note: inside `std::sync::RwLock::<()>::write` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sync/rwlock.rs:361:13: 361:31
note: inside closure
--> rwlock.rs:20:26
|
20 | drop(r.write().unwrap());
| ^^^^^^^^^
note: tracking was triggered
--> /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/core/src/ptr/mod.rs:515:1
|
515 | pub unsafe fn drop_in_place<T: ?Sized>(to_drop: *mut T) {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ read access access to allocation with id 702309
|
= note: BACKTRACE on thread `unnamed-9`:
= note: inside `std::ptr::drop_in_place::<std::option::Option<std::thread::Thread>> - shim(Some(std::option::Option<std::thread::Thread>))` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/core/src/ptr/mod.rs:515:1: 515:56
= note: inside `std::option::Option::<std::thread::Thread>::insert` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/core/src/option.rs:1575:9: 1575:14
= note: inside `std::cell::OnceCell::<std::thread::Thread>::try_insert` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/core/src/cell/once.rs:131:12: 131:30
= note: inside `std::cell::OnceCell::<std::thread::Thread>::get_or_try_init::<{closure@std::cell::OnceCell<std::thread::Thread>::get_or_init<{closure@std::sys::locks::rwlock::queue::Node::prepare::{closure#0}}>::{closure#0}}, !>` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/core/src/cell/once.rs:217:26: 217:46
= note: inside `std::cell::OnceCell::<std::thread::Thread>::get_or_init::<{closure@std::sys::locks::rwlock::queue::Node::prepare::{closure#0}}>` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/core/src/cell/once.rs:162:15: 162:55
= note: inside `std::sys::locks::rwlock::queue::Node::prepare` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:206:9: 207:96
= note: inside `std::sys::locks::rwlock::queue::RwLock::lock_contended` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:340:17: 340:31
= note: inside `std::sys::locks::rwlock::queue::RwLock::write` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:312:13: 312:38
= note: inside `std::sync::RwLock::<()>::write` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sync/rwlock.rs:361:13: 361:31
note: inside closure
--> rwlock.rs:20:26
|
20 | drop(r.write().unwrap());
| ^^^^^^^^^
note: tracking was triggered
--> /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/core/src/option.rs:1575:9
|
1575 | *self = Some(value);
| ^^^^^ write access access to allocation with id 702309
|
= note: BACKTRACE on thread `unnamed-9`:
= note: inside `std::option::Option::<std::thread::Thread>::insert` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/core/src/option.rs:1575:9: 1575:14
= note: inside `std::cell::OnceCell::<std::thread::Thread>::try_insert` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/core/src/cell/once.rs:131:12: 131:30
= note: inside `std::cell::OnceCell::<std::thread::Thread>::get_or_try_init::<{closure@std::cell::OnceCell<std::thread::Thread>::get_or_init<{closure@std::sys::locks::rwlock::queue::Node::prepare::{closure#0}}>::{closure#0}}, !>` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/core/src/cell/once.rs:217:26: 217:46
= note: inside `std::cell::OnceCell::<std::thread::Thread>::get_or_init::<{closure@std::sys::locks::rwlock::queue::Node::prepare::{closure#0}}>` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/core/src/cell/once.rs:162:15: 162:55
= note: inside `std::sys::locks::rwlock::queue::Node::prepare` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:206:9: 207:96
= note: inside `std::sys::locks::rwlock::queue::RwLock::lock_contended` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:340:17: 340:31
= note: inside `std::sys::locks::rwlock::queue::RwLock::write` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:312:13: 312:38
= note: inside `std::sync::RwLock::<()>::write` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sync/rwlock.rs:361:13: 361:31
note: inside closure
--> rwlock.rs:20:26
|
20 | drop(r.write().unwrap());
| ^^^^^^^^^
note: tracking was triggered
--> /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/core/src/option.rs:1575:9
|
1575 | *self = Some(value);
| ^^^^^ read access access to allocation with id 702309
|
= note: BACKTRACE on thread `unnamed-9`:
= note: inside `std::option::Option::<std::thread::Thread>::insert` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/core/src/option.rs:1575:9: 1575:14
= note: inside `std::cell::OnceCell::<std::thread::Thread>::try_insert` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/core/src/cell/once.rs:131:12: 131:30
= note: inside `std::cell::OnceCell::<std::thread::Thread>::get_or_try_init::<{closure@std::cell::OnceCell<std::thread::Thread>::get_or_init<{closure@std::sys::locks::rwlock::queue::Node::prepare::{closure#0}}>::{closure#0}}, !>` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/core/src/cell/once.rs:217:26: 217:46
= note: inside `std::cell::OnceCell::<std::thread::Thread>::get_or_init::<{closure@std::sys::locks::rwlock::queue::Node::prepare::{closure#0}}>` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/core/src/cell/once.rs:162:15: 162:55
= note: inside `std::sys::locks::rwlock::queue::Node::prepare` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:206:9: 207:96
= note: inside `std::sys::locks::rwlock::queue::RwLock::lock_contended` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:340:17: 340:31
= note: inside `std::sys::locks::rwlock::queue::RwLock::write` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:312:13: 312:38
= note: inside `std::sync::RwLock::<()>::write` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sync/rwlock.rs:361:13: 361:31
note: inside closure
--> rwlock.rs:20:26
|
20 | drop(r.write().unwrap());
| ^^^^^^^^^
note: tracking was triggered
--> /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/core/src/option.rs:705:15
|
705 | match *self {
| ^^^^^ read access access to allocation with id 702309
|
= note: BACKTRACE on thread `unnamed-9`:
= note: inside `std::option::Option::<std::thread::Thread>::as_mut` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/core/src/option.rs:705:15: 705:20
= note: inside `std::option::Option::<std::thread::Thread>::insert` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/core/src/option.rs:1578:18: 1578:31
= note: inside `std::cell::OnceCell::<std::thread::Thread>::try_insert` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/core/src/cell/once.rs:131:12: 131:30
= note: inside `std::cell::OnceCell::<std::thread::Thread>::get_or_try_init::<{closure@std::cell::OnceCell<std::thread::Thread>::get_or_init<{closure@std::sys::locks::rwlock::queue::Node::prepare::{closure#0}}>::{closure#0}}, !>` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/core/src/cell/once.rs:217:26: 217:46
= note: inside `std::cell::OnceCell::<std::thread::Thread>::get_or_init::<{closure@std::sys::locks::rwlock::queue::Node::prepare::{closure#0}}>` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/core/src/cell/once.rs:162:15: 162:55
= note: inside `std::sys::locks::rwlock::queue::Node::prepare` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:206:9: 207:96
= note: inside `std::sys::locks::rwlock::queue::RwLock::lock_contended` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:340:17: 340:31
= note: inside `std::sys::locks::rwlock::queue::RwLock::write` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:312:13: 312:38
= note: inside `std::sync::RwLock::<()>::write` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sync/rwlock.rs:361:13: 361:31
note: inside closure
--> rwlock.rs:20:26
|
20 | drop(r.write().unwrap());
| ^^^^^^^^^
note: tracking was triggered
--> /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:208:9
|
208 | self.completed = AtomicBool::new(false);
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ write access access to allocation with id 702309
|
= note: BACKTRACE on thread `unnamed-9`:
= note: inside `std::sys::locks::rwlock::queue::Node::prepare` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:208:9: 208:48
= note: inside `std::sys::locks::rwlock::queue::RwLock::lock_contended` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:340:17: 340:31
= note: inside `std::sys::locks::rwlock::queue::RwLock::write` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:312:13: 312:38
= note: inside `std::sync::RwLock::<()>::write` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sync/rwlock.rs:361:13: 361:31
note: inside closure
--> rwlock.rs:20:26
|
20 | drop(r.write().unwrap());
| ^^^^^^^^^
note: tracking was triggered
--> /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:208:9
|
208 | self.completed = AtomicBool::new(false);
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ read access access to allocation with id 702309
|
= note: BACKTRACE on thread `unnamed-9`:
= note: inside `std::sys::locks::rwlock::queue::Node::prepare` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:208:9: 208:48
= note: inside `std::sys::locks::rwlock::queue::RwLock::lock_contended` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:340:17: 340:31
= note: inside `std::sys::locks::rwlock::queue::RwLock::write` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:312:13: 312:38
= note: inside `std::sync::RwLock::<()>::write` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sync/rwlock.rs:361:13: 361:31
note: inside closure
--> rwlock.rs:20:26
|
20 | drop(r.write().unwrap());
| ^^^^^^^^^
note: tracking was triggered
--> /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:346:17
|
346 | node.next.0 = AtomicPtr::new(state.mask(MASK).cast());
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ write access access to allocation with id 702309
|
= note: BACKTRACE on thread `unnamed-9`:
= note: inside `std::sys::locks::rwlock::queue::RwLock::lock_contended` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:346:17: 346:70
= note: inside `std::sys::locks::rwlock::queue::RwLock::write` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:312:13: 312:38
= note: inside `std::sync::RwLock::<()>::write` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sync/rwlock.rs:361:13: 361:31
note: inside closure
--> rwlock.rs:20:26
|
20 | drop(r.write().unwrap());
| ^^^^^^^^^
note: tracking was triggered
--> /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:346:17
|
346 | node.next.0 = AtomicPtr::new(state.mask(MASK).cast());
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ read access access to allocation with id 702309
|
= note: BACKTRACE on thread `unnamed-9`:
= note: inside `std::sys::locks::rwlock::queue::RwLock::lock_contended` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:346:17: 346:70
= note: inside `std::sys::locks::rwlock::queue::RwLock::write` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:312:13: 312:38
= note: inside `std::sync::RwLock::<()>::write` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sync/rwlock.rs:361:13: 361:31
note: inside closure
--> rwlock.rs:20:26
|
20 | drop(r.write().unwrap());
| ^^^^^^^^^
note: tracking was triggered
--> /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:347:17
|
347 | node.prev = AtomicLink::new(None);
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ write access access to allocation with id 702309
|
= note: BACKTRACE on thread `unnamed-9`:
= note: inside `std::sys::locks::rwlock::queue::RwLock::lock_contended` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:347:17: 347:50
= note: inside `std::sys::locks::rwlock::queue::RwLock::write` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:312:13: 312:38
= note: inside `std::sync::RwLock::<()>::write` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sync/rwlock.rs:361:13: 361:31
note: inside closure
--> rwlock.rs:20:26
|
20 | drop(r.write().unwrap());
| ^^^^^^^^^
note: tracking was triggered
--> /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:347:17
|
347 | node.prev = AtomicLink::new(None);
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ read access access to allocation with id 702309
|
= note: BACKTRACE on thread `unnamed-9`:
= note: inside `std::sys::locks::rwlock::queue::RwLock::lock_contended` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:347:17: 347:50
= note: inside `std::sys::locks::rwlock::queue::RwLock::write` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:312:13: 312:38
= note: inside `std::sync::RwLock::<()>::write` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sync/rwlock.rs:361:13: 361:31
note: inside closure
--> rwlock.rs:20:26
|
20 | drop(r.write().unwrap());
| ^^^^^^^^^
note: tracking was triggered
--> /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:175:9
|
175 | self.0.store(v.map_or(null_mut(), NonNull::as_ptr), Relaxed);
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ write access access to allocation with id 702309
|
= note: BACKTRACE on thread `unnamed-9`:
= note: inside `std::sys::locks::rwlock::queue::AtomicLink::set` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:175:9: 175:69
= note: inside `std::sys::locks::rwlock::queue::RwLock::lock_contended` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:357:21: 357:62
= note: inside `std::sys::locks::rwlock::queue::RwLock::write` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:312:13: 312:38
= note: inside `std::sync::RwLock::<()>::write` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sync/rwlock.rs:361:13: 361:31
note: inside closure
--> rwlock.rs:20:26
|
20 | drop(r.write().unwrap());
| ^^^^^^^^^
note: tracking was triggered
--> /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:175:9
|
175 | self.0.store(v.map_or(null_mut(), NonNull::as_ptr), Relaxed);
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ read access access to allocation with id 702309
|
= note: BACKTRACE on thread `unnamed-9`:
= note: inside `std::sys::locks::rwlock::queue::AtomicLink::set` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:175:9: 175:69
= note: inside `std::sys::locks::rwlock::queue::RwLock::lock_contended` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:357:21: 357:62
= note: inside `std::sys::locks::rwlock::queue::RwLock::write` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:312:13: 312:38
= note: inside `std::sync::RwLock::<()>::write` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sync/rwlock.rs:361:13: 361:31
note: inside closure
--> rwlock.rs:20:26
|
20 | drop(r.write().unwrap());
| ^^^^^^^^^
note: tracking was triggered
--> /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:216:16
|
216 | while !self.completed.load(Acquire) {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ read access access to allocation with id 702309
|
= note: BACKTRACE on thread `unnamed-9`:
= note: inside `std::sys::locks::rwlock::queue::Node::wait` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:216:16: 216:44
= note: inside `std::sys::locks::rwlock::queue::RwLock::lock_contended` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:390:21: 390:32
= note: inside `std::sys::locks::rwlock::queue::RwLock::write` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:312:13: 312:38
= note: inside `std::sync::RwLock::<()>::write` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sync/rwlock.rs:361:13: 361:31
note: inside closure
--> rwlock.rs:20:26
|
20 | drop(r.write().unwrap());
| ^^^^^^^^^
note: tracking was triggered
--> /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/core/src/option.rs:683:15
|
683 | match *self {
| ^^^^^ read access access to allocation with id 702309
|
= note: BACKTRACE on thread `unnamed-9`:
= note: inside `std::option::Option::<std::thread::Thread>::as_ref` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/core/src/option.rs:683:15: 683:20
= note: inside `std::cell::OnceCell::<std::thread::Thread>::get` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/core/src/cell/once.rs:55:9: 55:47
= note: inside `std::sys::locks::rwlock::queue::Node::wait` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:218:17: 218:34
= note: inside `std::sys::locks::rwlock::queue::RwLock::lock_contended` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:390:21: 390:32
= note: inside `std::sys::locks::rwlock::queue::RwLock::write` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:312:13: 312:38
= note: inside `std::sync::RwLock::<()>::write` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sync/rwlock.rs:361:13: 361:31
note: inside closure
--> rwlock.rs:20:26
|
20 | drop(r.write().unwrap());
| ^^^^^^^^^
note: tracking was triggered
--> /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/core/src/ptr/non_null.rs:401:20
|
401 | unsafe { &*self.as_ptr().cast_const() }
| ^^^^ read access access to allocation with id 702309
|
= note: BACKTRACE on thread `unnamed-9`:
= note: inside `std::ptr::NonNull::<alloc::sync::ArcInner<std::thread::Inner>>::as_ref::<'_>` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/core/src/ptr/non_null.rs:401:20: 401:24
= note: inside `std::sync::Arc::<std::thread::Inner>::inner` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/alloc/src/sync.rs:1796:18: 1796:35
= note: inside `<std::sync::Arc<std::thread::Inner> as std::ops::Deref>::deref` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/alloc/src/sync.rs:2106:10: 2106:22
= note: inside `std::pin::Pin::<std::sync::Arc<std::thread::Inner>>::as_ref` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/core/src/pin.rs:1372:38: 1372:53
= note: inside `std::thread::Thread::park` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/thread/mod.rs:1298:18: 1298:37
= note: inside `std::sys::locks::rwlock::queue::Node::wait` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:218:17: 218:50
= note: inside `std::sys::locks::rwlock::queue::RwLock::lock_contended` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:390:21: 390:32
= note: inside `std::sys::locks::rwlock::queue::RwLock::write` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:312:13: 312:38
= note: inside `std::sync::RwLock::<()>::write` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sync/rwlock.rs:361:13: 361:31
note: inside closure
--> rwlock.rs:20:26
|
20 | drop(r.write().unwrap());
| ^^^^^^^^^
note: tracking was triggered
--> /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:171:22
|
171 | NonNull::new(self.0.load(Relaxed))
| ^^^^^^^^^^^^^^^^^^^^ read access access to allocation with id 702309
|
= note: BACKTRACE on thread `unnamed-5`:
= note: inside `std::sys::locks::rwlock::queue::AtomicLink::get` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:171:22: 171:42
= note: inside `std::sys::locks::rwlock::queue::add_backlinks_and_find_tail` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:258:15: 258:27
= note: inside `std::sys::locks::rwlock::queue::RwLock::read_unlock_contended` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:430:29: 430:72
= note: inside `std::sys::locks::rwlock::queue::RwLock::read_unlock` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:416:36: 416:69
= note: inside `<std::sync::RwLockReadGuard<'_, ()> as std::ops::Drop>::drop` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sync/rwlock.rs:715:13: 715:42
= note: inside `std::ptr::drop_in_place::<std::sync::RwLockReadGuard<'_, ()>> - shim(Some(std::sync::RwLockReadGuard<'_, ()>))` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/core/src/ptr/mod.rs:515:1: 515:56
= note: inside `std::mem::drop::<std::sync::RwLockReadGuard<'_, ()>>` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/core/src/mem/mod.rs:992:24: 992:25
note: inside closure
--> rwlock.rs:22:21
|
22 | drop(r.read().unwrap());
| ^^^^^^^^^^^^^^^^^^^^^^^
note: tracking was triggered
--> /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:175:9
|
175 | self.0.store(v.map_or(null_mut(), NonNull::as_ptr), Relaxed);
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ write access access to allocation with id 702309
|
= note: BACKTRACE on thread `unnamed-5`:
= note: inside `std::sys::locks::rwlock::queue::AtomicLink::set` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:175:9: 175:69
= note: inside `std::sys::locks::rwlock::queue::add_backlinks_and_find_tail` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:272:9: 272:43
= note: inside `std::sys::locks::rwlock::queue::RwLock::read_unlock_contended` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:430:29: 430:72
= note: inside `std::sys::locks::rwlock::queue::RwLock::read_unlock` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:416:36: 416:69
= note: inside `<std::sync::RwLockReadGuard<'_, ()> as std::ops::Drop>::drop` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sync/rwlock.rs:715:13: 715:42
= note: inside `std::ptr::drop_in_place::<std::sync::RwLockReadGuard<'_, ()>> - shim(Some(std::sync::RwLockReadGuard<'_, ()>))` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/core/src/ptr/mod.rs:515:1: 515:56
= note: inside `std::mem::drop::<std::sync::RwLockReadGuard<'_, ()>>` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/core/src/mem/mod.rs:992:24: 992:25
note: inside closure
--> rwlock.rs:22:21
|
22 | drop(r.read().unwrap());
| ^^^^^^^^^^^^^^^^^^^^^^^
note: tracking was triggered
--> /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:175:9
|
175 | self.0.store(v.map_or(null_mut(), NonNull::as_ptr), Relaxed);
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ read access access to allocation with id 702309
|
= note: BACKTRACE on thread `unnamed-5`:
= note: inside `std::sys::locks::rwlock::queue::AtomicLink::set` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:175:9: 175:69
= note: inside `std::sys::locks::rwlock::queue::add_backlinks_and_find_tail` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:272:9: 272:43
= note: inside `std::sys::locks::rwlock::queue::RwLock::read_unlock_contended` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:430:29: 430:72
= note: inside `std::sys::locks::rwlock::queue::RwLock::read_unlock` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:416:36: 416:69
= note: inside `<std::sync::RwLockReadGuard<'_, ()> as std::ops::Drop>::drop` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sync/rwlock.rs:715:13: 715:42
= note: inside `std::ptr::drop_in_place::<std::sync::RwLockReadGuard<'_, ()>> - shim(Some(std::sync::RwLockReadGuard<'_, ()>))` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/core/src/ptr/mod.rs:515:1: 515:56
= note: inside `std::mem::drop::<std::sync::RwLockReadGuard<'_, ()>>` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/core/src/mem/mod.rs:992:24: 992:25
note: inside closure
--> rwlock.rs:22:21
|
22 | drop(r.read().unwrap());
| ^^^^^^^^^^^^^^^^^^^^^^^
note: tracking was triggered
--> /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:434:24
|
434 | let was_last = tail.next.0.fetch_byte_sub(SINGLE, AcqRel).addr() - SINGLE == 0;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ read access access to allocation with id 702309
|
= note: BACKTRACE on thread `unnamed-5`:
= note: inside `std::sys::locks::rwlock::queue::RwLock::read_unlock_contended` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:434:24: 434:66
= note: inside `std::sys::locks::rwlock::queue::RwLock::read_unlock` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:416:36: 416:69
= note: inside `<std::sync::RwLockReadGuard<'_, ()> as std::ops::Drop>::drop` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sync/rwlock.rs:715:13: 715:42
= note: inside `std::ptr::drop_in_place::<std::sync::RwLockReadGuard<'_, ()>> - shim(Some(std::sync::RwLockReadGuard<'_, ()>))` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/core/src/ptr/mod.rs:515:1: 515:56
= note: inside `std::mem::drop::<std::sync::RwLockReadGuard<'_, ()>>` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/core/src/mem/mod.rs:992:24: 992:25
note: inside closure
--> rwlock.rs:22:21
|
22 | drop(r.read().unwrap());
| ^^^^^^^^^^^^^^^^^^^^^^^
note: tracking was triggered
--> /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:434:24
|
434 | let was_last = tail.next.0.fetch_byte_sub(SINGLE, AcqRel).addr() - SINGLE == 0;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ write access access to allocation with id 702309
|
= note: BACKTRACE on thread `unnamed-5`:
= note: inside `std::sys::locks::rwlock::queue::RwLock::read_unlock_contended` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:434:24: 434:66
= note: inside `std::sys::locks::rwlock::queue::RwLock::read_unlock` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:416:36: 416:69
= note: inside `<std::sync::RwLockReadGuard<'_, ()> as std::ops::Drop>::drop` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sync/rwlock.rs:715:13: 715:42
= note: inside `std::ptr::drop_in_place::<std::sync::RwLockReadGuard<'_, ()>> - shim(Some(std::sync::RwLockReadGuard<'_, ()>))` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/core/src/ptr/mod.rs:515:1: 515:56
= note: inside `std::mem::drop::<std::sync::RwLockReadGuard<'_, ()>>` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/core/src/mem/mod.rs:992:24: 992:25
note: inside closure
--> rwlock.rs:22:21
|
22 | drop(r.read().unwrap());
| ^^^^^^^^^^^^^^^^^^^^^^^
note: tracking was triggered
--> /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:171:22
|
171 | NonNull::new(self.0.load(Relaxed))
| ^^^^^^^^^^^^^^^^^^^^ read access access to allocation with id 702309
|
= note: BACKTRACE on thread `unnamed-6`:
= note: inside `std::sys::locks::rwlock::queue::AtomicLink::get` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:171:22: 171:42
= note: inside `std::sys::locks::rwlock::queue::add_backlinks_and_find_tail` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:258:15: 258:27
= note: inside `std::sys::locks::rwlock::queue::RwLock::read_unlock_contended` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:430:29: 430:72
= note: inside `std::sys::locks::rwlock::queue::RwLock::read_unlock` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:416:36: 416:69
= note: inside `<std::sync::RwLockReadGuard<'_, ()> as std::ops::Drop>::drop` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sync/rwlock.rs:715:13: 715:42
= note: inside `std::ptr::drop_in_place::<std::sync::RwLockReadGuard<'_, ()>> - shim(Some(std::sync::RwLockReadGuard<'_, ()>))` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/core/src/ptr/mod.rs:515:1: 515:56
= note: inside `std::mem::drop::<std::sync::RwLockReadGuard<'_, ()>>` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/core/src/mem/mod.rs:992:24: 992:25
note: inside closure
--> rwlock.rs:22:21
|
22 | drop(r.read().unwrap());
| ^^^^^^^^^^^^^^^^^^^^^^^
note: tracking was triggered
--> /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:175:9
|
175 | self.0.store(v.map_or(null_mut(), NonNull::as_ptr), Relaxed);
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ write access access to allocation with id 702309
|
= note: BACKTRACE on thread `unnamed-6`:
= note: inside `std::sys::locks::rwlock::queue::AtomicLink::set` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:175:9: 175:69
= note: inside `std::sys::locks::rwlock::queue::add_backlinks_and_find_tail` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:272:9: 272:43
= note: inside `std::sys::locks::rwlock::queue::RwLock::read_unlock_contended` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:430:29: 430:72
= note: inside `std::sys::locks::rwlock::queue::RwLock::read_unlock` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:416:36: 416:69
= note: inside `<std::sync::RwLockReadGuard<'_, ()> as std::ops::Drop>::drop` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sync/rwlock.rs:715:13: 715:42
= note: inside `std::ptr::drop_in_place::<std::sync::RwLockReadGuard<'_, ()>> - shim(Some(std::sync::RwLockReadGuard<'_, ()>))` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/core/src/ptr/mod.rs:515:1: 515:56
= note: inside `std::mem::drop::<std::sync::RwLockReadGuard<'_, ()>>` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/core/src/mem/mod.rs:992:24: 992:25
note: inside closure
--> rwlock.rs:22:21
|
22 | drop(r.read().unwrap());
| ^^^^^^^^^^^^^^^^^^^^^^^
note: tracking was triggered
--> /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:175:9
|
175 | self.0.store(v.map_or(null_mut(), NonNull::as_ptr), Relaxed);
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ read access access to allocation with id 702309
|
= note: BACKTRACE on thread `unnamed-6`:
= note: inside `std::sys::locks::rwlock::queue::AtomicLink::set` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:175:9: 175:69
= note: inside `std::sys::locks::rwlock::queue::add_backlinks_and_find_tail` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:272:9: 272:43
= note: inside `std::sys::locks::rwlock::queue::RwLock::read_unlock_contended` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:430:29: 430:72
= note: inside `std::sys::locks::rwlock::queue::RwLock::read_unlock` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:416:36: 416:69
= note: inside `<std::sync::RwLockReadGuard<'_, ()> as std::ops::Drop>::drop` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sync/rwlock.rs:715:13: 715:42
= note: inside `std::ptr::drop_in_place::<std::sync::RwLockReadGuard<'_, ()>> - shim(Some(std::sync::RwLockReadGuard<'_, ()>))` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/core/src/ptr/mod.rs:515:1: 515:56
= note: inside `std::mem::drop::<std::sync::RwLockReadGuard<'_, ()>>` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/core/src/mem/mod.rs:992:24: 992:25
note: inside closure
--> rwlock.rs:22:21
|
22 | drop(r.read().unwrap());
| ^^^^^^^^^^^^^^^^^^^^^^^
note: tracking was triggered
--> /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:434:24
|
434 | let was_last = tail.next.0.fetch_byte_sub(SINGLE, AcqRel).addr() - SINGLE == 0;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ read access access to allocation with id 702309
|
= note: BACKTRACE on thread `unnamed-6`:
= note: inside `std::sys::locks::rwlock::queue::RwLock::read_unlock_contended` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:434:24: 434:66
= note: inside `std::sys::locks::rwlock::queue::RwLock::read_unlock` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:416:36: 416:69
= note: inside `<std::sync::RwLockReadGuard<'_, ()> as std::ops::Drop>::drop` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sync/rwlock.rs:715:13: 715:42
= note: inside `std::ptr::drop_in_place::<std::sync::RwLockReadGuard<'_, ()>> - shim(Some(std::sync::RwLockReadGuard<'_, ()>))` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/core/src/ptr/mod.rs:515:1: 515:56
= note: inside `std::mem::drop::<std::sync::RwLockReadGuard<'_, ()>>` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/core/src/mem/mod.rs:992:24: 992:25
note: inside closure
--> rwlock.rs:22:21
|
22 | drop(r.read().unwrap());
| ^^^^^^^^^^^^^^^^^^^^^^^
note: tracking was triggered
--> /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:434:24
|
434 | let was_last = tail.next.0.fetch_byte_sub(SINGLE, AcqRel).addr() - SINGLE == 0;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ write access access to allocation with id 702309
|
= note: BACKTRACE on thread `unnamed-6`:
= note: inside `std::sys::locks::rwlock::queue::RwLock::read_unlock_contended` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:434:24: 434:66
= note: inside `std::sys::locks::rwlock::queue::RwLock::read_unlock` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:416:36: 416:69
= note: inside `<std::sync::RwLockReadGuard<'_, ()> as std::ops::Drop>::drop` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sync/rwlock.rs:715:13: 715:42
= note: inside `std::ptr::drop_in_place::<std::sync::RwLockReadGuard<'_, ()>> - shim(Some(std::sync::RwLockReadGuard<'_, ()>))` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/core/src/ptr/mod.rs:515:1: 515:56
= note: inside `std::mem::drop::<std::sync::RwLockReadGuard<'_, ()>>` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/core/src/mem/mod.rs:992:24: 992:25
note: inside closure
--> rwlock.rs:22:21
|
22 | drop(r.read().unwrap());
| ^^^^^^^^^^^^^^^^^^^^^^^
note: tracking was triggered
--> /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:171:22
|
171 | NonNull::new(self.0.load(Relaxed))
| ^^^^^^^^^^^^^^^^^^^^ read access access to allocation with id 702309
|
= note: BACKTRACE on thread `unnamed-6`:
= note: inside `std::sys::locks::rwlock::queue::AtomicLink::get` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:171:22: 171:42
= note: inside `std::sys::locks::rwlock::queue::add_backlinks_and_find_tail` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:258:15: 258:27
= note: inside `std::sys::locks::rwlock::queue::RwLock::unlock_queue` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:487:33: 487:76
= note: inside `std::sys::locks::rwlock::queue::RwLock::unlock_contended` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:468:28: 468:51
= note: inside `std::sys::locks::rwlock::queue::RwLock::read_unlock_contended` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:440:22: 440:50
= note: inside `std::sys::locks::rwlock::queue::RwLock::read_unlock` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:416:36: 416:69
= note: inside `<std::sync::RwLockReadGuard<'_, ()> as std::ops::Drop>::drop` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sync/rwlock.rs:715:13: 715:42
= note: inside `std::ptr::drop_in_place::<std::sync::RwLockReadGuard<'_, ()>> - shim(Some(std::sync::RwLockReadGuard<'_, ()>))` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/core/src/ptr/mod.rs:515:1: 515:56
= note: inside `std::mem::drop::<std::sync::RwLockReadGuard<'_, ()>>` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/core/src/mem/mod.rs:992:24: 992:25
note: inside closure
--> rwlock.rs:22:21
|
22 | drop(r.read().unwrap());
| ^^^^^^^^^^^^^^^^^^^^^^^
note: tracking was triggered
--> /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:175:9
|
175 | self.0.store(v.map_or(null_mut(), NonNull::as_ptr), Relaxed);
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ write access access to allocation with id 702309
|
= note: BACKTRACE on thread `unnamed-6`:
= note: inside `std::sys::locks::rwlock::queue::AtomicLink::set` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:175:9: 175:69
= note: inside `std::sys::locks::rwlock::queue::add_backlinks_and_find_tail` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:272:9: 272:43
= note: inside `std::sys::locks::rwlock::queue::RwLock::unlock_queue` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:487:33: 487:76
= note: inside `std::sys::locks::rwlock::queue::RwLock::unlock_contended` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:468:28: 468:51
= note: inside `std::sys::locks::rwlock::queue::RwLock::read_unlock_contended` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:440:22: 440:50
= note: inside `std::sys::locks::rwlock::queue::RwLock::read_unlock` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:416:36: 416:69
= note: inside `<std::sync::RwLockReadGuard<'_, ()> as std::ops::Drop>::drop` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sync/rwlock.rs:715:13: 715:42
= note: inside `std::ptr::drop_in_place::<std::sync::RwLockReadGuard<'_, ()>> - shim(Some(std::sync::RwLockReadGuard<'_, ()>))` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/core/src/ptr/mod.rs:515:1: 515:56
= note: inside `std::mem::drop::<std::sync::RwLockReadGuard<'_, ()>>` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/core/src/mem/mod.rs:992:24: 992:25
note: inside closure
--> rwlock.rs:22:21
|
22 | drop(r.read().unwrap());
| ^^^^^^^^^^^^^^^^^^^^^^^
note: tracking was triggered
--> /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:175:9
|
175 | self.0.store(v.map_or(null_mut(), NonNull::as_ptr), Relaxed);
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ read access access to allocation with id 702309
|
= note: BACKTRACE on thread `unnamed-6`:
= note: inside `std::sys::locks::rwlock::queue::AtomicLink::set` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:175:9: 175:69
= note: inside `std::sys::locks::rwlock::queue::add_backlinks_and_find_tail` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:272:9: 272:43
= note: inside `std::sys::locks::rwlock::queue::RwLock::unlock_queue` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:487:33: 487:76
= note: inside `std::sys::locks::rwlock::queue::RwLock::unlock_contended` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:468:28: 468:51
= note: inside `std::sys::locks::rwlock::queue::RwLock::read_unlock_contended` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:440:22: 440:50
= note: inside `std::sys::locks::rwlock::queue::RwLock::read_unlock` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:416:36: 416:69
= note: inside `<std::sync::RwLockReadGuard<'_, ()> as std::ops::Drop>::drop` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sync/rwlock.rs:715:13: 715:42
= note: inside `std::ptr::drop_in_place::<std::sync::RwLockReadGuard<'_, ()>> - shim(Some(std::sync::RwLockReadGuard<'_, ()>))` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/core/src/ptr/mod.rs:515:1: 515:56
= note: inside `std::mem::drop::<std::sync::RwLockReadGuard<'_, ()>>` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/core/src/mem/mod.rs:992:24: 992:25
note: inside closure
--> rwlock.rs:22:21
|
22 | drop(r.read().unwrap());
| ^^^^^^^^^^^^^^^^^^^^^^^
note: tracking was triggered
--> /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:506:38
|
506 | let is_writer = unsafe { tail.as_ref().write };
| ^^^^^^^^^^^^^^^^^^^ read access access to allocation with id 702309
|
= note: BACKTRACE on thread `unnamed-6`:
= note: inside `std::sys::locks::rwlock::queue::RwLock::unlock_queue` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:506:38: 506:57
= note: inside `std::sys::locks::rwlock::queue::RwLock::unlock_contended` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:468:28: 468:51
= note: inside `std::sys::locks::rwlock::queue::RwLock::read_unlock_contended` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:440:22: 440:50
= note: inside `std::sys::locks::rwlock::queue::RwLock::read_unlock` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:416:36: 416:69
= note: inside `<std::sync::RwLockReadGuard<'_, ()> as std::ops::Drop>::drop` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sync/rwlock.rs:715:13: 715:42
= note: inside `std::ptr::drop_in_place::<std::sync::RwLockReadGuard<'_, ()>> - shim(Some(std::sync::RwLockReadGuard<'_, ()>))` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/core/src/ptr/mod.rs:515:1: 515:56
= note: inside `std::mem::drop::<std::sync::RwLockReadGuard<'_, ()>>` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/core/src/mem/mod.rs:992:24: 992:25
note: inside closure
--> rwlock.rs:22:21
|
22 | drop(r.read().unwrap());
| ^^^^^^^^^^^^^^^^^^^^^^^
note: tracking was triggered
--> /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:171:22
|
171 | NonNull::new(self.0.load(Relaxed))
| ^^^^^^^^^^^^^^^^^^^^ read access access to allocation with id 702309
|
= note: BACKTRACE on thread `unnamed-6`:
= note: inside `std::sys::locks::rwlock::queue::AtomicLink::get` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:171:22: 171:42
= note: inside `std::sys::locks::rwlock::queue::RwLock::unlock_queue` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:507:55: 507:79
= note: inside `std::sys::locks::rwlock::queue::RwLock::unlock_contended` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:468:28: 468:51
= note: inside `std::sys::locks::rwlock::queue::RwLock::read_unlock_contended` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:440:22: 440:50
= note: inside `std::sys::locks::rwlock::queue::RwLock::read_unlock` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:416:36: 416:69
= note: inside `<std::sync::RwLockReadGuard<'_, ()> as std::ops::Drop>::drop` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sync/rwlock.rs:715:13: 715:42
= note: inside `std::ptr::drop_in_place::<std::sync::RwLockReadGuard<'_, ()>> - shim(Some(std::sync::RwLockReadGuard<'_, ()>))` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/core/src/ptr/mod.rs:515:1: 515:56
= note: inside `std::mem::drop::<std::sync::RwLockReadGuard<'_, ()>>` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/core/src/mem/mod.rs:992:24: 992:25
note: inside closure
--> rwlock.rs:22:21
|
22 | drop(r.read().unwrap());
| ^^^^^^^^^^^^^^^^^^^^^^^
note: tracking was triggered
--> /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:175:9
|
175 | self.0.store(v.map_or(null_mut(), NonNull::as_ptr), Relaxed);
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ write access access to allocation with id 702309
|
= note: BACKTRACE on thread `unnamed-6`:
= note: inside `std::sys::locks::rwlock::queue::AtomicLink::set` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:175:9: 175:69
= note: inside `std::sys::locks::rwlock::queue::add_backlinks_and_find_tail` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:265:17: 265:54
= note: inside `std::sys::locks::rwlock::queue::RwLock::unlock_queue` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:487:33: 487:76
= note: inside `std::sys::locks::rwlock::queue::RwLock::unlock_contended` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:468:28: 468:51
= note: inside `std::sys::locks::rwlock::queue::RwLock::read_unlock_contended` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:440:22: 440:50
= note: inside `std::sys::locks::rwlock::queue::RwLock::read_unlock` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:416:36: 416:69
= note: inside `<std::sync::RwLockReadGuard<'_, ()> as std::ops::Drop>::drop` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sync/rwlock.rs:715:13: 715:42
= note: inside `std::ptr::drop_in_place::<std::sync::RwLockReadGuard<'_, ()>> - shim(Some(std::sync::RwLockReadGuard<'_, ()>))` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/core/src/ptr/mod.rs:515:1: 515:56
= note: inside `std::mem::drop::<std::sync::RwLockReadGuard<'_, ()>>` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/core/src/mem/mod.rs:992:24: 992:25
note: inside closure
--> rwlock.rs:22:21
|
22 | drop(r.read().unwrap());
| ^^^^^^^^^^^^^^^^^^^^^^^
note: tracking was triggered
--> /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:175:9
|
175 | self.0.store(v.map_or(null_mut(), NonNull::as_ptr), Relaxed);
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ read access access to allocation with id 702309
|
= note: BACKTRACE on thread `unnamed-6`:
= note: inside `std::sys::locks::rwlock::queue::AtomicLink::set` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:175:9: 175:69
= note: inside `std::sys::locks::rwlock::queue::add_backlinks_and_find_tail` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:265:17: 265:54
= note: inside `std::sys::locks::rwlock::queue::RwLock::unlock_queue` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:487:33: 487:76
= note: inside `std::sys::locks::rwlock::queue::RwLock::unlock_contended` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:468:28: 468:51
= note: inside `std::sys::locks::rwlock::queue::RwLock::read_unlock_contended` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:440:22: 440:50
= note: inside `std::sys::locks::rwlock::queue::RwLock::read_unlock` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:416:36: 416:69
= note: inside `<std::sync::RwLockReadGuard<'_, ()> as std::ops::Drop>::drop` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sync/rwlock.rs:715:13: 715:42
= note: inside `std::ptr::drop_in_place::<std::sync::RwLockReadGuard<'_, ()>> - shim(Some(std::sync::RwLockReadGuard<'_, ()>))` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/core/src/ptr/mod.rs:515:1: 515:56
= note: inside `std::mem::drop::<std::sync::RwLockReadGuard<'_, ()>>` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/core/src/mem/mod.rs:992:24: 992:25
note: inside closure
--> rwlock.rs:22:21
|
22 | drop(r.read().unwrap());
| ^^^^^^^^^^^^^^^^^^^^^^^
note: tracking was triggered
--> /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/core/src/option.rs:683:15
|
683 | match *self {
| ^^^^^ read access access to allocation with id 702309
|
= note: BACKTRACE on thread `unnamed-6`:
= note: inside `std::option::Option::<std::thread::Thread>::as_ref` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/core/src/option.rs:683:15: 683:20
= note: inside `std::cell::OnceCell::<std::thread::Thread>::get` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/core/src/cell/once.rs:55:9: 55:47
= note: inside `std::sys::locks::rwlock::queue::Node::complete` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:227:31: 227:57
= note: inside `std::sys::locks::rwlock::queue::RwLock::unlock_queue` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:528:28: 528:48
= note: inside `std::sys::locks::rwlock::queue::RwLock::unlock_contended` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:468:28: 468:51
= note: inside `std::sys::locks::rwlock::queue::RwLock::read_unlock_contended` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:440:22: 440:50
= note: inside `std::sys::locks::rwlock::queue::RwLock::read_unlock` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:416:36: 416:69
= note: inside `<std::sync::RwLockReadGuard<'_, ()> as std::ops::Drop>::drop` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sync/rwlock.rs:715:13: 715:42
= note: inside `std::ptr::drop_in_place::<std::sync::RwLockReadGuard<'_, ()>> - shim(Some(std::sync::RwLockReadGuard<'_, ()>))` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/core/src/ptr/mod.rs:515:1: 515:56
= note: inside `std::mem::drop::<std::sync::RwLockReadGuard<'_, ()>>` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/core/src/mem/mod.rs:992:24: 992:25
note: inside closure
--> rwlock.rs:22:21
|
22 | drop(r.read().unwrap());
| ^^^^^^^^^^^^^^^^^^^^^^^
note: tracking was triggered
--> /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/core/src/ptr/non_null.rs:401:20
|
401 | unsafe { &*self.as_ptr().cast_const() }
| ^^^^ read access access to allocation with id 702309
|
= note: BACKTRACE on thread `unnamed-6`:
= note: inside `std::ptr::NonNull::<alloc::sync::ArcInner<std::thread::Inner>>::as_ref::<'_>` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/core/src/ptr/non_null.rs:401:20: 401:24
= note: inside `std::sync::Arc::<std::thread::Inner>::inner` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/alloc/src/sync.rs:1796:18: 1796:35
= note: inside `<std::sync::Arc<std::thread::Inner> as std::clone::Clone>::clone` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/alloc/src/sync.rs:2075:24: 2075:36
= note: inside `<std::pin::Pin<std::sync::Arc<std::thread::Inner>> as std::clone::Clone>::clone` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/core/src/pin.rs:1104:5: 1104:23
= note: inside `<std::thread::Thread as std::clone::Clone>::clone` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/thread/mod.rs:1268:5: 1268:27
= note: inside `std::sys::locks::rwlock::queue::Node::complete` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:227:31: 227:74
= note: inside `std::sys::locks::rwlock::queue::RwLock::unlock_queue` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:528:28: 528:48
= note: inside `std::sys::locks::rwlock::queue::RwLock::unlock_contended` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:468:28: 468:51
= note: inside `std::sys::locks::rwlock::queue::RwLock::read_unlock_contended` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:440:22: 440:50
= note: inside `std::sys::locks::rwlock::queue::RwLock::read_unlock` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:416:36: 416:69
= note: inside `<std::sync::RwLockReadGuard<'_, ()> as std::ops::Drop>::drop` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sync/rwlock.rs:715:13: 715:42
= note: inside `std::ptr::drop_in_place::<std::sync::RwLockReadGuard<'_, ()>> - shim(Some(std::sync::RwLockReadGuard<'_, ()>))` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/core/src/ptr/mod.rs:515:1: 515:56
= note: inside `std::mem::drop::<std::sync::RwLockReadGuard<'_, ()>>` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/core/src/mem/mod.rs:992:24: 992:25
note: inside closure
--> rwlock.rs:22:21
|
22 | drop(r.read().unwrap());
| ^^^^^^^^^^^^^^^^^^^^^^^
note: tracking was triggered
--> /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/alloc/src/sync.rs:2096:38
|
2096 | unsafe { Self::from_inner_in(self.ptr, self.alloc.clone()) }
| ^^^^^^^^ read access access to allocation with id 702309
|
= note: BACKTRACE on thread `unnamed-6`:
= note: inside `<std::sync::Arc<std::thread::Inner> as std::clone::Clone>::clone` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/alloc/src/sync.rs:2096:38: 2096:46
= note: inside `<std::pin::Pin<std::sync::Arc<std::thread::Inner>> as std::clone::Clone>::clone` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/core/src/pin.rs:1104:5: 1104:23
= note: inside `<std::thread::Thread as std::clone::Clone>::clone` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/thread/mod.rs:1268:5: 1268:27
= note: inside `std::sys::locks::rwlock::queue::Node::complete` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:227:31: 227:74
= note: inside `std::sys::locks::rwlock::queue::RwLock::unlock_queue` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:528:28: 528:48
= note: inside `std::sys::locks::rwlock::queue::RwLock::unlock_contended` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:468:28: 468:51
= note: inside `std::sys::locks::rwlock::queue::RwLock::read_unlock_contended` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:440:22: 440:50
= note: inside `std::sys::locks::rwlock::queue::RwLock::read_unlock` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:416:36: 416:69
= note: inside `<std::sync::RwLockReadGuard<'_, ()> as std::ops::Drop>::drop` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sync/rwlock.rs:715:13: 715:42
= note: inside `std::ptr::drop_in_place::<std::sync::RwLockReadGuard<'_, ()>> - shim(Some(std::sync::RwLockReadGuard<'_, ()>))` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/core/src/ptr/mod.rs:515:1: 515:56
= note: inside `std::mem::drop::<std::sync::RwLockReadGuard<'_, ()>>` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/core/src/mem/mod.rs:992:24: 992:25
note: inside closure
--> rwlock.rs:22:21
|
22 | drop(r.read().unwrap());
| ^^^^^^^^^^^^^^^^^^^^^^^
note: tracking was triggered
--> /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:229:13
|
229 | this.as_ref().completed.store(true, Release);
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ write access access to allocation with id 702309
|
= note: BACKTRACE on thread `unnamed-6`:
= note: inside `std::sys::locks::rwlock::queue::Node::complete` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:229:13: 229:57
= note: inside `std::sys::locks::rwlock::queue::RwLock::unlock_queue` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:528:28: 528:48
= note: inside `std::sys::locks::rwlock::queue::RwLock::unlock_contended` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:468:28: 468:51
= note: inside `std::sys::locks::rwlock::queue::RwLock::read_unlock_contended` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:440:22: 440:50
= note: inside `std::sys::locks::rwlock::queue::RwLock::read_unlock` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:416:36: 416:69
= note: inside `<std::sync::RwLockReadGuard<'_, ()> as std::ops::Drop>::drop` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sync/rwlock.rs:715:13: 715:42
= note: inside `std::ptr::drop_in_place::<std::sync::RwLockReadGuard<'_, ()>> - shim(Some(std::sync::RwLockReadGuard<'_, ()>))` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/core/src/ptr/mod.rs:515:1: 515:56
= note: inside `std::mem::drop::<std::sync::RwLockReadGuard<'_, ()>>` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/core/src/mem/mod.rs:992:24: 992:25
note: inside closure
--> rwlock.rs:22:21
|
22 | drop(r.read().unwrap());
| ^^^^^^^^^^^^^^^^^^^^^^^
note: tracking was triggered
--> /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:229:13
|
229 | this.as_ref().completed.store(true, Release);
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ read access access to allocation with id 702309
|
= note: BACKTRACE on thread `unnamed-6`:
= note: inside `std::sys::locks::rwlock::queue::Node::complete` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:229:13: 229:57
= note: inside `std::sys::locks::rwlock::queue::RwLock::unlock_queue` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:528:28: 528:48
= note: inside `std::sys::locks::rwlock::queue::RwLock::unlock_contended` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:468:28: 468:51
= note: inside `std::sys::locks::rwlock::queue::RwLock::read_unlock_contended` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:440:22: 440:50
= note: inside `std::sys::locks::rwlock::queue::RwLock::read_unlock` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:416:36: 416:69
= note: inside `<std::sync::RwLockReadGuard<'_, ()> as std::ops::Drop>::drop` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sync/rwlock.rs:715:13: 715:42
= note: inside `std::ptr::drop_in_place::<std::sync::RwLockReadGuard<'_, ()>> - shim(Some(std::sync::RwLockReadGuard<'_, ()>))` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/core/src/ptr/mod.rs:515:1: 515:56
= note: inside `std::mem::drop::<std::sync::RwLockReadGuard<'_, ()>>` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/core/src/mem/mod.rs:992:24: 992:25
note: inside closure
--> rwlock.rs:22:21
|
22 | drop(r.read().unwrap());
| ^^^^^^^^^^^^^^^^^^^^^^^
note: tracking was triggered
--> /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:175:9
|
175 | self.0.store(v.map_or(null_mut(), NonNull::as_ptr), Relaxed);
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ write access access to allocation with id 702309
|
= note: BACKTRACE on thread `unnamed-9`:
= note: inside `std::sys::locks::rwlock::queue::AtomicLink::set` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:175:9: 175:69
= note: inside `std::sys::locks::rwlock::queue::RwLock::lock_contended` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:360:21: 360:40
= note: inside `std::sys::locks::rwlock::queue::RwLock::write` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:312:13: 312:38
= note: inside `std::sync::RwLock::<()>::write` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sync/rwlock.rs:361:13: 361:31
note: inside closure
--> rwlock.rs:20:26
|
20 | drop(r.write().unwrap());
| ^^^^^^^^^
note: tracking was triggered
--> /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:175:9
|
175 | self.0.store(v.map_or(null_mut(), NonNull::as_ptr), Relaxed);
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ read access access to allocation with id 702309
|
= note: BACKTRACE on thread `unnamed-9`:
= note: inside `std::sys::locks::rwlock::queue::AtomicLink::set` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:175:9: 175:69
= note: inside `std::sys::locks::rwlock::queue::RwLock::lock_contended` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:360:21: 360:40
= note: inside `std::sys::locks::rwlock::queue::RwLock::write` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:312:13: 312:38
= note: inside `std::sync::RwLock::<()>::write` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sync/rwlock.rs:361:13: 361:31
note: inside closure
--> rwlock.rs:20:26
|
20 | drop(r.write().unwrap());
| ^^^^^^^^^
note: tracking was triggered
--> /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:171:22
|
171 | NonNull::new(self.0.load(Relaxed))
| ^^^^^^^^^^^^^^^^^^^^ read access access to allocation with id 702309
|
= note: BACKTRACE on thread `unnamed-9`:
= note: inside `std::sys::locks::rwlock::queue::AtomicLink::get` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:171:22: 171:42
= note: inside `std::sys::locks::rwlock::queue::add_backlinks_and_find_tail` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:258:15: 258:27
= note: inside `std::sys::locks::rwlock::queue::RwLock::unlock_queue` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:487:33: 487:76
= note: inside `std::sys::locks::rwlock::queue::RwLock::lock_contended` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:383:25: 383:48
= note: inside `std::sys::locks::rwlock::queue::RwLock::write` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:312:13: 312:38
= note: inside `std::sync::RwLock::<()>::write` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sync/rwlock.rs:361:13: 361:31
note: inside closure
--> rwlock.rs:20:26
|
20 | drop(r.write().unwrap());
| ^^^^^^^^^
note: tracking was triggered
--> /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:171:22
|
171 | NonNull::new(self.0.load(Relaxed))
| ^^^^^^^^^^^^^^^^^^^^ read access access to allocation with id 702309
|
= note: BACKTRACE on thread `unnamed-9`:
= note: inside `std::sys::locks::rwlock::queue::AtomicLink::get` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:171:22: 171:42
= note: inside `std::sys::locks::rwlock::queue::add_backlinks_and_find_tail` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:264:28: 264:40
= note: inside `std::sys::locks::rwlock::queue::RwLock::unlock_queue` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:487:33: 487:76
= note: inside `std::sys::locks::rwlock::queue::RwLock::lock_contended` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:383:25: 383:48
= note: inside `std::sys::locks::rwlock::queue::RwLock::write` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:312:13: 312:38
= note: inside `std::sync::RwLock::<()>::write` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sync/rwlock.rs:361:13: 361:31
note: inside closure
--> rwlock.rs:20:26
|
20 | drop(r.write().unwrap());
| ^^^^^^^^^
note: tracking was triggered
--> /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:175:9
|
175 | self.0.store(v.map_or(null_mut(), NonNull::as_ptr), Relaxed);
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ write access access to allocation with id 702309
|
= note: BACKTRACE on thread `unnamed-9`:
= note: inside `std::sys::locks::rwlock::queue::AtomicLink::set` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:175:9: 175:69
= note: inside `std::sys::locks::rwlock::queue::add_backlinks_and_find_tail` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:272:9: 272:43
= note: inside `std::sys::locks::rwlock::queue::RwLock::unlock_queue` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:487:33: 487:76
= note: inside `std::sys::locks::rwlock::queue::RwLock::lock_contended` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:383:25: 383:48
= note: inside `std::sys::locks::rwlock::queue::RwLock::write` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:312:13: 312:38
= note: inside `std::sync::RwLock::<()>::write` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sync/rwlock.rs:361:13: 361:31
note: inside closure
--> rwlock.rs:20:26
|
20 | drop(r.write().unwrap());
| ^^^^^^^^^
note: tracking was triggered
--> /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:175:9
|
175 | self.0.store(v.map_or(null_mut(), NonNull::as_ptr), Relaxed);
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ read access access to allocation with id 702309
|
= note: BACKTRACE on thread `unnamed-9`:
= note: inside `std::sys::locks::rwlock::queue::AtomicLink::set` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:175:9: 175:69
= note: inside `std::sys::locks::rwlock::queue::add_backlinks_and_find_tail` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:272:9: 272:43
= note: inside `std::sys::locks::rwlock::queue::RwLock::unlock_queue` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:487:33: 487:76
= note: inside `std::sys::locks::rwlock::queue::RwLock::lock_contended` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:383:25: 383:48
= note: inside `std::sys::locks::rwlock::queue::RwLock::write` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:312:13: 312:38
= note: inside `std::sync::RwLock::<()>::write` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sync/rwlock.rs:361:13: 361:31
note: inside closure
--> rwlock.rs:20:26
|
20 | drop(r.write().unwrap());
| ^^^^^^^^^
error: Undefined Behavior: trying to retag from <1389599> for SharedReadWrite permission at alloc702309[0x0], but that tag does not exist in the borrow stack for this location
--> /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/core/src/ptr/non_null.rs:401:18
|
401 | unsafe { &*self.as_ptr().cast_const() }
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
| |
| trying to retag from <1389599> for SharedReadWrite permission at alloc702309[0x0], but that tag does not exist in the borrow stack for this location
| this error occurs as part of retag at alloc702309[0x0..0x28]
|
= help: this indicates a potential bug in the program: it performed an invalid operation, but the Stacked Borrows rules it violated are still experimental
= help: see https://github.com/rust-lang/unsafe-code-guidelines/blob/master/wip/stacked-borrows.md for further information
help: <1389599> was created by a SharedReadWrite retag at offsets [0x0..0x21]
--> rwlock.rs:20:26
|
20 | drop(r.write().unwrap());
| ^^^^^^^^^
help: <1389599> was later invalidated at offsets [0x8..0x10] by a write access
--> rwlock.rs:20:26
|
20 | drop(r.write().unwrap());
| ^^^^^^^^^
= note: BACKTRACE (of the first span) on thread `unnamed-9`:
= note: inside `std::ptr::NonNull::<std::sys::locks::rwlock::queue::Node>::as_ref::<'_>` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/core/src/ptr/non_null.rs:401:18: 401:46
= note: inside `std::sys::locks::rwlock::queue::add_backlinks_and_find_tail` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:265:17: 265:30
= note: inside `std::sys::locks::rwlock::queue::RwLock::unlock_queue` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:487:33: 487:76
= note: inside `std::sys::locks::rwlock::queue::RwLock::lock_contended` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:383:25: 383:48
= note: inside `std::sys::locks::rwlock::queue::RwLock::write` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/locks/rwlock/queue.rs:312:13: 312:38
= note: inside `std::sync::RwLock::<()>::write` at /Users/Jonas/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sync/rwlock.rs:361:13: 361:31
note: inside closure
--> rwlock.rs:20:26
|
20 | drop(r.write().unwrap());
| ^^^^^^^^^
note: some details are omitted, run with `MIRIFLAGS=-Zmiri-backtrace=full` for a verbose backtrace
error: aborting due to 1 previous error
error: test failed, to rerun pass `--test compiletest`
Caused by:
process didn't exit successfully: `/Users/Jonas/src/miri/target/debug/deps/compiletest-872ad8205923a451 --miri-run-dep-mode --edition=2021 rwlock.rs --target aarch64-apple-darwin -Zmiri-seed=11408 -Zmiri-disable-weak-memory-emulation -Zmiri-track-alloc-id=702309 -Zmiri-track-alloc-accesses` (exit status: 1)
Error: command exited with non-zero code `cargo +miri --quiet test --test compiletest --manifest-path /Users/Jonas/src/miri/Cargo.toml -- --miri-run-dep-mode --edition=2021 rwlock.rs --target aarch64-apple-darwin -Zmiri-seed=11408 -Zmiri-disable-weak-memory-emulation -Zmiri-track-alloc-id=702309 -Zmiri-track-alloc-accesses`: 1
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment