Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

index out of bounds: the len is X but the index is X', src/display/inline.rs:115:21 #702

Open
olivergondza opened this issue Apr 22, 2024 · 0 comments

Comments

@olivergondza
Copy link

Giving this interesting tool a try as an external git diff tool, I have stumbled upon thich crash.

Note this only happen with difft --display inline, works fine with difft.

A description of the issue. A screenshot is often helpful too.

Diffing staged changes with file removal (private code and repo):

thread 'main' panicked at 'index out of bounds: the len is 135 but the index is 135', src/display/inline.rs:115:21
stack backtrace:
   0:     0x6444c126e2a5 - std::backtrace_rs::backtrace::libunwind::trace::h32eb3e08e874dd27
                               at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/std/src/../../backtrace/src/backtrace/libunwind.rs:93:5
   1:     0x6444c126e2a5 - std::backtrace_rs::backtrace::trace_unsynchronized::haa3f451d27bc11a5
                               at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
   2:     0x6444c126e2a5 - std::sys_common::backtrace::_print_fmt::h5b94a01bb4289bb5
                               at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/std/src/sys_common/backtrace.rs:66:5
   3:     0x6444c126e2a5 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::hb070b7fa7e3175df
                               at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/std/src/sys_common/backtrace.rs:45:22
   4:     0x6444c103504e - core::fmt::write::hd5207aebbb9a86e9
                               at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/core/src/fmt/mod.rs:1202:17
   5:     0x6444c126a7f5 - std::io::Write::write_fmt::h3bd699bbd129ab8a
                               at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/std/src/io/mod.rs:1679:15
   6:     0x6444c126fa13 - std::sys_common::backtrace::_print::h7a21be552fdf58da
                               at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/std/src/sys_common/backtrace.rs:48:5
   7:     0x6444c126fa13 - std::sys_common::backtrace::print::ha85c41fe4dd80b13
                               at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/std/src/sys_common/backtrace.rs:35:9
   8:     0x6444c126fa13 - std::panicking::default_hook::{{closure}}::h04cca40023d0eeca
                               at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/std/src/panicking.rs:295:22
   9:     0x6444c126f71f - std::panicking::default_hook::haa3ca8c310ed5402
                               at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/std/src/panicking.rs:314:9
  10:     0x6444c127003c - std::panicking::rust_panic_with_hook::h7b190ce1a948faac
                               at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/std/src/panicking.rs:698:17
  11:     0x6444c126ff44 - std::panicking::begin_panic_handler::{{closure}}::hbafbfdc3e1b97f68
                               at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/std/src/panicking.rs:588:13
  12:     0x6444c126e7ac - std::sys_common::backtrace::__rust_end_short_backtrace::hda93e5fef243b4c0
                               at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/std/src/sys_common/backtrace.rs:138:18
  13:     0x6444c126fc92 - rust_begin_unwind
                               at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/std/src/panicking.rs:584:5
  14:     0x6444c0f913a3 - core::panicking::panic_fmt::h8d17ca1073d9a733
                               at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/core/src/panicking.rs:142:14
  15:     0x6444c0f912e2 - core::panicking::panic_bounds_check::h8a412b863558c16a
                               at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/core/src/panicking.rs:84:5
  16:     0x6444c1087293 - <usize as core::slice::index::SliceIndex<[T]>>::index::h969c72604e95251d
                               at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/core/src/slice/index.rs:250:10
  17:     0x6444c1087293 - core::slice::index::<impl core::ops::index::Index<I> for [T]>::index::hc4f5c2a6c59993f8
                               at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/core/src/slice/index.rs:18:9
  18:     0x6444c1087293 - <alloc::vec::Vec<T,A> as core::ops::index::Index<I>>::index::h7097a03de58189a7
                               at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/alloc/src/vec/mod.rs:2628:9
  19:     0x6444c1087293 - difft::display::inline::print::h2cb9f2dbb5b971b1
                               at /usr/src/debug/difftastic-git/difftastic-git/src/display/inline.rs:115:21
  20:     0x6444c10bd254 - difft::print_diff_result::hb3ee8d1585cccc72
                               at /usr/src/debug/difftastic-git/difftastic-git/src/main.rs:817:21
  21:     0x6444c10b91fe - difft::main::h5bf17de676bb4b83
                               at /usr/src/debug/difftastic-git/difftastic-git/src/main.rs:318:29
  22:     0x6444c1062d46 - core::ops::function::FnOnce::call_once::h747e67ba6954cd76
                               at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/core/src/ops/function.rs:248:5
  23:     0x6444c1062d46 - std::sys_common::backtrace::__rust_begin_short_backtrace::h5cec4ed45e1eddf6
                               at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/std/src/sys_common/backtrace.rs:122:18
  24:     0x6444c10a975c - std::rt::lang_start::{{closure}}::h1987d5ae5c4370c0
                               at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/std/src/rt.rs:166:18
  25:     0x6444c12644fa - core::ops::function::impls::<impl core::ops::function::FnOnce<A> for &F>::call_once::hb69be6e0857c6cfb
                               at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/core/src/ops/function.rs:283:13
  26:     0x6444c12644fa - std::panicking::try::do_call::h396dfc441ee9c786
                               at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/std/src/panicking.rs:492:40
  27:     0x6444c12644fa - std::panicking::try::h6cdda972d28b3a4f
                               at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/std/src/panicking.rs:456:19
  28:     0x6444c12644fa - std::panic::catch_unwind::h376039ec264e8ef9
                               at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/std/src/panic.rs:137:14
  29:     0x6444c12644fa - std::rt::lang_start_internal::{{closure}}::hc94720ca3d4cb727
                               at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/std/src/rt.rs:148:48
  30:     0x6444c12644fa - std::panicking::try::do_call::h2422fb95933fa2d5
                               at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/std/src/panicking.rs:492:40
  31:     0x6444c12644fa - std::panicking::try::h488286b5ec8333ff
                               at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/std/src/panicking.rs:456:19
  32:     0x6444c12644fa - std::panic::catch_unwind::h81636549836d2a25
                               at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/std/src/panic.rs:137:14
  33:     0x6444c12644fa - std::rt::lang_start_internal::h6ba1bb743c1e9df9
                               at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/std/src/rt.rs:148:20
  34:     0x6444c10bd3f7 - main
  35:     0x73463dd57cd0 - <unknown>
  36:     0x73463dd57d8a - __libc_start_main
  37:     0x6444c0fb03e5 - _start
  38:                0x0 - <unknown>
fatal: external diff died, stopping at filename

The version of difftastic you're using (see difft --version) and your operating system.

Difftastic 0.58.0 (f52ca70 2024-04-09, built with rustc 1.65.0)
Linux arch 6.8.4-arch1-1 #1 SMP PREEMPT_DYNAMIC Fri, 05 Apr 2024 00:14:23 +0000 x86_64 GNU/Linux

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant