The sound distributed version control system

#435 [TAG, CRASH] switch to channel after checkout

Opened by tankf33der on May 18, 2021
tankf33der on May 18, 2021
$ pijul init p1
$ cd p1
$ touch a
$ pijul add a
$ pijul record -am"."
$ pijul tag create 
$ pijul tag checkout DBCMED7VZNQRTCK3DEKE5QO2SC6PT4F5Q5H3SQURFK4ZP7ZEGGTAC --to-channel mike1
$ pijul chann switch mike1
# CRASH
$ name = 'pijul'
operating_system = 'unix:Manjaro'
crate_version = '1.0.0-alpha.48'
explanation = '''
Panic occurred in file '/home/mpech/pijul/libpijul/src/fs.rs' at line 873
'''
cause = 'called `Result::unwrap()` on an `Err` value: Block { block: Position { change: ChangeId(C7YLW7DF4QYDW), pos: ChangePosition(L64(3)) } }'
method = 'Panic'
backtrace = '''

   0: 0x5bb7d806a6a3 - core::option::expect_none_failed::h7dfb96068fc9393b
                at /build/rust/src/rustc-1.51.0-src/library/core/src/option.rs:1300
   1: 0x5bb7d7a2a59d - libpijul::fs::find_path::hbbe0d0c6460b240e
   2: 0x5bb7d7ad6afd - pijul::commands::reset::Reset::reset::{{closure}}::h93dfb5026c5a5c12
   3: 0x5bb7d7afad95 - pijul::run::{{closure}}::h91d8944bb2a5dccb
   4: 0x5bb7d7aa49d4 - <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll::h77775173d12570e8
   5: 0x5bb7d79dbf12 - tokio::runtime::thread_pool::ThreadPool::block_on::h75ce3aef92186a50
   6: 0x5bb7d790b90e - tokio::runtime::Runtime::block_on::hd59d0f1581df8948
   7: 0x5bb7d7b0a4b6 - pijul::main::h483c8c26af24eff5
   8: 0x5bb7d7a5c203 - std::sys_common::backtrace::__rust_begin_short_backtrace::h534d62dfddda674e
   9: 0x5bb7d7a5e3e9 - std::rt::lang_start::{{closure}}::h2c2589c4e4d8ff03
  10: 0x5bb7d8049737 - core::ops::function::impls::<impl core::ops::function::FnOnce<A> for &F>::call_once::h6646ba386ff34dbe
                at /build/rust/src/rustc-1.51.0-src/library/core/src/ops/function.rs:259
                 - std::panicking::try::do_call::h47e376e14a330979
                at /build/rust/src/rustc-1.51.0-src/library/std/src/panicking.rs:379
                 - std::panicking::try::hb7ef6d6b3d4db346
                at /build/rust/src/rustc-1.51.0-src/library/std/src/panicking.rs:343
                 - std::panic::catch_unwind::h534d7ac891813066
                at /build/rust/src/rustc-1.51.0-src/library/std/src/panic.rs:431
                 - std::rt::lang_start_internal::h8191eeb0dbee8736
                at /build/rust/src/rustc-1.51.0-src/library/std/src/rt.rs:51
  11: 0x5bb7d7b0a622 - main
  12: 0x11a6ad930b25 - __libc_start_main
  13: 0x5bb7d78be27e - _start
  14:        0x0 - <unresolved>'''
$
tankf33der on June 7, 2021

After failed and crashed channel switch some commands inside repo will crash (log, channel are ok anyway) and user will stuck in this crashing channel.