-
Notifications
You must be signed in to change notification settings - Fork 256
rls-preview 1.31.6 (daa138c 2018-11-20) eats CPU after trying to display docs of dns_parser::Packet #1168
Comments
Those are hover/tooltip tasks. Can you reproduce it on a public repo, hovering on something? @aloucks maybe getting stuck in extract_docs? Lines 83 to 229 in cd79447
|
Tried hovering on all things in the source code and finally it failed to display the tooptip and started eating CPU. Also After restart, hovering on the same item also triggers the bug. First hover: "Loading...", then the tooltip disappears and first task is locked up. Second hover: "Loading..." and the second task locks up. Third and subsequent hovers don't show "Loading...". |
Simple repro:
[package]
name = "lol"
version = "0.1.0"
authors = ["Vitaly _Vi Shukela <[email protected]>"]
edition = "2018"
[dependencies]
dns-parser = "=0.8.0"
fn main() {
let _ : dns_parser::Packet;
} Hover on |
Great, thanks I can reproduce it. It is as I suspected the extract_docs loop. |
This will be fixed in Rust 1.31.1, scheduled to be released on Thursday 20th. |
@vi can you check if this is fixed in Rust 1.31.1? You can download the pre-release with:
|
@pietroalbini , I already saw it fixed on NIghtly. How to I point vscode to stable's RLS instead of nightly's? |
Hmm, I don't actually use RLS, so unfortunately I don't know |
Unrelated, but starting
, while And the project is |
@pietroalbini I can confirm this is fixed in the pre-release channel. The fn main() {
let _: dns_parser::Packet;
} Thanks for the backport! |
strace -cf
shows 100% offutex
syscallstrace -cp 15925
,^Z
makes the other busy thread go 100% CPU. Resuming the thread restores 90%/90% behaviourgdb backtraces. Offending tasks are 15924 and 15925:
The text was updated successfully, but these errors were encountered: