Stream: t-compiler/rust-analyzer

Topic: Long hangs in publish_diagnostics


Jonas Schievink [he/him] (Dec 04 2020 at 17:47, on Zulip):

Did anything change in the hir_ty diagnostics recently? I'm seeing pretty long hangs in there now:

11841ms - publish_diagnostics
    11834ms - diagnostics
        11645ms - Module::diagnostics
            11638ms - Module::diagnostics
                  715ms - validate_module_item
                      711ms - find_all_refs
                          710ms - FindUsages:search
                                1ms - classify_name (161 calls)
                               50ms - classify_name_ref (826 calls)
                                0ms - crate_def_map:wait (1 calls)
                              155ms - descend_into_macros (798 calls)
                              463ms - parse_query (200 calls)
                                0ms - search_scope (1 calls)
Florian Diebold (Dec 04 2020 at 17:51, on Zulip):

that seems like it's some quickfix calling find_all_refs?

Florian Diebold (Dec 04 2020 at 17:53, on Zulip):

hm well that's only a small part of the time though

Jonas Schievink [he/him] (Dec 04 2020 at 18:01, on Zulip):

Hmm, not sure how to repro it, but the validate_module_item part was repeating a lot

Laurențiu (Dec 04 2020 at 18:46, on Zulip):

Might be https://github.com/rust-analyzer/rust-analyzer/issues/6433

Jonas Schievink [he/him] (Dec 04 2020 at 18:47, on Zulip):

Yeah

Jonas Schievink [he/him] (Dec 04 2020 at 18:49, on Zulip):

It looks like navigating to crates/proc_macro_srv/src/proc_macro/bridge/mod.rs reproduces the issue, but I was also seeing some salsa panics when viewing that file, which makes it a bit hard to work with

Last update: Jul 29 2021 at 08:30UTC