Skip to content

Panic in inlay_hints #3310

@kjeremy

Description

@kjeremy

If I open up markdown.rs I see the following trace:

[Trace - 5:06:03 PM] Sending notification 'textDocument/didOpen'.
[Trace - 5:06:03 PM] Sending notification '$/cancelRequest'.
[Trace - 5:06:03 PM] Sending request 'textDocument/codeAction - (1115)'.
[Trace - 5:06:03 PM] Sending notification '$/cancelRequest'.
[Trace - 5:06:03 PM] Sending notification '$/cancelRequest'.
[Trace - 5:06:03 PM] Sending request 'rust-analyzer/inlayHints - (1116)'.
[Trace - 5:06:03 PM] Sending request 'textDocument/documentSymbol - (1117)'.
[Trace - 5:06:03 PM] Received response 'textDocument/codeLens - (1113)' in 3098ms. Request failed: canceled by client (-32800).
[Trace - 5:06:03 PM] Received response 'rust-analyzer/inlayHints - (1105)' in 6436ms. Request failed: canceled by client (-32800).
[Trace - 5:06:03 PM] Received response 'textDocument/documentSymbol - (1117)' in 13ms.
[Trace - 5:06:03 PM] Sending request 'textDocument/semanticTokens - (1118)'.
[Trace - 5:06:03 PM] Received response 'textDocument/codeAction - (1115)' in 47ms. Request failed: content modified (-32801).
[Trace - 5:06:03 PM] Received response 'rust-analyzer/inlayHints - (1116)' in 46ms. Request failed: content modified (-32801).
[Trace - 5:06:03 PM] Received response 'textDocument/semanticTokens - (1118)' in 4ms. Request failed: content modified (-32801).
[Trace - 5:06:03 PM] Sending request 'rust-analyzer/inlayHints - (1119)'.
[Trace - 5:06:03 PM] Sending request 'textDocument/documentSymbol - (1120)'.
[Trace - 5:06:03 PM] Received response 'textDocument/documentSymbol - (1120)' in 2ms.
[Trace - 5:06:03 PM] Sending request 'textDocument/foldingRange - (1121)'.
[Trace - 5:06:03 PM] Received response 'textDocument/foldingRange - (1121)' in 1ms.
[Trace - 5:06:03 PM] Sending request 'textDocument/codeLens - (1122)'.

Notice that the last inlayHints and codeLens requests never finish.

This corresponds with a panic:

thread '' panicked at 'can't resolve local ptr to SyntaxNode: SyntaxNodePtr { range: [1146; 1298), kind: ENUM_DEF }', crates\ra_syntax\src\ptr.rs:30:28
stack backtrace:
0: backtrace::backtrace::trace_unsynchronized
at C:\Users\VssAdministrator.cargo\registry\src\github.spider-man.dpdns.org-1ecc6299db9ec823\backtrace-0.3.40\src\backtrace\mod.rs:66
1: std::sys_common::backtrace::_print_fmt
at /rustc/5e1a799842ba6ed4a57e91f7ab9435947482f7d8/src\libstd\sys_common\backtrace.rs:84
2: std::sys_common::backtrace::_print::{{impl}}::fmt
at /rustc/5e1a799842ba6ed4a57e91f7ab9435947482f7d8/src\libstd\sys_common\backtrace.rs:61
3: core::fmt::write
at /rustc/5e1a799842ba6ed4a57e91f7ab9435947482f7d8/src\libcore\fmt\mod.rs:1025
4: std::io::Write::write_fmtstd::sys::windows::stdio::Stderr
at /rustc/5e1a799842ba6ed4a57e91f7ab9435947482f7d8/src\libstd\io\mod.rs:1426
5: std::sys_common::backtrace::_print
at /rustc/5e1a799842ba6ed4a57e91f7ab9435947482f7d8/src\libstd\sys_common\backtrace.rs:65
6: std::sys_common::backtrace::print
at /rustc/5e1a799842ba6ed4a57e91f7ab9435947482f7d8/src\libstd\sys_common\backtrace.rs:50
7: std::panicking::default_hook::{{closure}}
at /rustc/5e1a799842ba6ed4a57e91f7ab9435947482f7d8/src\libstd\panicking.rs:193
8: std::panicking::default_hook
at /rustc/5e1a799842ba6ed4a57e91f7ab9435947482f7d8/src\libstd\panicking.rs:210
9: std::panicking::rust_panic_with_hook
at /rustc/5e1a799842ba6ed4a57e91f7ab9435947482f7d8/src\libstd\panicking.rs:471
10: std::panicking::begin_panic_handler
at /rustc/5e1a799842ba6ed4a57e91f7ab9435947482f7d8/src\libstd\panicking.rs:375
11: std::panicking::begin_panic_fmt
at /rustc/5e1a799842ba6ed4a57e91f7ab9435947482f7d8/src\libstd\panicking.rs:326
12: ra_syntax::ptr::SyntaxNodePtr::to_node
13: ra_hir_expand::InFile<ra_hir_expand::ast_id_map::FileAstId>::to_node
14: ra_hir_expand::MacroCallKind::node
15: ra_hir_expand::db::parse_macro
16: salsa::runtime::Runtime::execute_query_implementation
17: core::ptr::real_drop_in_place
18: salsa::derived::slot::Slot<DB,Q,MP>::read
19: <salsa::derived::DerivedStorage<DB,Q,MP> as salsa::plumbing::QueryStorageOps<DB,Q>>::try_fetch
20: ::parse_macro
21: ra_hir_expand::db::parse_or_expand
22: ra_hir_expand::db::ast_id_map
23: salsa::runtime::Runtime::execute_query_implementation
24: core::ptr::real_drop_in_place
25: <salsa::derived::slot::Slot<DB,Q,MP> as salsa::dependency::DatabaseSlot>::maybe_changed_since
26: core::ptr::real_drop_in_place
27: <salsa::derived::slot::Slot<DB,Q,MP> as salsa::dependency::DatabaseSlot>::maybe_changed_since
28: core::ptr::real_drop_in_place
29: <salsa::derived::slot::Slot<DB,Q,MP> as salsa::dependency::DatabaseSlot>::maybe_changed_since
30: core::ptr::real_drop_in_place
31: <salsa::derived::slot::Slot<DB,Q,MP> as salsa::dependency::DatabaseSlot>::maybe_changed_since
32: core::ptr::real_drop_in_place
33: salsa::derived::slot::Slot<DB,Q,MP>::read
34: <salsa::derived::DerivedStorage<DB,Q,MP> as salsa::plumbing::QueryStorageOps<DB,Q>>::try_fetch
35: salsa::QueryTable<DB,Q>::get
36: ra_hir::source_binder::SourceBinder::to_module_def
37: ra_hir::source_binder::SourceBinder::find_container
38: ::to_id
39: ra_hir::source_binder::SourceBinder::find_container
40: ra_hir::source_binder::SourceBinder::analyze
41: <once_cell::unsync::Lazy<T,F> as core::ops::deref::Deref>::deref
42: ra_ide::inlay_hints::inlay_hints
43: std::panicking::try::do_call
44: panic_unwind::__rust_maybe_catch_panic
at /rustc/5e1a799842ba6ed4a57e91f7ab9435947482f7d8/src\libpanic_unwind\lib.rs:78
45: ra_db::CheckCanceled::catch_canceled
46: ra_ide::Analysis::inlay_hints
47: rust_analyzer::main_loop::handlers::handle_inlay_hints
48: ::call_box
note: Some details are omitted, run with RUST_BACKTRACE=full for a verbose backtrace.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions