Skip to content

unwrap() on Err value for jump_backward #3660

Closed as not planned
Closed as not planned
@crockeo

Description

@crockeo

Summary

helix crashes with a Result::unwrap() on an Err when you jump_backward to a jumplist location which after the length of the current file.

I hope this isn't a duplicate issue. I've found related jump_backward issues (e.g. #2489) but none that mention this specific cause.

Reproduction Steps

  • hx test.txt
  • i
  • enter x3
  • escape
  • :write
  • up x2
  • C-s
  • up
  • v
  • down x3
  • d
  • :write
  • C-o

Helix log

~/.cache/helix/helix.log (doesn't have much info)
2022-09-02T13:00:00.862 helix_view::editor [ERROR] Failed to initialize the LSP for `source.python` { cannot find binary path }
2022-09-02T13:01:26.659 helix_view::editor [ERROR] Failed to initialize the LSP for `source.toml` { cannot find binary path }
2022-09-02T13:12:33.823 helix_view::editor [ERROR] Failed to initialize the LSP for `source.toml` { cannot find binary path }
2022-09-02T13:12:52.710 helix_view::editor [ERROR] Failed to initialize the LSP for `source.toml` { cannot find binary path }
2022-09-02T13:13:59.671 helix_view::editor [ERROR] Failed to initialize the LSP for `source.toml` { cannot find binary path }
2022-09-02T13:14:17.844 helix_lsp::transport [ERROR] err <- "npx: installed 1 in 6.105s\n"
2022-09-02T13:14:17.930 helix_lsp::transport [ERROR] err <- "stubPath /Users/chillen/src/refactorator/typings is not a valid directory.\n"
2022-09-02T13:14:27.274 helix_lsp::transport [ERROR] err: <- StreamClosed
2022-09-02T13:14:27.274 helix_lsp::transport [ERROR] err: <- StreamClosed
2022-09-02T13:14:30.973 helix_lsp [ERROR] failed to initialize language server: request timed out
2022-09-02T13:25:07.959 helix_view::editor [ERROR] Failed to initialize the LSP for `source.toml` { cannot find binary path }
2022-09-02T13:25:24.503 helix_lsp::transport [ERROR] err: <- StreamClosed
2022-09-02T13:25:24.551 helix_lsp::transport [ERROR] err: <- StreamClosed
2022-09-02T13:25:25.000 helix_term::application [ERROR] Timed out waiting for language servers to shutdown
2022-09-02T13:25:25.984 helix_view::theme [WARN] Theme: malformed hexcode: highlight
2022-09-02T13:25:32.955 helix_lsp::transport [ERROR] err <- "npx: installed 1 in 3.484s\n"
2022-09-02T13:25:33.045 helix_lsp::transport [ERROR] err <- "stubPath /Users/chillen/src/refactorator/typings is not a valid directory.\n"
2022-09-02T13:25:42.268 helix_lsp::transport [ERROR] err: <- StreamClosed
2022-09-02T13:25:42.268 helix_lsp::transport [ERROR] err: <- StreamClosed
2022-09-02T13:25:48.975 helix_lsp [ERROR] failed to initialize language server: request timed out
2022-09-02T13:29:23.955 helix_term::application [ERROR] Timed out waiting for language servers to shutdown
2022-09-02T13:29:29.988 helix_view::theme [WARN] Theme: malformed hexcode: highlight
2022-09-02T13:29:30.000 helix_view::editor [ERROR] Failed to initialize the LSP for `source.toml` { cannot find binary path }
2022-09-02T13:30:51.372 helix_view::editor [ERROR] Failed to initialize the LSP for `source.bash` { cannot find binary path }
2022-09-02T13:31:58.888 helix_view::theme [WARN] Theme: malformed hexcode: highlight
2022-09-02T13:32:01.314 helix_view::theme [WARN] Theme: malformed hexcode: highlight
2022-09-02T13:32:05.248 helix_lsp::transport [ERROR] err <- "npx: installed 1 in 3.519s\n"
2022-09-02T13:32:05.332 helix_lsp::transport [ERROR] err <- "stubPath /Users/chillen/.config/helix/typings is not a valid directory.\n"
2022-09-02T13:32:06.429 helix_lsp::transport [ERROR] err: <- StreamClosed
2022-09-02T13:32:06.429 helix_lsp::transport [ERROR] err: <- StreamClosed
2022-09-02T13:32:21.350 helix_lsp [ERROR] failed to initialize language server: request timed out
2022-09-02T13:32:53.149 helix_view::editor [ERROR] Failed to initialize the LSP for `source.toml` { cannot find binary path }
2022-09-02T13:33:02.159 helix_term::application [ERROR] Timed out waiting for language servers to shutdown
2022-09-02T13:33:11.013 helix_view::theme [WARN] Theme: malformed hexcode: highlight
2022-09-02T13:33:11.047 helix_view::editor [ERROR] Failed to initialize the LSP for `source.python` { cannot find binary path }
2022-09-02T13:34:39.568 helix_view::editor [ERROR] Failed to initialize the LSP for `source.toml` { cannot find binary path }
2022-09-02T13:35:00.548 helix_view::theme [WARN] Theme: malformed hexcode: highlight
2022-09-02T13:37:04.101 helix_term::application [WARN] failed to load theme `spacebones` - No such file or directory (os error 2)
2022-09-02T13:37:49.244 helix_view::editor [ERROR] Failed to initialize the LSP for `source.python` { cannot find binary path }
2022-09-02T13:37:57.408 helix_view::editor [ERROR] Failed to initialize the LSP for `source.toml` { cannot find binary path }
2022-09-02T13:38:02.356 helix_view::theme [WARN] Theme: malformed hexcode: highlight
2022-09-02T13:38:46.180 helix_view::theme [WARN] Theme: malformed hexcode: highlight
2022-09-02T13:39:14.267 helix_view::theme [WARN] Theme: malformed hexcode: highlight
2022-09-02T13:40:38.166 helix_view::editor [ERROR] Failed to initialize the LSP for `source.toml` { cannot find binary path }
2022-09-02T13:41:28.446 helix_view::theme [WARN] Theme: malformed hexcode: highlight
2022-09-02T13:41:45.060 helix_view::theme [WARN] Theme: malformed hexcode: highlight
rust traceback
~/.config/helix$ RUST_BACKTRACE=1 hx
thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: Char index out of bounds: char index 4, Rope/RopeSlice char length 0', /Users/brew/Library/Caches/Homebrew/cargo_cache/registry/src/g.yxqyang.asia-1ecc6299db9ec823/ropey-1.5.0/src/slice.rs:349:41
stack backtrace:
   0: _rust_begin_unwind
   1: core::panicking::panic_fmt
   2: core::result::unwrap_failed
   3: helix_core::graphemes::nth_prev_grapheme_boundary
   4: helix_core::selection::Range::grapheme_aligned
   5: helix_core::selection::Selection::ensure_invariants
   6: helix_view::document::Document::set_selection
   7: helix_term::commands::jump_backward
   8: helix_term::ui::editor::EditorView::handle_keymap_event::{{closure}}
   9: helix_term::ui::editor::EditorView::handle_keymap_event
  10: <helix_term::ui::editor::EditorView as helix_term::compositor::Component>::handle_event
  11: helix_term::compositor::Compositor::handle_event
  12: helix_term::application::Application::handle_terminal_events
  13: helix_term::application::Application::event_loop_until_idle::{{closure}}
  14: <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll
  15: std::thread::local::LocalKey<T>::with
  16: tokio::park::thread::CachedParkThread::block_on
  17: tokio::runtime::thread_pool::ThreadPool::block_on
  18: tokio::runtime::Runtime::block_on
  19: hx::main
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.

Platform

macOS 12.5.1

Terminal Emulator

kitty 0.24.4

Helix Version

helix 22.08.1 (66276ce)

Metadata

Metadata

Assignees

No one assigned

    Labels

    C-bugCategory: This is a bugR-duplicateDuplicated issue: please refer to the linked issue

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions