Skip to content

ReadPointerAsBytes error in ::std::str::from_utf8() #190

Closed
@dwrensha

Description

@dwrensha
// test.rs

fn main() {
    let _ = ::std::str::from_utf8(b"a");
}
$ cargo run --bin miri -- --sysroot ~/.xargo/HOST test.rs
    Finished dev [unoptimized + debuginfo] target(s) in 0.0 secs
     Running `target/debug/miri --sysroot /home/dwrensha/.xargo/HOST test.rs`
WARN:miri::terminator: ignoring C ABI call: pthread_attr_init
WARN:miri::terminator: ignoring C ABI call: pthread_self
WARN:miri::terminator: ignoring C ABI call: pthread_getattr_np
WARN:miri::terminator: ignoring C ABI call: pthread_attr_getstack
WARN:miri::terminator: ignoring C ABI call: pthread_attr_destroy
WARN:miri::terminator: ignoring C ABI call: pthread_mutex_lock
WARN:miri::terminator: ignoring C ABI call: pthread_mutex_unlock
WARN:miri::terminator: ignoring C ABI call: pthread_mutexattr_init
WARN:miri::terminator: ignoring C ABI call: pthread_mutexattr_settype
WARN:miri::terminator: ignoring C ABI call: pthread_mutex_init
WARN:miri::terminator: ignoring C ABI call: pthread_mutexattr_destroy
WARN:miri::terminator: ignoring C ABI call: pthread_condattr_init
WARN:miri::terminator: ignoring C ABI call: pthread_condattr_setclock
WARN:miri::terminator: ignoring C ABI call: pthread_cond_init
WARN:miri::terminator: ignoring C ABI call: pthread_condattr_destroy
WARN:miri::terminator: ignoring C ABI call: pthread_mutex_lock
WARN:miri::terminator: ignoring C ABI call: pthread_mutex_unlock
error: a raw memory access tried to access part of a pointer value as raw bytes
     |
note: inside call to core::str::run_utf8_validation
note: inside call to std::str::from_utf8
    --> test.rs:4:13
     |
4    |     let _ = ::std::str::from_utf8(b"a");
     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^
note: inside call to main
note: inside call to <fn() as std::ops::FnOnce<()>>::call_once - shim(fn())
note: inside call to std::panicking::try::do_call::<fn(), ()>
note: inside call to std::panicking::try::<(), fn()>
note: inside call to std::panic::catch_unwind::<fn(), ()>
note: inside call to std::rt::lang_start

error: aborting due to previous error(s)

thread 'main' panicked at 'Box<Any>', /checkout/src/librustc_errors/lib.rs:514
note: Run with `RUST_BACKTRACE=1` for a backtrace.

Metadata

Metadata

Assignees

No one assigned

    Labels

    C-bugCategory: This is a bug.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions