Skip to content

🐛 Panic with filename "01g - Text" #639

@krhubert

Description

@krhubert
$ ls -1
01g - Text
b.file

$ cat 01g\ -\ Text # one line
1
$ cat b.file # empty

$ git diff --no-index 01g\ -\ Text b.file
thread 'main' panicked at 'byte index 2 is out of bounds of `-`', /home/user/.cargo/registry/src/github.com-1ecc6299db9ec823/git-delta-0.8.0/src/parse.rs:82:47
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

# when b.file is first it works.
$ git diff --no-index b.file 01g\ -\ Text

b.file ⟶   01g - Text
────────────────────────────────────────────────────────────────────────────────────────────────────────────────

───┐
1: │
───┘
1
thread 'main' panicked at 'byte index 2 is out of bounds of `-`', /home/user/.cargo/registry/src/github.com-1ecc6299db9ec823/git-delta-0.8.0/src/parse.rs:82:47
stack backtrace:
   0:     0x5648fe5cc9c0 - std::backtrace_rs::backtrace::libunwind::trace::h577ea05e9ca4629a
                               at /rustc/18bf6b4f01a6feaf7259ba7cdae58031af1b7b39/library/std/src/../../backtrace/src/backtrace/libunwind.rs:96
   1:     0x5648fe5cc9c0 - std::backtrace_rs::backtrace::trace_unsynchronized::h50b9b72b84c7dd56
                               at /rustc/18bf6b4f01a6feaf7259ba7cdae58031af1b7b39/library/std/src/../../backtrace/src/backtrace/mod.rs:66
   2:     0x5648fe5cc9c0 - std::sys_common::backtrace::_print_fmt::h6541cf9823837fac
                               at /rustc/18bf6b4f01a6feaf7259ba7cdae58031af1b7b39/library/std/src/sys_common/backtrace.rs:79
   3:     0x5648fe5cc9c0 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::hf64fbff071026df5
                               at /rustc/18bf6b4f01a6feaf7259ba7cdae58031af1b7b39/library/std/src/sys_common/backtrace.rs:58
   4:     0x5648fe5f130c - core::fmt::write::h9ddafa4860d8adff
                               at /rustc/18bf6b4f01a6feaf7259ba7cdae58031af1b7b39/library/core/src/fmt/mod.rs:1082
   5:     0x5648fe5c9367 - std::io::Write::write_fmt::h1d2ee292d2b65481
                               at /rustc/18bf6b4f01a6feaf7259ba7cdae58031af1b7b39/library/std/src/io/mod.rs:1514
   6:     0x5648fe5cec50 - std::sys_common::backtrace::_print::ha25f9ff5080d886d
                               at /rustc/18bf6b4f01a6feaf7259ba7cdae58031af1b7b39/library/std/src/sys_common/backtrace.rs:61
   7:     0x5648fe5cec50 - std::sys_common::backtrace::print::h213e8aa8dc5405c0
                               at /rustc/18bf6b4f01a6feaf7259ba7cdae58031af1b7b39/library/std/src/sys_common/backtrace.rs:48
   8:     0x5648fe5cec50 - std::panicking::default_hook::{{closure}}::h6482fae49ef9d963
                               at /rustc/18bf6b4f01a6feaf7259ba7cdae58031af1b7b39/library/std/src/panicking.rs:200
   9:     0x5648fe5ce99c - std::panicking::default_hook::he30ad7589e0970f9
                               at /rustc/18bf6b4f01a6feaf7259ba7cdae58031af1b7b39/library/std/src/panicking.rs:219
  10:     0x5648fe5cf2b3 - std::panicking::rust_panic_with_hook::haa1ed36ada4ffb03
                               at /rustc/18bf6b4f01a6feaf7259ba7cdae58031af1b7b39/library/std/src/panicking.rs:569
  11:     0x5648fe5cee89 - std::panicking::begin_panic_handler::{{closure}}::h7001af1bb21aeaeb
                               at /rustc/18bf6b4f01a6feaf7259ba7cdae58031af1b7b39/library/std/src/panicking.rs:476
  12:     0x5648fe5cce4c - std::sys_common::backtrace::__rust_end_short_backtrace::h39910f557f5f2367
                               at /rustc/18bf6b4f01a6feaf7259ba7cdae58031af1b7b39/library/std/src/sys_common/backtrace.rs:153
  13:     0x5648fe5cee49 - rust_begin_unwind
                               at /rustc/18bf6b4f01a6feaf7259ba7cdae58031af1b7b39/library/std/src/panicking.rs:475
  14:     0x5648fe5efb91 - core::panicking::panic_fmt::h4e2659771ebc78eb
                               at /rustc/18bf6b4f01a6feaf7259ba7cdae58031af1b7b39/library/core/src/panicking.rs:85
  15:     0x5648fe5f4635 - core::str::slice_error_fail::h9a3f0cdcecbe41d3
  16:     0x5648fe3accf9 - delta::parse::get_file_paths_from_diff_line::h05e73e6cde5e4030
  17:     0x5648fe42170e - delta::delta::StateMachine::handle_file_meta_diff_line::h7b2bbf0cb3429273
  18:     0x5648fe41f3d7 - delta::delta::delta::h788016d97d80ba5b
  19:     0x5648fe42b093 - delta::run_app::h34dec257edb6f9bf
  20:     0x5648fe42d272 - delta::main::hebddbeb68dc93355
  21:     0x5648fe3eecd3 - std::sys_common::backtrace::__rust_begin_short_backtrace::h8737713e7d05261b
  22:     0x5648fe3ef703 - std::rt::lang_start::{{closure}}::h4af05b7dc1359ff7
  23:     0x5648fe5cf781 - core::ops::function::impls::<impl core::ops::function::FnOnce<A> for &F>::call_once::h6a3209f124be2235
                               at /rustc/18bf6b4f01a6feaf7259ba7cdae58031af1b7b39/library/core/src/ops/function.rs:259
  24:     0x5648fe5cf781 - std::panicking::try::do_call::h88ce358792b64df0
                               at /rustc/18bf6b4f01a6feaf7259ba7cdae58031af1b7b39/library/std/src/panicking.rs:373
  25:     0x5648fe5cf781 - std::panicking::try::h6311c259678e50fc
                               at /rustc/18bf6b4f01a6feaf7259ba7cdae58031af1b7b39/library/std/src/panicking.rs:337
  26:     0x5648fe5cf781 - std::panic::catch_unwind::h56c5716807d659a1
                               at /rustc/18bf6b4f01a6feaf7259ba7cdae58031af1b7b39/library/std/src/panic.rs:379
  27:     0x5648fe5cf781 - std::rt::lang_start_internal::h73711f37ecfcb277
                               at /rustc/18bf6b4f01a6feaf7259ba7cdae58031af1b7b39/library/std/src/rt.rs:51
  28:     0x5648fe431aa2 - main
  29:     0x7fe598aae0b3 - __libc_start_main
  30:     0x5648fe3945ae - _start
  31:                0x0 - <unknown>

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions