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

Crash when going back in jumplist following a global search #2622

Closed
aral opened this issue May 31, 2022 · 4 comments
Closed

Crash when going back in jumplist following a global search #2622

aral opened this issue May 31, 2022 · 4 comments
Labels
A-helix-term Area: Helix term improvements C-bug Category: This is a bug

Comments

@aral
Copy link
Contributor

aral commented May 31, 2022

Summary

Going back in jumplist after opening a file using a global search results in reproducible crash.

Reproduction Steps

I tried this:

  1. RUST_BACKTRACE=full hx .
  2. <space> / searched for a term ('options') and opened a file with the second occurance of the term.
  3. Pressed <ctrl> o (in my case, actually <shift><tab> as I have that marked to it) to go to previous jumplist position.

What should happen

Nothing. It should not have attempted to go back as there was nothing to go back to.

What actually happens

Crash.

Rust full backtrace

  ~/Projects/nodekit  major-refactor !3                                                                                                                                                                           ✘ 101  31s ⬢ 18.2.0
❯ RUST_BACKTRACE=full hx .
thread 'main' panicked at 'called `Option::unwrap()` on a `None` value', helix-term/src/commands.rs:3839:27
stack backtrace:
   0:     0x55c852486674 - std::backtrace_rs::backtrace::libunwind::trace::hee598835bc88d35b
                               at /rustc/7737e0b5c4103216d6fd8cf941b7ab9bdbaace7c/library/std/src/../../backtrace/src/backtrace/libunwind.rs:93:5
   1:     0x55c852486674 - std::backtrace_rs::backtrace::trace_unsynchronized::h9cdc730ba5cf5d72
                               at /rustc/7737e0b5c4103216d6fd8cf941b7ab9bdbaace7c/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
   2:     0x55c852486674 - std::sys_common::backtrace::_print_fmt::h75aeaf7ed30e43fa
                               at /rustc/7737e0b5c4103216d6fd8cf941b7ab9bdbaace7c/library/std/src/sys_common/backtrace.rs:66:5
   3:     0x55c852486674 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h606862f787600875
                               at /rustc/7737e0b5c4103216d6fd8cf941b7ab9bdbaace7c/library/std/src/sys_common/backtrace.rs:45:22
   4:     0x55c851d8a81c - core::fmt::write::he803f0f418caf762
                               at /rustc/7737e0b5c4103216d6fd8cf941b7ab9bdbaace7c/library/core/src/fmt/mod.rs:1190:17
   5:     0x55c85247ebca - std::io::Write::write_fmt::h70bc45872f37e7bb
                               at /rustc/7737e0b5c4103216d6fd8cf941b7ab9bdbaace7c/library/std/src/io/mod.rs:1657:15
   6:     0x55c852489476 - std::sys_common::backtrace::_print::h64d038cf8ac3e13e
                               at /rustc/7737e0b5c4103216d6fd8cf941b7ab9bdbaace7c/library/std/src/sys_common/backtrace.rs:48:5
   7:     0x55c852489476 - std::sys_common::backtrace::print::h359300b4a7fccf65
                               at /rustc/7737e0b5c4103216d6fd8cf941b7ab9bdbaace7c/library/std/src/sys_common/backtrace.rs:35:9
   8:     0x55c852489476 - std::panicking::default_hook::{{closure}}::hf51be35e2f510149
                               at /rustc/7737e0b5c4103216d6fd8cf941b7ab9bdbaace7c/library/std/src/panicking.rs:295:22
   9:     0x55c852489192 - std::panicking::default_hook::h03ca0f22e1d2d25e
                               at /rustc/7737e0b5c4103216d6fd8cf941b7ab9bdbaace7c/library/std/src/panicking.rs:314:9
  10:     0x55c852347f1f - helix_term::application::Application::run::{{closure}}::{{closure}}::h8c965cf06071f19a
  11:     0x55c852489c88 - std::panicking::rust_panic_with_hook::h3b7380e99b825b63
                               at /rustc/7737e0b5c4103216d6fd8cf941b7ab9bdbaace7c/library/std/src/panicking.rs:702:17
  12:     0x55c85248990c - std::panicking::begin_panic_handler::{{closure}}::h8e849d0710154ce0
                               at /rustc/7737e0b5c4103216d6fd8cf941b7ab9bdbaace7c/library/std/src/panicking.rs:586:13
  13:     0x55c852486bb4 - std::sys_common::backtrace::__rust_end_short_backtrace::hedcdaddbd4c46cc5
                               at /rustc/7737e0b5c4103216d6fd8cf941b7ab9bdbaace7c/library/std/src/sys_common/backtrace.rs:138:18
  14:     0x55c85248969d - rust_begin_unwind
                               at /rustc/7737e0b5c4103216d6fd8cf941b7ab9bdbaace7c/library/std/src/panicking.rs:584:5
  15:     0x55c851d13413 - core::panicking::panic_fmt::he1bbc7336d49a357
                               at /rustc/7737e0b5c4103216d6fd8cf941b7ab9bdbaace7c/library/core/src/panicking.rs:143:14
  16:     0x55c851d132dd - core::panicking::panic::h4241c5ccea17faca
                               at /rustc/7737e0b5c4103216d6fd8cf941b7ab9bdbaace7c/library/core/src/panicking.rs:48:5
  17:     0x55c8521c5e3a - helix_term::commands::jump_backward::h5c8c6567b56778b3
  18:     0x55c85207b698 - helix_term::ui::editor::EditorView::handle_keymap_event::hdf311c3496298b91
  19:     0x55c85207d176 - <helix_term::ui::editor::EditorView as helix_term::compositor::Component>::handle_event::h2fc68c252d7672f2
  20:     0x55c8520d6232 - helix_term::compositor::Compositor::handle_event::h6a426f859c60c2f8
  21:     0x55c852099149 - helix_term::application::Application::handle_terminal_events::h94bf4dfb5b71930a
  22:     0x55c852359621 - <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll::h3881561cbe1ffe22
  23:     0x55c85231e92c - tokio::park::thread::CachedParkThread::block_on::h76e0c74778f1cd9c
  24:     0x55c852315f09 - tokio::runtime::thread_pool::ThreadPool::block_on::h2a1d82ba00103e8d
  25:     0x55c852337a08 - tokio::runtime::Runtime::block_on::he74a7784cc58c621
  26:     0x55c85231d9d6 - hx::main::h9ca4a4686211a82e
  27:     0x55c8522f1ff3 - std::sys_common::backtrace::__rust_begin_short_backtrace::h36548bf88b090d93
  28:     0x55c85233776d - std::rt::lang_start::{{closure}}::h469828255d8ebe39
  29:     0x55c852485cdf - core::ops::function::impls::<impl core::ops::function::FnOnce<A> for &F>::call_once::hb7014f43484a8b4e
                               at /rustc/7737e0b5c4103216d6fd8cf941b7ab9bdbaace7c/library/core/src/ops/function.rs:259:13
  30:     0x55c852485cdf - std::panicking::try::do_call::h7bc9dc436daeb8c7
                               at /rustc/7737e0b5c4103216d6fd8cf941b7ab9bdbaace7c/library/std/src/panicking.rs:492:40
  31:     0x55c852485cdf - std::panicking::try::h653d68a27ff5f175
                               at /rustc/7737e0b5c4103216d6fd8cf941b7ab9bdbaace7c/library/std/src/panicking.rs:456:19
  32:     0x55c852485cdf - std::panic::catch_unwind::h9d739f9f59895e68
                               at /rustc/7737e0b5c4103216d6fd8cf941b7ab9bdbaace7c/library/std/src/panic.rs:137:14
  33:     0x55c852485cdf - std::rt::lang_start_internal::{{closure}}::hf006f2bc7ce22bbe
                               at /rustc/7737e0b5c4103216d6fd8cf941b7ab9bdbaace7c/library/std/src/rt.rs:128:48
  34:     0x55c852485cdf - std::panicking::try::do_call::hfb39d6df61a2e69f
                               at /rustc/7737e0b5c4103216d6fd8cf941b7ab9bdbaace7c/library/std/src/panicking.rs:492:40
  35:     0x55c852485cdf - std::panicking::try::h13e2d225134958ac
                               at /rustc/7737e0b5c4103216d6fd8cf941b7ab9bdbaace7c/library/std/src/panicking.rs:456:19
  36:     0x55c852485cdf - std::panic::catch_unwind::h3bd49b5a5dfb1a50
                               at /rustc/7737e0b5c4103216d6fd8cf941b7ab9bdbaace7c/library/std/src/panic.rs:137:14
  37:     0x55c852485cdf - std::rt::lang_start_internal::h2ba92edce36c035e
                               at /rustc/7737e0b5c4103216d6fd8cf941b7ab9bdbaace7c/library/std/src/rt.rs:128:20
  38:     0x55c8523216c2 - main
  39:     0x7f6df5f0ed90 - <unknown>
  40:     0x7f6df5f0ee40 - __libc_start_main
  41:     0x55c851d40f05 - _start
  42:                0x0 - <unknown>

Helix log

~/.cache/helix/helix.log

Likely unrelated but the only output in the helix log from that run is:

2022-05-31T10:32:05.136 helix_view::theme [WARN] Theme: invalid style attribute: modifier

Platform

Linux (Fedora Silverblue 36)

Terminal Emulator

GNOME Console

Helix Version

helix 22.05-dev (8df8ff2)

@aral aral added the C-bug Category: This is a bug label May 31, 2022
@aral
Copy link
Contributor Author

aral commented May 31, 2022

Just updated to latest Helix master and cannot reproduce in helix 22.05 (fc8c488), closing.

@aral aral closed this as completed May 31, 2022
@aral
Copy link
Contributor Author

aral commented May 31, 2022

Actually, just had it happen again with fc8c488 (could not capture stack trace that time) so reopening.

@aral aral reopened this May 31, 2022
@the-mikedavis the-mikedavis added the A-helix-term Area: Helix term improvements label May 31, 2022
@archseer
Copy link
Member

archseer commented Jun 3, 2022

Could be #2367, let's see if the fix there will also fix this one

@the-mikedavis
Copy link
Member

This should be fixed by #2658 now

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-helix-term Area: Helix term improvements C-bug Category: This is a bug
Projects
None yet
Development

No branches or pull requests

3 participants