Thanks a lot for helping us debug this.
And welcome to Pijul! Feel free to report other issues/doubts/questions either here, or to nest.pijul.com/pijul_org/pijul/discussions
Thanks a lot for helping us debug this.
And welcome to Pijul! Feel free to report other issues/doubts/questions either here, or to nest.pijul.com/pijul_org/pijul/discussions
Sorry for the late reply: No, I think you got it
I’m still wondering if it should be re-entrant? It would appear that the Unix implementation is?
Maybe it shouldn’t be reentrant, if fs2 must be a thin wrapper over native functionality offered by the OS. In Windows, the function FileLockEx is invoked from lock_exclusive and try_lock_exclusive. FileLockEx can suspend the thread, depending on flags passed to it. I think, the method try_lock_exclusive must be used, if we want the thread is never suspended on windows. With it, if the file is already locked, the call fail immediately, and doesn’t suspend the thread.
Or maybe, we can add a wrapper over fs2 that only locks the first time is requested and after ignore the request for locks.
Very similar problem on Windows Pijul version 0.11.0, downloaded from the Windows Builds link on Nest readme. Never seems to get much past the 80th patch of about 320.
Stacktrace empty, but FWIW:
> pijul clone https://nest.pijul.com/pijul_org/pijul
thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: Inner { kind: Hyper(Error { kind: Incomplete, cause: None }), url: Some("https://nest.pijul.com/pijul_org/pijul/.pijul/patches/9Kwkx3yDLZ8cqzMsXxcTfYurkrzDAHGCGkQhhE8nzoZob8vXvmzA6Cc9NH3AL9KSEVcot8Gsh77XzpzdfRwvXFVk.sig") }', libcore\result.rs:1009:5
stack backtrace:
0: <unknown>
1: <unknown>
2: <unknown>
3: <unknown>
4: <unknown>
5: <unknown>
6: <unknown>
7: <unknown>
8: <unknown>
9: <unknown>
10: <unknown>
11: <unknown>
12: <unknown>
13: <unknown>
14: <unknown>
15: <unknown>
16: <unknown>
17: BaseThreadInitThunk
18: RtlUserThreadStart
On cargo install, the following happens…
[snip]
Compiling thread_local v0.3.6
Compiling crossbeam-utils v0.6.5
Compiling c2-chacha v0.2.2
Compiling lock_api v0.1.5
Compiling rustc_version v0.2.3
error: failed to run custom build command for `thrussh-libsodium v0.1.3`
Caused by:
process didn't exit successfully: `C:\Users\Nick\AppData\Local\Temp\cargo-installch4ds7\release\build\thrussh-libsodium-f4dab511d170b810\build-script-build` (exit code: 101)
--- stdout
cargo:rerun-if-env-changed=SODIUM_LIB_DIR
cargo:rerun-if-env-changed=SODIUM_STATIC
--- stderr
thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: "Failed to run `\"pkg-config\" \"--libs\" \"--cflags\" \"libsodium\"`: The system cannot find the file specified. (os er
ror 2)"', src\libcore\result.rs:999:5
stack backtrace:
0: std::sys_common::backtrace::_print
at /rustc/a53f9df32fbb0b5f4382caaad8f1a46f36ea887c\/src\libstd\sys_common\backtrace.rs:71
1: std::panicking::default_hook::{{closure}}
at /rustc/a53f9df32fbb0b5f4382caaad8f1a46f36ea887c\/src\libstd\panicking.rs:197
2: std::panicking::default_hook
at /rustc/a53f9df32fbb0b5f4382caaad8f1a46f36ea887c\/src\libstd\panicking.rs:211
3: std::panicking::rust_panic_with_hook
at /rustc/a53f9df32fbb0b5f4382caaad8f1a46f36ea887c\/src\libstd\panicking.rs:474
4: std::panicking::continue_panic_fmt
at /rustc/a53f9df32fbb0b5f4382caaad8f1a46f36ea887c\/src\libstd\panicking.rs:381
5: std::panicking::rust_begin_panic
at /rustc/a53f9df32fbb0b5f4382caaad8f1a46f36ea887c\/src\libstd\panicking.rs:308
6: core::panicking::panic_fmt
at /rustc/a53f9df32fbb0b5f4382caaad8f1a46f36ea887c\/src\libcore\panicking.rs:85
7: core::result::unwrap_failed
8: <&T as core::fmt::Display>::fmt
9: main
10: std::panicking::try::do_call<closure,i32>
at /rustc/a53f9df32fbb0b5f4382caaad8f1a46f36ea887c\/src\libstd\panicking.rs:293
11: panic_unwind::__rust_maybe_catch_panic
at /rustc/a53f9df32fbb0b5f4382caaad8f1a46f36ea887c\/src\libpanic_unwind\lib.rs:85
12: std::rt::lang_start_internal
at /rustc/a53f9df32fbb0b5f4382caaad8f1a46f36ea887c\/src\libstd\rt.rs:48
13: main
14: __scrt_common_main_seh
at f:\dd\vctools\crt\vcstartup\src\startup\exe_common.inl:253
15: BaseThreadInitThunk
16: RtlUserThreadStart
warning: build failed, waiting for other jobs to finish...
error: failed to compile `pijul v0.12.1`, intermediate artifacts can be found at `C:\Users\Nick\AppData\Local\Temp\cargo-installch4ds7`
Caused by:
build failed
Nick@FLIGHT C:\Users\Nick\code\opensource
> ```
Hi! Thanks for reporting, but we don’t support Pijul 0.11 anymore. If I read your error messages, they seem to indicate that you need to install libsodium.
Hi, yes you’re right. It’s about libsodium. But I’m also trying to use the pre-built Windows binaries as linked to in the Pijul repo README, so perhaps someone could update them to 0.12?
Hi, I am having this issue on macOS 10.15.2 when trying to clone Pijul.
Pijul version: 0.12.2
OS: macOS 10.15.2
pijul clone https://nest.pijul.com/pijul_org/pijul
thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: Error(Hyper(Error(IncompleteMessage)), "https://nest.pijul.com/pijul_org/pijul/.pijul/patches/6AJKEsadswfzNgRiujxzkd9gohkdkZRVqAEqy31JyuErVSiJbGWefHQnisnnHAztzKH4v3u7Ljgy2GSyrkNXS42L.gz")', src/libcore/result.rs:1084:5
stack backtrace:
0: std::panicking::default_hook::{{closure}}
1: std::panicking::default_hook
2: std::panicking::rust_panic_with_hook
3: std::panicking::continue_panic_fmt
4: rust_begin_unwind
5: core::panicking::panic_fmt
6: core::result::unwrap_failed
7: pijul::commands::remote::UriSession::fetch_patch
8: pijul::commands::remote::Session::pull
9: pijul::commands::clone::run
10: pijul::main
11: std::rt::lang_start::{{closure}}
12: std::panicking::try::do_call
13: __rust_maybe_catch_panic
14: std::rt::lang_start_internal
15: main
Any help would be greatly appreciated, and thank you in advance.
This is a known issue. Sadly, there isn’t much we can do for now, the next version (mostly rewritten) hopefully won’t have that problem. Stay tuned!