22 lines
1.6 KiB
Plaintext
22 lines
1.6 KiB
Plaintext
error: Undefined Behavior: atomic operations cannot be performed on read-only memory
|
|
many platforms require atomic read-modify-write instructions to be performed on writeable memory, even if the operation fails (and is hence nominally read-only)
|
|
some platforms implement (some) atomic loads via compare-exchange, which means they do not work on read-only memory; it is possible that we could have an exception permitting this for specific kinds of loads
|
|
please report an issue at <https://github.com/rust-lang/miri/issues> if this is a problem for you
|
|
--> $DIR/read_only_atomic_load.rs:LL:CC
|
|
|
|
|
LL | x.load(Ordering::Relaxed);
|
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^ atomic operations cannot be performed on read-only memory
|
|
many platforms require atomic read-modify-write instructions to be performed on writeable memory, even if the operation fails (and is hence nominally read-only)
|
|
some platforms implement (some) atomic loads via compare-exchange, which means they do not work on read-only memory; it is possible that we could have an exception permitting this for specific kinds of loads
|
|
please report an issue at <https://github.com/rust-lang/miri/issues> if this is a problem for you
|
|
|
|
|
= help: this indicates a bug in the program: it performed an invalid operation, and caused Undefined Behavior
|
|
= help: see https://doc.rust-lang.org/nightly/reference/behavior-considered-undefined.html for further information
|
|
= note: BACKTRACE:
|
|
= note: inside `main` at $DIR/read_only_atomic_load.rs:LL:CC
|
|
|
|
note: some details are omitted, run with `MIRIFLAGS=-Zmiri-backtrace=full` for a verbose backtrace
|
|
|
|
error: aborting due to previous error
|
|
|