helix-editor / helix

A post-modern modal text editor.
https://helix-editor.com
Mozilla Public License 2.0
34.02k stars 2.52k forks source link

Crash on editing Markdown file #7434

Closed jorpic closed 1 year ago

jorpic commented 1 year ago

Summary

It crashes.

Reproduction Steps

I tried this:

  1. RUST_BACKTRACE=1 hx -vv bug.md
  2. Enter the following text:
    ```bash
    #!/usr/bin/env bash
  3. Copy "shebang" before the first line: ggjxyggP.

I expected to get this text:

#!/usr/bin/env bash
```bash
#!/usr/bin/env bash

Instead, this happened:

thread 'main' panicked at 'assertion failed: byte_idx <= slice.len_bytes()', helix-core/src/graphemes.rs:330:5 stack backtrace: 0: rust_begin_unwind at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/std/src/panicking.rs:584:5 1: core::panicking::panic_fmt at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/core/src/panicking.rs:142:14 2: core::panicking::panic at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/core/src/panicking.rs:48:5 3: helix_core::graphemes::is_grapheme_boundary_byte at ./helix-core/src/graphemes.rs:330:5 4: helix_core::graphemes::ensure_grapheme_boundary_next_byte at ./helix-core/src/graphemes.rs:290:12 5: helix_term::ui::editor::EditorView::doc_syntax_highlights::{{closure}} at ./helix-term/src/ui/editor.rs:313:51 6: core::ops::function::impls::<impl core::ops::function::FnOnce for &mut F>::call_once at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/core/src/ops/function.rs:306:13 7: core::option::Option::map at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/core/src/option.rs:929:29 8: <core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::next at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/core/src/iter/adapters/map.rs:103:9 9: <alloc::boxed::Box<I,A> as core::iter::traits::iterator::Iterator>::next at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/alloc/src/boxed.rs:1874:9 10: <helix_core::syntax::Merge as core::iter::traits::iterator::Iterator>::next at ./helix-core/src/syntax.rs:2373:35 11: <alloc::boxed::Box<I,A> as core::iter::traits::iterator::Iterator>::next at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/alloc/src/boxed.rs:1874:9 12: <helix_term::ui::document::StyleIter as core::iter::traits::iterator::Iterator>::next at ./helix-term/src/ui/document.rs:49:33 13: helix_term::ui::document::render_text at ./helix-term/src/ui/document.rs:264:26 14: helix_term::ui::document::render_document at ./helix-term/src/ui/document.rs:106:5 15: helix_term::ui::editor::EditorView::render_view at ./helix-term/src/ui/editor.rs:188:9 16: ::render at ./helix-term/src/ui/editor.rs:1412:13 17: helix_term::compositor::Compositor::render at ./helix-term/src/compositor.rs:170:13 18: helix_term::application::Application::render::{{closure}} at ./helix-term/src/application.rs:289:9 19: <core::future::from_generator::GenFuture as core::future::future::Future>::poll at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/core/src/future/mod.rs:91:19 20: helix_term::application::Application::handle_terminal_events::{{closure}} at ./helix-term/src/application.rs:671:26 21: <core::future::from_generator::GenFuture as core::future::future::Future>::poll at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/core/src/future/mod.rs:91:19 22: helix_term::application::Application::event_loop_until_idle::{{closure}} at ./helix-term/src/application.rs:332:55 23: <core::future::from_generator::GenFuture as core::future::future::Future>::poll at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/core/src/future/mod.rs:91:19 24: helix_term::application::Application::event_loop::{{closure}} at ./helix-term/src/application.rs:306:57 25: <core::future::from_generator::GenFuture as core::future::future::Future>::poll at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/core/src/future/mod.rs:91:19 26: helix_term::application::Application::run::{{closure}} at ./helix-term/src/application.rs:1133:38 27: <core::future::from_generator::GenFuture as core::future::future::Future>::poll at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/core/src/future/mod.rs:91:19 28: hx::main_impl::{{closure}} at ./helix-term/src/main.rs:157:53 29: <core::future::from_generator::GenFuture as core::future::future::Future>::poll at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/core/src/future/mod.rs:91:19 30: tokio::runtime::park::CachedParkThread::block_on::{{closure}} at /home/user/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.28.2/src/runtime/park.rs:283:63 31: tokio::runtime::coop::with_budget at /home/user/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.28.2/src/runtime/coop.rs:107:5 32: tokio::runtime::coop::budget at /home/user/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.28.2/src/runtime/coop.rs:73:5 33: tokio::runtime::park::CachedParkThread::block_on at /home/user/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.28.2/src/runtime/park.rs:283:31 34: tokio::runtime::context::BlockingRegionGuard::block_on at /home/user/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.28.2/src/runtime/context.rs:315:13 35: tokio::runtime::scheduler::multi_thread::MultiThread::block_on at /home/user/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.28.2/src/runtime/scheduler/multi_thread/mod.rs:66:9 36: tokio::runtime::runtime::Runtime::block_on at /home/user/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.28.2/src/runtime/runtime.rs:304:45 37: hx::main_impl at ./helix-term/src/main.rs:159:5 38: hx::main at ./helix-term/src/main.rs:38:21 39: core::ops::function::FnOnce::call_once at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/core/src/ops/function.rs:248:5 note: Some details are omitted, run with RUST_BACKTRACE=full for a verbose backtrace.


### Helix log

<details><summary>~/.cache/helix/helix.log</summary>

2023-06-23T17:42:32.667 helix_loader [DEBUG] runtime dir: /home/user/t/helix/runtime 2023-06-23T17:42:32.686 helix_view::clipboard [DEBUG] Using wl-copy+wl-paste to interact with the system and selection (primary) clipboard 2023-06-23T17:42:32.728 helix_vcs [INFO] file is untracked 2023-06-23T17:42:32.728 helix_vcs [INFO] failed to open diff base for /home/user/t/helix/bug.md 2023-06-23T17:42:32.731 helix_view::editor [ERROR] Failed to initialize the language servers for source.md { cannot find binary path } 2023-06-23T17:42:32.731 helix_view::editor [DEBUG] editor status: Loaded 1 file. 2023-06-23T17:42:32.733 helix_tui::backend::crossterm [DEBUG] The keyboard enhancement protocol is not supported in this terminal (checked in 383.016µs) 2023-06-23T17:42:32.735 helix_view::document [DEBUG] id 1 modified - last saved: 0, current: 0 2023-06-23T17:42:33.088 helix_term::application [DEBUG] received editor event: IdleTimer 2023-06-23T17:42:34.445 helix_view::document [DEBUG] id 1 modified - last saved: 0, current: 0 2023-06-23T17:42:34.842 helix_term::application [DEBUG] received editor event: IdleTimer 2023-06-23T17:42:34.847 helix_view::document [DEBUG] id 1 modified - last saved: 0, current: 0 2023-06-23T17:42:35.307 helix_view::document [DEBUG] id 1 modified - last saved: 0, current: 0 2023-06-23T17:42:35.489 helix_view::document [DEBUG] id 1 modified - last saved: 0, current: 0 2023-06-23T17:42:35.813 helix_view::document [DEBUG] id 1 modified - last saved: 0, current: 0 2023-06-23T17:42:36.211 helix_term::application [DEBUG] received editor event: IdleTimer 2023-06-23T17:42:36.216 helix_view::document [DEBUG] id 1 modified - last saved: 0, current: 0 2023-06-23T17:42:36.533 helix_view::document [DEBUG] id 1 modified - last saved: 0, current: 0 ...



</details>

### Platform

Linux

### Terminal Emulator

alacritty 0.12.1 (5fdfd47f)

### Helix Version

23.05-168-g2c5288da
jorpic commented 1 year ago

According to git bisect this was introduced in 9c6c63a2be30252a6207f4aebb5e0f76f746b4c8

nuid64 commented 1 year ago

As I understand, bug is any symbols added before shebang (it must be correct) will move highlighting forward, and helix crashes when it reaches the end.

For example, you could write

```bash
#!/usr/bin/env bash
```
678

and then start add 9 any symbols before shebang, say, after

```bash

until editor crashes. Let's count: new line, three `, new line, "678", another new line. On next symbol, added before shebang, helix crashes.

I do not understand how the highlight works, just sharing my observations.

Snoupix commented 1 year ago

Having the same kind of error trying to copy the first line (```bash with the EOL so ggxyP)

Error + Stack backtrace ``` thread 'main' panicked at 'byte_slice(): Byte range out of bounds: byte range 39..43, Rope/RopeSlice byte length 40', /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ropey-1.6.0/src/slice.rs:703:23 stack backtrace: 0: 0x55c4ec65e4a0 - std::backtrace_rs::backtrace::libunwind::trace::h32eb3e08e874dd27 at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/std/src/../../backtrace/src/backtrace/libunwind.rs:93:5 1: 0x55c4ec65e4a0 - std::backtrace_rs::backtrace::trace_unsynchronized::haa3f451d27bc11a5 at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5 2: 0x55c4ec65e4a0 - std::sys_common::backtrace::_print_fmt::h5b94a01bb4289bb5 at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/std/src/sys_common/backtrace.rs:66:5 3: 0x55c4ec65e4a0 - ::fmt::hb070b7fa7e3175df at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/std/src/sys_common/backtrace.rs:45:22 4: 0x55c4ec686d9e - core::fmt::write::hd5207aebbb9a86e9 at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/core/src/fmt/mod.rs:1202:17 5: 0x55c4ec6574a5 - std::io::Write::write_fmt::h3bd699bbd129ab8a at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/std/src/io/mod.rs:1679:15 6: 0x55c4ec6600c3 - std::sys_common::backtrace::_print::h7a21be552fdf58da at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/std/src/sys_common/backtrace.rs:48:5 7: 0x55c4ec6600c3 - std::sys_common::backtrace::print::ha85c41fe4dd80b13 at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/std/src/sys_common/backtrace.rs:35:9 8: 0x55c4ec6600c3 - std::panicking::default_hook::{{closure}}::h04cca40023d0eeca at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/std/src/panicking.rs:295:22 9: 0x55c4ec65fdaf - std::panicking::default_hook::haa3ca8c310ed5402 at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/std/src/panicking.rs:314:9 10: 0x55c4ea7b41e0 - as core::ops::function::Fn>::call::h27656161a2da6d02 at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/alloc/src/boxed.rs:1954:9 11: 0x55c4ea809526 - helix_term::application::Application::run::{{closure}}::{{closure}}::h279804fbf7428487 at /home/snoupix/work/helix/helix-term/src/application.rs:1130:13 12: 0x55c4ec66080d - std::panicking::rust_panic_with_hook::h7b190ce1a948faac at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/std/src/panicking.rs:702:17 13: 0x55c4ec660667 - std::panicking::begin_panic_handler::{{closure}}::hbafbfdc3e1b97f68 at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/std/src/panicking.rs:588:13 14: 0x55c4ec65e94c - std::sys_common::backtrace::__rust_end_short_backtrace::hda93e5fef243b4c0 at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/std/src/sys_common/backtrace.rs:138:18 15: 0x55c4ec660382 - rust_begin_unwind at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/std/src/panicking.rs:584:5 16: 0x55c4ea79e3a3 - core::panicking::panic_fmt::h8d17ca1073d9a733 at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/core/src/panicking.rs:142:14 17: 0x55c4ebdb6edb - ropey::slice::RopeSlice::byte_slice::h062fd497e9a5b9b6 at /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ropey-1.6.0/src/slice.rs:703:23 18: 0x55c4ebd67b80 - ::text::h2e1c66122c516d52 at /home/snoupix/work/helix/helix-core/src/syntax.rs:1618:24 19: 0x55c4ebdb3edc - tree_sitter::QueryMatch::satisfies_text_predicates::{{closure}}::h2ceff176c10dca31 at /root/.cargo/registry/src/github.com-1ecc6299db9ec823/tree-sitter-0.20.10/binding_rust/lib.rs:2026:58 20: 0x55c4ebda7efd - as core::iter::traits::iterator::Iterator>::all::h029a62bb4964f76b at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/core/src/slice/iter/macros.rs:225:25 21: 0x55c4ebdb3c7a - tree_sitter::QueryMatch::satisfies_text_predicates::hfbc65faee88c3480 at /root/.cargo/registry/src/github.com-1ecc6299db9ec823/tree-sitter-0.20.10/binding_rust/lib.rs:1997:9 22: 0x55c4ebdb6aba - as core::iter::traits::iterator::Iterator>::next::hcd02b9400462522d at /root/.cargo/registry/src/github.com-1ecc6299db9ec823/tree-sitter-0.20.10/binding_rust/lib.rs:2085:24 23: 0x55c4ebe36f4c - core::iter::adapters::peekable::Peekable::peek::{{closure}}::h3effa6647ff6de11 at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/core/src/iter/adapters/peekable.rs:216:43 24: 0x55c4ebd54e5d - core::option::Option::get_or_insert_with::haf57a5b917c102d3 at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/core/src/option.rs:1550:49 25: 0x55c4ebe36e8b - core::iter::adapters::peekable::Peekable::peek::hcbe3828ec6e4ff46 at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/core/src/iter/adapters/peekable.rs:216:9 26: 0x55c4ebcfcd0c - helix_core::syntax::Syntax::highlight_iter::{{closure}}::h7baf105a21447cf6 at /home/snoupix/work/helix/helix-core/src/syntax.rs:1289:17 27: 0x55c4ebcf1c33 - core::ops::function::impls:: for &mut F>::call_mut::h8150bc511383dd33 at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/core/src/ops/function.rs:294:13 28: 0x55c4ebd2aa02 - core::iter::traits::iterator::Iterator::find_map::check::{{closure}}::hf0f4e2d03ee9e3d9 at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/core/src/iter/traits/iterator.rs:2732:32 29: 0x55c4ebd2671c - core::iter::traits::iterator::Iterator::try_fold::h82012a27ce16eb74 at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/core/src/iter/traits/iterator.rs:2238:21 30: 0x55c4ebd26633 - core::iter::traits::iterator::Iterator::find_map::hd640c45e147d7872 at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/core/src/iter/traits/iterator.rs:2738:9 31: 0x55c4ebe5d9ee - as core::iter::traits::iterator::Iterator>::next::hc58249b20ffea2ba at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/core/src/iter/adapters/filter_map.rs:61:9 32: 0x55c4ebd476ec - alloc::vec::Vec::extend_desugared::h138bd80e585a682b at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/alloc/src/vec/mod.rs:2749:35 33: 0x55c4ebd5218d - as alloc::vec::spec_extend::SpecExtend>::spec_extend::h3baf8db9cbcd7545 at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/alloc/src/vec/spec_extend.rs:18:9 34: 0x55c4ebd44ddb - as alloc::vec::spec_from_iter_nested::SpecFromIterNested>::from_iter::h2b76af82b42cee91 at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/alloc/src/vec/spec_from_iter_nested.rs:43:9 35: 0x55c4ebd5300d - as alloc::vec::spec_from_iter::SpecFromIter>::from_iter::h0255b74f0d63dfec at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/alloc/src/vec/spec_from_iter.rs:33:9 36: 0x55c4ebd51e4d - as core::iter::traits::collect::FromIterator>::from_iter::h2f81af77e4d2e131 at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/alloc/src/vec/mod.rs:2649:9 37: 0x55c4ebe5dfbd - core::iter::traits::iterator::Iterator::collect::h9c5f4ffca82852e0 at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/core/src/iter/traits/iterator.rs:1836:9 38: 0x55c4ebd6690b - helix_core::syntax::Syntax::highlight_iter::h9fcc9ad395390b40 at /home/snoupix/work/helix/helix-core/src/syntax.rs:1258:26 39: 0x55c4eacd27dc - helix_term::ui::editor::EditorView::doc_syntax_highlights::h00183bf98cbc620c at /home/snoupix/work/helix/helix-term/src/ui/editor.rs:302:28 40: 0x55c4eacd0961 - helix_term::ui::editor::EditorView::render_view::hd7e796178254fe89 at /home/snoupix/work/helix/helix-term/src/ui/editor.rs:125:13 41: 0x55c4eacdb93a - ::render::h1813f432bb8f199d at /home/snoupix/work/helix/helix-term/src/ui/editor.rs:1412:13 42: 0x55c4eac9e1ab - helix_term::compositor::Compositor::render::h9842943133d31eef at /home/snoupix/work/helix/helix-term/src/compositor.rs:170:13 43: 0x55c4ea80a75f - helix_term::application::Application::render::{{closure}}::h81d4bc73efeef8c5 at /home/snoupix/work/helix/helix-term/src/application.rs:279:9 44: 0x55c4ea81014c - as core::future::future::Future>::poll::hf1c601b0968c61e3 at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/core/src/future/mod.rs:91:19 45: 0x55c4ea80163f - helix_term::application::Application::handle_terminal_events::{{closure}}::ha2c713d292ed2dcc at /home/snoupix/work/helix/helix-term/src/application.rs:655:26 46: 0x55c4ea80f17c - as core::future::future::Future>::poll::h40263ca826bef668 at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/core/src/future/mod.rs:91:19 47: 0x55c4ea7fff0c - helix_term::application::Application::event_loop_until_idle::{{closure}}::hb1a1ff0a901275d3 at /home/snoupix/work/helix/helix-term/src/application.rs:321:55 48: 0x55c4ea80facc - as core::future::future::Future>::poll::h90299d6fe580dbf4 at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/core/src/future/mod.rs:91:19 49: 0x55c4ea7fceca - helix_term::application::Application::event_loop::{{closure}}::h3b782041eb959049 at /home/snoupix/work/helix/helix-term/src/application.rs:295:57 50: 0x55c4ea81001c - as core::future::future::Future>::poll::he8a532463d775d15 at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/core/src/future/mod.rs:91:19 51: 0x55c4ea808ff0 - helix_term::application::Application::run::{{closure}}::h4a8b52e86e0f2e9a at /home/snoupix/work/helix/helix-term/src/application.rs:1133:38 52: 0x55c4ea80f93c - as core::future::future::Future>::poll::h8763a584980c164d at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/core/src/future/mod.rs:91:19 53: 0x55c4ea7de716 - hx::main_impl::{{closure}}::h621b4e01541cdbc5 at /home/snoupix/work/helix/helix-term/src/main.rs:145:53 54: 0x55c4ea80efac - as core::future::future::Future>::poll::h312485e0f7fef839 at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/core/src/future/mod.rs:91:19 55: 0x55c4ea7da21f - tokio::runtime::park::CachedParkThread::block_on::{{closure}}::h73462f40f3338cd1 at /root/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.29.1/src/runtime/park.rs:283:63 56: 0x55c4ea7da069 - tokio::runtime::coop::with_budget::h855e9970a981c12b at /root/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.29.1/src/runtime/coop.rs:107:5 57: 0x55c4ea7da069 - tokio::runtime::coop::budget::hb38373d58660a5fa at /root/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.29.1/src/runtime/coop.rs:73:5 58: 0x55c4ea7da069 - tokio::runtime::park::CachedParkThread::block_on::hd98c4d013c33fce5 at /root/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.29.1/src/runtime/park.rs:283:31 59: 0x55c4ea7dedc2 - tokio::runtime::context::blocking::BlockingRegionGuard::block_on::hae7cc990d0acebdd at /root/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.29.1/src/runtime/context/blocking.rs:66:9 60: 0x55c4ea7c0d61 - tokio::runtime::scheduler::multi_thread::MultiThread::block_on::{{closure}}::hd3cdb7a9860027f9 at /root/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.29.1/src/runtime/scheduler/multi_thread/mod.rs:87:13 61: 0x55c4ea7f4404 - tokio::runtime::context::runtime::enter_runtime::h7f889bb0e036b5f9 at /root/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.29.1/src/runtime/context/runtime.rs:65:16 62: 0x55c4ea7c0d12 - tokio::runtime::scheduler::multi_thread::MultiThread::block_on::hc07a65f4462d15eb at /root/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.29.1/src/runtime/scheduler/multi_thread/mod.rs:86:9 63: 0x55c4ea7f31d7 - tokio::runtime::runtime::Runtime::block_on::hc15a4a5af9021ef7 at /root/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.29.1/src/runtime/runtime.rs:313:45 64: 0x55c4ea8292d4 - hx::main_impl::h9fe879bfcb0ba53f at /home/snoupix/work/helix/helix-term/src/main.rs:147:5 65: 0x55c4ea82912e - hx::main::h53c191b88aa37443 at /home/snoupix/work/helix/helix-term/src/main.rs:37:21 66: 0x55c4ea82003b - core::ops::function::FnOnce::call_once::hdf95726c14d2e102 at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/core/src/ops/function.rs:248:5 67: 0x55c4ea80a9ce - std::sys_common::backtrace::__rust_begin_short_backtrace::hb3bdb4b33fab46a0 at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/std/src/sys_common/backtrace.rs:122:18 68: 0x55c4ea7bd831 - std::rt::lang_start::{{closure}}::h616118c2793a347d at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/std/src/rt.rs:166:18 69: 0x55c4ec651c0f - core::ops::function::impls:: for &F>::call_once::hb69be6e0857c6cfb at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/core/src/ops/function.rs:283:13 70: 0x55c4ec651c0f - std::panicking::try::do_call::h396dfc441ee9c786 at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/std/src/panicking.rs:492:40 71: 0x55c4ec651c0f - std::panicking::try::h6cdda972d28b3a4f at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/std/src/panicking.rs:456:19 72: 0x55c4ec651c0f - std::panic::catch_unwind::h376039ec264e8ef9 at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/std/src/panic.rs:137:14 73: 0x55c4ec651c0f - std::rt::lang_start_internal::{{closure}}::hc94720ca3d4cb727 at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/std/src/rt.rs:148:48 74: 0x55c4ec651c0f - std::panicking::try::do_call::h2422fb95933fa2d5 at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/std/src/panicking.rs:492:40 75: 0x55c4ec651c0f - std::panicking::try::h488286b5ec8333ff at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/std/src/panicking.rs:456:19 76: 0x55c4ec651c0f - std::panic::catch_unwind::h81636549836d2a25 at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/std/src/panic.rs:137:14 77: 0x55c4ec651c0f - std::rt::lang_start_internal::h6ba1bb743c1e9df9 at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/std/src/rt.rs:148:20 78: 0x55c4ea7bd80a - std::rt::lang_start::h0ad7b590caeca1ec at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/std/src/rt.rs:165:17 79: 0x55c4ea829391 - main 80: 0x7fb3e289a850 - 81: 0x7fb3e289a90a - __libc_start_main 82: 0x55c4ea79e6d5 - _start 83: 0x0 - ```