The sound distributed version control system

#819 [CRASH] record --amend

Opened by tankf33der on July 4, 2023
tankf33der on July 4, 2023
$ pijul init p1
$ cd p1
$ touch a
$ pijul add a
$ pijul rec -am.
Hash: FOLHACIGGJ6PG4AZKZU45MZLWEV6NLFLZNDR2KWGXUARC2NLIJLAC
$ pijul record --amend
# remove last C from dependent hash
# save, quit $EDITOR
# CRASH
$
tankf33der on July 4, 2023
$ cat /tmp/report-2ba32e7d-7d44-443c-bde8-dde492a96f35.toml 
name = "pijul"
operating_system = "Manjaro 23.0.0 (UltimaThule) [64-bit]"
crate_version = "1.0.0-beta.6"
explanation = """
Panic occurred in file 'libpijul/src/change/text_changes.rs' at line 258
"""
cause = "called `Option::unwrap()` on a `None` value"
method = "Panic"
backtrace = """

   0: 0x55feccb3da5d - core::panicking::panic::h444006f7d5e4bdf3
                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/core/src/panicking.rs:114
   1: 0x55fecd6a1a42 - libpijul::change::text_changes::<impl libpijul::change::LocalChange<libpijul::change::BaseHunk<libpijul::change::Atom<core::option::Option<libpijul::pristine::hash::Hash>>,libpijul::change::Local>,libpijul::change::Author>>::update::h4379898d99a82385
   2: 0x55feccba8ad8 - libpijul::change::text_changes::<impl libpijul::change::LocalChange<libpijul::change::BaseHunk<libpijul::change::Atom<core::option::Option<libpijul::pristine::hash::Hash>>,libpijul::change::Local>,libpijul::change::Author>>::read_and_deps::hea468f6d52429829
   3: 0x55fecced914a - pijul::commands::record::Record::record::hfde549a6ee7a3f36
   4: 0x55feccc582df - pijul::commands::record::Record::run::{{closure}}::ha6c3b28154ae3e96
   5: 0x55feccc9ef7a - pijul::run::{{closure}}::h74780b1a589cdcb6
   6: 0x55feccc3e828 - tokio::runtime::park::CachedParkThread::block_on::hcd369f0e9741a06f
   7: 0x55feccd61f23 - tokio::runtime::context::runtime::enter_runtime::h1b5a450cee83459e
   8: 0x55feccf4ecc3 - tokio::runtime::runtime::Runtime::block_on::h8d170e5c039db5fa
   9: 0x55feccde941f - pijul::main::h1daa6d0fc7fb5368
  10: 0x55feccb7a2a3 - std::sys_common::backtrace::__rust_begin_short_backtrace::h6c734fbfdc7cc5b2
  11: 0x55feccd47559 - std::rt::lang_start::{{closure}}::h7685e9d2be626cad
  12: 0x55fecd8eceac - core::ops::function::impls::<impl core::ops::function::FnOnce<A> for &F>::call_once::h814f0ad687ab2f92
                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/core/src/ops/function.rs:287
                 - std::panicking::try::do_call::had9b6a5cabf2fdc8
                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/std/src/panicking.rs:487
                 - std::panicking::try::h5074e9976b13e92c
                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/std/src/panicking.rs:451
                 - std::panic::catch_unwind::he1669253985d4352
                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/std/src/panic.rs:140
                 - std::rt::lang_start_internal::{{closure}}::hd778e2099ecb758e
                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/std/src/rt.rs:148
                 - std::panicking::try::do_call::h1ce263ca927523fa
                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/std/src/panicking.rs:487
                 - std::panicking::try::he3d901a7a8ca0bfd
                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/std/src/panicking.rs:451
                 - std::panic::catch_unwind::hb9e5b8ae73c93b8f
                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/std/src/panic.rs:140
                 - std::rt::lang_start_internal::h2947494479068ade
                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/std/src/rt.rs:148
  13: 0x55feccde94f5 - main
  14: 0x7fe8b374c850 - <unresolved>
  15: 0x7fe8b374c90a - __libc_start_main
  16: 0x55feccb3e055 - _start
  17:        0x0 - <unresolved>"""
tankf33der on July 4, 2023

the same crash if remove UTF-8 and leave “”.