Skip to content

std::fs::hard_link stopped after with rustc +nightly #5958

@marxin

Description

@marxin

After the recent change in the main branch of the Rust compiler (rust-lang/rust#147572), the following code snippet stopped working on Wasmer:

fn main() {
    std::fs::hard_link("/tmp/1.txt", "/tmp/2.txt").unwrap();
}
✦ ❯ cargo +nightly b --target=wasm32-wasip1
    Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.03s
✦ ❯ file /tmp/1.txt
/tmp/1.txt: ASCII text
✦ ❯ wasmer run target/wasm32-wasip1/debug/hardlink.wasm --mapdir /tmp:/tmp
⠁ Compiling to WebAssembly                                                                                                              
thread 'main' (1) panicked at src/main.rs:2:52:
called `Result::unwrap()` on an `Err` value: Os { code: 44, kind: NotFound, message: "No such file or directory" }
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
RuntimeError: unreachable
    at abort (hardlink-a3f77a71fb778855.wasm[161]:0x7aa1)
    at std[b3a36c8b3c2dd55]::sys::pal::wasi::helpers::abort_internal (hardlink-a3f77a71fb778855.wasm[87]:0x2ebf)
    at std[b3a36c8b3c2dd55]::process::abort (hardlink-a3f77a71fb778855.wasm[63]:0x1ffd)
    at __rustc[47f3c1cf3382b6b6]::__rust_abort (hardlink-a3f77a71fb778855.wasm[72]:0x2658)
    at __rustc[47f3c1cf3382b6b6]::__rust_start_panic (hardlink-a3f77a71fb778855.wasm[37]:0xbb0)
    at __rustc[47f3c1cf3382b6b6]::rust_panic (hardlink-a3f77a71fb778855.wasm[69]:0x249f)
    at std[b3a36c8b3c2dd55]::panicking::panic_with_hook (hardlink-a3f77a71fb778855.wasm[56]:0x186c)
    at std[b3a36c8b3c2dd55]::panicking::panic_handler::{closure#0} (hardlink-a3f77a71fb778855.wasm[53]:0x141c)
    at std[b3a36c8b3c2dd55]::sys::backtrace::__rust_end_short_backtrace::<std[b3a36c8b3c2dd55]::panicking::panic_handler::{closure#0}, !> (hardlink-a3f77a71fb778855.wasm[52]:0x1380)
    at __rustc[47f3c1cf3382b6b6]::rust_begin_unwind (hardlink-a3f77a71fb778855.wasm[75]:0x273b)
    at core[fd3d834f1c490411]::panicking::panic_fmt (hardlink-a3f77a71fb778855.wasm[198]:0x907f)
    at core[fd3d834f1c490411]::result::unwrap_failed (hardlink-a3f77a71fb778855.wasm[232]:0xbe15)
    at hardlink[d927fd67d1fab629]::main (hardlink-a3f77a71fb778855.wasm[9]:0x435)
    at <fn() as core[fd3d834f1c490411]::ops::function::FnOnce<()>>::call_once (hardlink-a3f77a71fb778855.wasm[27]:0x9f0)
    at std[b3a36c8b3c2dd55]::sys::backtrace::__rust_begin_short_backtrace::<fn(), ()> (hardlink-a3f77a71fb778855.wasm[12]:0x4e5)
    at std[b3a36c8b3c2dd55]::rt::lang_start::<()>::{closure#0} (hardlink-a3f77a71fb778855.wasm[15]:0x5eb)
    at std[b3a36c8b3c2dd55]::rt::lang_start_internal (hardlink-a3f77a71fb778855.wasm[84]:0x2c00)
    at std[b3a36c8b3c2dd55]::rt::lang_start::<()> (hardlink-a3f77a71fb778855.wasm[14]:0x5b1)
    at __main_void (hardlink-a3f77a71fb778855.wasm[10]:0x462)
    at _start (hardlink-a3f77a71fb778855.wasm[8]:0x38a)

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions