Skip to content

Thread 'Worker' panicked at 'invalid offset' #14839

@lh123

Description

@lh123

rust-analyzer version: 0.0.0 (e4977e7 2023-05-18)

rustc version: rustc 1.69.0 (84c898d65 2023-04-16)

RA panic when invoke CallHierarchy on rust_analyzer::handlers::request::handle_completion

Panic context:
> 
version: 0.0.0 (e4977e74d 2023-05-18)
request: callHierarchy/outgoingCalls CallHierarchyOutgoingCallsParams {
    item: CallHierarchyItem {
        name: "completions",
        kind: Function,
        tags: None,
        detail: Some(
            "pub fn completions(db: &RootDatabase, config: &CompletionConfig, position: FilePosition, trigger_character: Option<char>) -> Option<Vec<CompletionItem>>",
        ),
        uri: Url {
            scheme: "file",
            cannot_be_a_base: false,
            username: "",
            password: None,
            host: None,
            port: None,
            path: "/home/lh/rust-src/rust-analyzer/crates/ide-completion/src/lib.rs",
            query: None,
            fragment: None,
        },
        range: Range {
            start: Position {
                line: 97,
                character: 0,
            },
            end: Position {
                line: 204,
                character: 1,
            },
        },
        selection_range: Range {
            start: Position {
                line: 147,
                character: 7,
            },
            end: Position {
                line: 147,
                character: 18,
            },
        },
        data: None,
    },
    work_done_progress_params: WorkDoneProgressParams {
        work_done_token: None,
    },
    partial_result_params: PartialResultParams {
        partial_result_token: None,
    },
}

thread 'Worker' panicked at 'invalid offset', lib/line-index/src/lib.rs:148:35
stack backtrace:
   0: rust_begin_unwind
             at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/std/src/panicking.rs:579:5
   1: core::panicking::panic_fmt
             at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/core/src/panicking.rs:64:14
   2: core::panicking::panic_display
             at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/core/src/panicking.rs:147:5
   3: core::panicking::panic_str
             at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/core/src/panicking.rs:131:5
   4: core::option::expect_failed
             at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/core/src/option.rs:2045:5
   5: core::option::Option<T>::expect
   6: line_index::LineIndex::line_col
   7: rust_analyzer::to_proto::position
   8: rust_analyzer::to_proto::range
   9: rust_analyzer::handlers::request::handle_call_hierarchy_outgoing::{{closure}}
  10: core::iter::adapters::map::map_fold::{{closure}}
  11: core::iter::traits::iterator::Iterator::fold
  12: <core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::fold
  13: core::iter::traits::iterator::Iterator::for_each
  14: alloc::vec::Vec<T,A>::extend_trusted
  15: <alloc::vec::Vec<T,A> as alloc::vec::spec_extend::SpecExtend<T,I>>::spec_extend
  16: <alloc::vec::Vec<T> as alloc::vec::spec_from_iter_nested::SpecFromIterNested<T,I>>::from_iter
  17: alloc::vec::in_place_collect::<impl alloc::vec::spec_from_iter::SpecFromIter<T,I> for alloc::vec::Vec<T>>::from_iter
  18: <alloc::vec::Vec<T> as core::iter::traits::collect::FromIterator<T>>::from_iter
  19: core::iter::traits::iterator::Iterator::collect
  20: rust_analyzer::handlers::request::handle_call_hierarchy_outgoing
  21: rust_analyzer::dispatch::RequestDispatcher::on::{{closure}}::{{closure}}
  22: std::panicking::try::do_call
  23: __rust_try
  24: std::panicking::try
  25: std::panic::catch_unwind
  26: rust_analyzer::dispatch::RequestDispatcher::on::{{closure}}
  27: rust_analyzer::task_pool::TaskPool<T>::spawn::{{closure}}
  28: <F as threadpool::FnBox>::call_box
  29: threadpool::spawn_in_pool::{{closure}}
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions