The sound distributed version control system

#195 crash and race in channel changes

Closed on December 7, 2020
tankf33der on December 7, 2020

Follow the white rabbit.

  • crash in pull
  • race in push

in freshly created repo tankfeeder/try2:

$ cd try2
$ vim a
$ cat a
1
$ pijul add a
$ pijul rec -am"." && pijul push -a
$ pijul ls
a
# in nest in browser create channel "mike"
$ pijul fork mike
$ vim a
$ cat a
1
1
$ pijul rec -am"." && pijul push -a
$ vim a
$ cat a
1
1
1
$ pijul rec -am"." && pijul push -a
$ pijul channel switch mike
$ pijul pull -a
 Updating remote changelist
✓ Applying changes     3/3
  Downloading changes ████████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░     1/3
Well, this is embarrassing.

pijul had a problem and crashed. To help us diagnose the problem you can send us a crash report.

We have generated a report file at "/tmp/report-7138def1-8d6d-4c06-96c9-6ca108d841eb.toml". Submit an issue or email with the subject of "pijul Crash Report" and include the report as an attachment.

- Authors: Pierre-Étienne Meunier 

We take privacy seriously, and do not perform any automated error collection. In order to improve the software, we rely on people to submit reports.

Thank you kindly!
$ cat /tmp/report-7138def1-8d6d-4c06-96c9-6ca108d841eb.toml
name = 'pijul'
operating_system = 'unix:Manjaro'
crate_version = '1.0.0-alpha.19'
explanation = '''
Panic occurred in file 'pijul/src/remote/ssh.rs' at line 410
'''
cause = 'called `Result::unwrap()` on an `Err` value: SendError("M7DTDGG555GUZPKQGZKFLB5TYXERMLVYCWOO7J3FFM4CAKC26QRQC")'
method = 'Panic'
backtrace = '''

   0: 0x5610677888a3 - core::option::expect_none_failed::h1a6f64ce49780e5b
                at /build/rust/src/rustc-1.48.0-src/library/core/src/option.rs:1234
   1: 0x561067152e07 -  as core::future::future::Future>::poll::h9a3bb83202c1c438
   2: 0x56106713a441 - thrussh::client::encrypted::::client_read_authenticated::{{closure}}::h13beb217dfd15041
   3: 0x56106713a081 - thrussh::client::encrypted::::client_read_encrypted::{{closure}}::hb90af7e1a13d68b3
   4: 0x5610671329c4 - thrussh::client::Session::run::{{closure}}::hf2b1f8ad15df6d00
   5: 0x56106701488c - tokio::runtime::task::core::Core::poll::h693c0234492a3d90
   6: 0x56106703890d -  as core::ops::function::FnOnce<()>>::call_once::he6c5e3710c2c8c52
   7: 0x561066fadae5 - tokio::runtime::task::raw::poll::h266e4f349dce1acf
   8: 0x5610673690f9 - std::thread::local::LocalKey::with::hfb14dff6e4903e87
   9: 0x5610673652f2 - tokio::runtime::thread_pool::worker::Context::run_task::h247b281e5313581f
  10: 0x561067364a40 - tokio::runtime::thread_pool::worker::Context::run::hdc48f24732b9eaf6
  11: 0x56106736aab3 - tokio::macros::scoped_tls::ScopedKey::set::h9bdc6bc8b983aeb6
  12: 0x5610673644d6 - tokio::runtime::thread_pool::worker::run::h8523e93350e31e1a
  13: 0x561067377804 - tokio::loom::std::unsafe_cell::UnsafeCell::with_mut::h29e4a6af239b9d00
  14: 0x56106736be4f -  as core::ops::function::FnOnce<()>>::call_once::ha0aa37810f43b892
  15: 0x56106736ce31 - tokio::runtime::task::harness::Harness::poll::h28206a075e093683
  16: 0x561067367651 - tokio::runtime::blocking::pool::Inner::run::h403888028b9481e7
  17: 0x561067372e80 - tokio::runtime::context::enter::hffafe6892dd662e2
  18: 0x561067374826 - std::sys_common::backtrace::__rust_begin_short_backtrace::h6b36cba610d6bb1b
  19: 0x56106737250b - core::ops::function::FnOnce::call_once{{vtable.shim}}::h47d607f7db819788
  20: 0x56106776e7ba -  as core::ops::function::FnOnce<a rel="noopener noreferrer">>::call_once::h1b04928e805aae8c
                at /build/rust/src/rustc-1.48.0-src/library/alloc/src/boxed.rs:1042
                 -  as core::ops::function::FnOnce</a><a rel="noopener noreferrer">>::call_once::ha4d3b7633883df6b
                at /build/rust/src/rustc-1.48.0-src/library/alloc/src/boxed.rs:1042
                 - std::sys::unix::thread::Thread::new::thread_start::h5bc96af8ac1d2339
                at /build/rust/src/rustc-1.48.0-src/library/std/src/sys/unix/thread.rs:87
  21: 0x7f3eaa5d63e9 - start_thread
  22: 0x7f3eaa837293 - __GI___clone
  23:        0x0 - '''
$ pijul push -a
Nothing to record
✓ Updating remote changelist
XXX hang forever in race
^C
$
pmeunier added a change on December 7, 2020
X6YFD4WVMUYJCR5IYPJH6UKYVWSA7DKBRVJ6XQFXHOE2TRYUTAHAC
main
pmeunier added a change on December 7, 2020
XL6Y64UPFLIVRV3YVJMTTMZU7VL6SUXVE6BKL6K7DYRKVJ4X727AC
main
pmeunier on December 7, 2020

I just fixed this! Thanks again for your work, I’m impressed.

pmeunier closed this discussion on December 7, 2020