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

thread 'main' panicked at 'Positions [(70, After), (71, Before)] are out of range for changeset len 1!', helix-core/src/transaction.rs:478:9 #9830

Open
quesada opened this issue Mar 7, 2024 · 4 comments
Labels
C-bug Category: This is a bug

Comments

@quesada
Copy link

quesada commented Mar 7, 2024

Summary

Crash while editing

Reproduction Steps

Editing a scratch buffer and pressing esc is the closest I could get to isolate the bug; but this is not deterministic. It happened with 3 vsplits, 2 showing the same file, one with a scratch buffer.

Helix log

~/.cache/helix/helix.log
tail ~/.cache/helix/helix.log
2024-03-07T09:13:53.256 helix_lsp::transport [ERROR] ltex err <- "Mar 07, 2024 9:13:53 AM org.bsplines.ltexls.server.DocumentChecker checkAnnotatedTextFragment\n"
2024-03-07T09:13:53.256 helix_lsp::transport [ERROR] ltex err <- "WARNING: Skipping text check as LanguageTool has not been initialized\n"
2024-03-07T09:13:53.375 helix_lsp::transport [ERROR] ltex err <- "Mar 07, 2024 9:13:53 AM org.bsplines.ltexls.server.DocumentChecker checkAnnotatedTextFragment\n"
2024-03-07T09:13:53.375 helix_lsp::transport [ERROR] ltex err <- "WARNING: Skipping text check as LanguageTool has not been initialized\n"
2024-03-07T09:13:53.511 helix_lsp::transport [ERROR] ltex err <- "Mar 07, 2024 9:13:53 AM org.bsplines.ltexls.server.DocumentChecker checkAnnotatedTextFragment\n"
2024-03-07T09:13:53.511 helix_lsp::transport [ERROR] ltex err <- "WARNING: Skipping text check as LanguageTool has not been initialized\n"
2024-03-07T09:13:53.743 helix_lsp::transport [ERROR] ltex err <- "Mar 07, 2024 9:13:53 AM org.bsplines.ltexls.server.DocumentChecker checkAnnotatedTextFragment\n"
2024-03-07T09:13:53.743 helix_lsp::transport [ERROR] ltex err <- "WARNING: Skipping text check as LanguageTool has not been initialized\n"
2024-03-07T09:14:32.284 helix_core::syntax [ERROR] TS parser failed, disabling TS for the current buffer: Err(Cancelled)
2024-03-07T10:32:27.009 helix_core::syntax [ERROR] TS parser failed, disabling TS for the current buffer: Err(Cancelled)
q@sirius ~/S/L/pages> tail -50  ~/.cache/helix/helix.log
2024-03-07T09:13:49.127 helix_lsp::transport [ERROR] ltex err <- "Mar 07, 2024 9:13:49 AM org.bsplines.ltexls.server.DocumentChecker checkAnnotatedTextFragment\n"
2024-03-07T09:13:49.128 helix_lsp::transport [ERROR] ltex err <- "WARNING: Skipping text check as LanguageTool has not been initialized\n"
2024-03-07T09:13:49.271 helix_lsp::transport [ERROR] ltex err <- "Mar 07, 2024 9:13:49 AM org.bsplines.ltexls.server.DocumentChecker checkAnnotatedTextFragment\n"
2024-03-07T09:13:49.271 helix_lsp::transport [ERROR] ltex err <- "WARNING: Skipping text check as LanguageTool has not been initialized\n"
2024-03-07T09:13:49.439 helix_lsp::transport [ERROR] ltex err <- "Mar 07, 2024 9:13:49 AM org.bsplines.ltexls.server.DocumentChecker checkAnnotatedTextFragment\n"
2024-03-07T09:13:49.439 helix_lsp::transport [ERROR] ltex err <- "WARNING: Skipping text check as LanguageTool has not been initialized\n"
2024-03-07T09:13:49.567 helix_lsp::transport [ERROR] ltex err <- "Mar 07, 2024 9:13:49 AM org.bsplines.ltexls.server.DocumentChecker checkAnnotatedTextFragment\n"
2024-03-07T09:13:49.567 helix_lsp::transport [ERROR] ltex err <- "WARNING: Skipping text check as LanguageTool has not been initialized\n"
2024-03-07T09:13:49.808 helix_lsp::transport [ERROR] ltex err <- "Mar 07, 2024 9:13:49 AM org.bsplines.ltexls.server.DocumentChecker checkAnnotatedTextFragment\n"
2024-03-07T09:13:49.808 helix_lsp::transport [ERROR] ltex err <- "WARNING: Skipping text check as LanguageTool has not been initialized\n"
2024-03-07T09:13:49.984 helix_lsp::transport [ERROR] ltex err <- "Mar 07, 2024 9:13:49 AM org.bsplines.ltexls.server.DocumentChecker checkAnnotatedTextFragment\n"
2024-03-07T09:13:49.984 helix_lsp::transport [ERROR] ltex err <- "WARNING: Skipping text check as LanguageTool has not been initialized\n"
2024-03-07T09:13:50.080 helix_lsp::transport [ERROR] ltex err <- "Mar 07, 2024 9:13:50 AM org.bsplines.ltexls.server.DocumentChecker checkAnnotatedTextFragment\n"
2024-03-07T09:13:50.080 helix_lsp::transport [ERROR] ltex err <- "WARNING: Skipping text check as LanguageTool has not been initialized\n"
2024-03-07T09:13:51.183 helix_lsp::transport [ERROR] ltex err <- "Mar 07, 2024 9:13:51 AM org.bsplines.ltexls.server.DocumentChecker checkAnnotatedTextFragment\n"
2024-03-07T09:13:51.183 helix_lsp::transport [ERROR] ltex err <- "WARNING: Skipping text check as LanguageTool has not been initialized\n"
2024-03-07T09:13:51.310 helix_lsp::transport [ERROR] ltex err <- "Mar 07, 2024 9:13:51 AM org.bsplines.ltexls.server.DocumentChecker checkAnnotatedTextFragment\n"
2024-03-07T09:13:51.310 helix_lsp::transport [ERROR] ltex err <- "WARNING: Skipping text check as LanguageTool has not been initialized\n"
2024-03-07T09:13:51.391 helix_lsp::transport [ERROR] ltex err <- "Mar 07, 2024 9:13:51 AM org.bsplines.ltexls.server.DocumentChecker checkAnnotatedTextFragment\n"
2024-03-07T09:13:51.391 helix_lsp::transport [ERROR] ltex err <- "WARNING: Skipping text check as LanguageTool has not been initialized\n"
2024-03-07T09:13:51.512 helix_lsp::transport [ERROR] ltex err <- "Mar 07, 2024 9:13:51 AM org.bsplines.ltexls.server.DocumentChecker checkAnnotatedTextFragment\n"
2024-03-07T09:13:51.512 helix_lsp::transport [ERROR] ltex err <- "WARNING: Skipping text check as LanguageTool has not been initialized\n"
2024-03-07T09:13:51.984 helix_lsp::transport [ERROR] ltex err <- "Mar 07, 2024 9:13:51 AM org.bsplines.ltexls.server.DocumentChecker checkAnnotatedTextFragment\n"
2024-03-07T09:13:51.984 helix_lsp::transport [ERROR] ltex err <- "WARNING: Skipping text check as LanguageTool has not been initialized\n"
2024-03-07T09:13:52.056 helix_lsp::transport [ERROR] ltex err <- "Mar 07, 2024 9:13:52 AM org.bsplines.ltexls.server.DocumentChecker checkAnnotatedTextFragment\n"
2024-03-07T09:13:52.056 helix_lsp::transport [ERROR] ltex err <- "WARNING: Skipping text check as LanguageTool has not been initialized\n"
2024-03-07T09:13:52.160 helix_lsp::transport [ERROR] ltex err <- "Mar 07, 2024 9:13:52 AM org.bsplines.ltexls.server.DocumentChecker checkAnnotatedTextFragment\n"
2024-03-07T09:13:52.160 helix_lsp::transport [ERROR] ltex err <- "WARNING: Skipping text check as LanguageTool has not been initialized\n"
2024-03-07T09:13:52.336 helix_lsp::transport [ERROR] ltex err <- "Mar 07, 2024 9:13:52 AM org.bsplines.ltexls.server.DocumentChecker checkAnnotatedTextFragment\n"
2024-03-07T09:13:52.336 helix_lsp::transport [ERROR] ltex err <- "WARNING: Skipping text check as LanguageTool has not been initialized\n"
2024-03-07T09:13:52.456 helix_lsp::transport [ERROR] ltex err <- "Mar 07, 2024 9:13:52 AM org.bsplines.ltexls.server.DocumentChecker checkAnnotatedTextFragment\n"
2024-03-07T09:13:52.456 helix_lsp::transport [ERROR] ltex err <- "WARNING: Skipping text check as LanguageTool has not been initialized\n"
2024-03-07T09:13:52.616 helix_lsp::transport [ERROR] ltex err <- "Mar 07, 2024 9:13:52 AM org.bsplines.ltexls.server.DocumentChecker checkAnnotatedTextFragment\n"
2024-03-07T09:13:52.616 helix_lsp::transport [ERROR] ltex err <- "WARNING: Skipping text check as LanguageTool has not been initialized\n"
2024-03-07T09:13:52.736 helix_lsp::transport [ERROR] ltex err <- "Mar 07, 2024 9:13:52 AM org.bsplines.ltexls.server.DocumentChecker checkAnnotatedTextFragment\n"
2024-03-07T09:13:52.736 helix_lsp::transport [ERROR] ltex err <- "WARNING: Skipping text check as LanguageTool has not been initialized\n"
2024-03-07T09:13:53.024 helix_lsp::transport [ERROR] ltex err <- "Mar 07, 2024 9:13:53 AM org.bsplines.ltexls.server.DocumentChecker checkAnnotatedTextFragment\n"
2024-03-07T09:13:53.025 helix_lsp::transport [ERROR] ltex err <- "WARNING: Skipping text check as LanguageTool has not been initialized\n"
2024-03-07T09:13:53.128 helix_lsp::transport [ERROR] ltex err <- "Mar 07, 2024 9:13:53 AM org.bsplines.ltexls.server.DocumentChecker checkAnnotatedTextFragment\n"
2024-03-07T09:13:53.128 helix_lsp::transport [ERROR] ltex err <- "WARNING: Skipping text check as LanguageTool has not been initialized\n"
2024-03-07T09:13:53.256 helix_lsp::transport [ERROR] ltex err <- "Mar 07, 2024 9:13:53 AM org.bsplines.ltexls.server.DocumentChecker checkAnnotatedTextFragment\n"
2024-03-07T09:13:53.256 helix_lsp::transport [ERROR] ltex err <- "WARNING: Skipping text check as LanguageTool has not been initialized\n"
2024-03-07T09:13:53.375 helix_lsp::transport [ERROR] ltex err <- "Mar 07, 2024 9:13:53 AM org.bsplines.ltexls.server.DocumentChecker checkAnnotatedTextFragment\n"
2024-03-07T09:13:53.375 helix_lsp::transport [ERROR] ltex err <- "WARNING: Skipping text check as LanguageTool has not been initialized\n"
2024-03-07T09:13:53.511 helix_lsp::transport [ERROR] ltex err <- "Mar 07, 2024 9:13:53 AM org.bsplines.ltexls.server.DocumentChecker checkAnnotatedTextFragment\n"
2024-03-07T09:13:53.511 helix_lsp::transport [ERROR] ltex err <- "WARNING: Skipping text check as LanguageTool has not been initialized\n"
2024-03-07T09:13:53.743 helix_lsp::transport [ERROR] ltex err <- "Mar 07, 2024 9:13:53 AM org.bsplines.ltexls.server.DocumentChecker checkAnnotatedTextFragment\n"
2024-03-07T09:13:53.743 helix_lsp::transport [ERROR] ltex err <- "WARNING: Skipping text check as LanguageTool has not been initialized\n"
2024-03-07T09:14:32.284 helix_core::syntax [ERROR] TS parser failed, disabling TS for the current buffer: Err(Cancelled)
2024-03-07T10:32:27.009 helix_core::syntax [ERROR] TS parser failed, disabling TS for the current buffer: Err(Cancelled)```

</details>


### Platform

Linux

### Terminal Emulator

Kitty

### Installation Method

source

### Helix Version

helix 23.10 (b93fae9c)
@quesada quesada added the C-bug Category: This is a bug label Mar 7, 2024
@pascalkuthe
Copy link
Member

pleas provide a panic backtrace or this is not actionable, this kind of panic message could be caused by ahyting

@kirawi kirawi added the S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. label Mar 9, 2024
@NickNick
Copy link

NickNick commented Mar 13, 2024

I got a similar panic, with a (minimal) stacktrace. Hope this helps.

thread 'main' panicked at 'Positions [(150004, After), (150004, After)] are out of range for changeset len 149909!', helix-core/src/transaction.rs:461:9
stack backtrace:
   0: _rust_begin_unwind
   1: core::panicking::panic_fmt
   2: helix_core::transaction::ChangeSet::update_positions
   3: helix_core::selection::Selection::map_no_normalize
   4: helix_view::view::View::apply
   5: helix_view::document::Document::append_changes_to_history
   6: <helix_term::ui::editor::EditorView as helix_term::compositor::Component>::handle_event
   7: helix_term::compositor::Compositor::handle_event
   8: helix_term::application::Application::run::{{closure}}
   9: tokio::runtime::park::CachedParkThread::block_on
  10: tokio::runtime::runtime::Runtime::block_on
  11: hx::main
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.

Version: helix 23.10 (f6021dd)

@trink
Copy link
Contributor

trink commented Mar 14, 2024

Here is one way to reproduce it (current master at commit: 6c4d986).

thread 'main' panicked at 'Positions [(7, Before)] are out of range for changeset len 4!', helix-core/src/transaction.rs:478:9

Test Document

a
b

Steps to Reproduce

  1. <C-w>s # hsplit
  2. ]<space> # add_newline_below
  3. % # select_all
  4. 2G # goto_line
  5. ms/ # surround_add
  6. :rla<ret> # reload_all
  7. % # select_all
  8. J # join_selection

@SecretPocketCat
Copy link

This happened to me without using splits. IIRC it started happening after I updated my normal_mode binding to also add a jumplist entry.

[keys.insert]
C-s = ["normal_mode", ":w", "save_selection"]
esc = ["normal_mode", "save_selection"]

stacktrace:

thread 'main' panicked at 'Positions [(2129, After), (2130, Before)] are out of range for changeset len 2119!', hel
ix-core/src/transaction.rs:478:9
    stack backtrace:
       0: rust_begin_unwind
                 at /rustc/90c541806f23a127002de5b4038be731ba1458ca/library/std/src/panicking.rs:578:5
       1: core::panicking::panic_fmt
                 at /rustc/90c541806f23a127002de5b4038be731ba1458ca/library/core/src/panicking.rs:67:14
       2: helix_core::transaction::ChangeSet::update_positions
       3: helix_core::selection::Selection::map_no_normalize
       4: helix_view::view::View::apply
       5: helix_view::document::Document::append_changes_to_history
       6: <helix_term::ui::editor::EditorView as helix_term::compositor::Component>::handle_event
       7: helix_term::compositor::Compositor::handle_event
       8: helix_term::application::Application::run::{{closure}}
       9: tokio::runtime::park::CachedParkThread::block_on
      10: tokio::runtime::context::runtime::enter_runtime
      11: tokio::runtime::runtime::Runtime::block_on
      12: hx::main

helix 23.4 6a214af

I'll try to get a minimal repro.

@pascalkuthe pascalkuthe removed the S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. label Apr 20, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
C-bug Category: This is a bug
Projects
None yet
Development

No branches or pull requests

6 participants