pkgsrc-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: Curious shells/nushell issue



> On -current, both amd64 and aarch64, using nushell 87.1 and 88.1, I get:
> ---
> # RUST_BACKTRACE=full /usr/pkg/bin/nu -c "cd /; ls -l "
> thread 'main' panicked at library/std/src/sys/unix/time.rs:77:9:
> assertion failed: tv_nsec >= 0 && tv_nsec < NSEC_PER_SEC as i64

On NetBSD vnode times (esp. birthtimes) are initialized to tv_sec = -1,
tv_nsec = -1. FreeBSD does tv_sec = -1, tv_nsec = 0 instead. That's why
this assertion's tripping on NetBSD (does rust/nushell read birthtime???).

Try patching Rust like this (warning: monkey see, monkey do Rust):

In rust/library/std/src/sys/unix/time.rs:
const fn new(tv_sec: i64, tv_nsec: i64) -> Timespec {
        ...stuff...

        #[cfg(target_os = "netbsd")]
        let tv_nsec = if (tv_nsec < 0) { 0 } else { tv_nsec };

        ...more stuff...
}

-RVP



Home | Main Index | Thread Index | Old Index