Pijul clone https://nest.pijul.com/pijul_org/pijul is not working?

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 :slight_smile:

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!