Skip to content

impl causes RA to crash repeatedly overflowing stack #11902

Closed
@KerfuffleV2

Description

@KerfuffleV2

rust-analyzer version: rust-analyzer version: 5a6918f1c 2022-04-05 nightly

rustc version: rustc 1.60.0-beta.6 (7bccde197 2022-03-22)

relevant settings:

VS Codium 1.66.0 (using VS Code marketplace)

Preferences:

{
  "rust-analyzer.checkOnSave.command": "clippy",
  "rust-analyzer.highlighting.strings": true,
  "rust-analyzer.lens.methodReferences": true,
  "rust-analyzer.lens.references": true,
  "rust-analyzer.procMacro.enable": true,
  "rust-analyzer.server.extraEnv": {
    "CHALK_OVERFLOW_DEPTH": "3000",
    "CHALK_SOLVER_MAX_SIZE": "1500"
  },
  "rust-analyzer.cache.warmup": false,
  "rust-analyzer.experimental.procAttrMacros": false,
  "rust-analyzer.diagnostics.enableExperimental": false,
  "rust-analyzer.inlayHints.reborrowHints": true,
  "rust-analyzer.inlayHints.closureReturnTypeHints": true,
  "rust-analyzer.inlayHints.lifetimeElisionHints.useParameterNames": true,
  "rust-analyzer.inlayHints.lifetimeElisionHints": "always",
  "rust-analyzer.inlayHints.hideNamedConstructorHints": true,
  "rust-analyzer.checkOnSave.extraArgs": ["--no-deps"],
  "rust-analyzer.inlayHints.lifetimeElisionHints.enable": "skip_trivial"
}

This small code fragment causes RA to repeatedly crash until it disables itself:

[package]
name = "testaes"
version = "0.1.0"
edition = "2021"

[dependencies]
aes = "=0.8.1"
use aes::cipher::{generic_array::GenericArray, BlockCipher, KeySizeUser};

struct Testy<CI>(CI);

impl<CI: BlockCipher + KeySizeUser> Testy<CI> {
    pub fn new(_key: GenericArray<u8, <CI as KeySizeUser>::KeySize>) {}
}

fn main() {}

Example output from a crash:

thread '<unknown>' has overflowed its stack
fatal runtime error: stack overflow
[Error - 2:44:59 AM] The Rust Analyzer Language Server server crashed 5 times in the last 3 minutes. The server will not be restarted. See the output for more information.
[Error - 2:44:59 AM] Request textDocument/semanticTokens/full failed.
Error: Connection got disposed.
	at Object.dispose (/home/some_user/.vscode-oss/extensions/matklad.rust-analyzer-0.3.1003-linux-x64/out/main.js:32:4437)
	at Object.dispose (/home/some_user/.vscode-oss/extensions/matklad.rust-analyzer-0.3.1003-linux-x64/out/main.js:37:12019)
	at Rg.handleConnectionClosed (/home/some_user/.vscode-oss/extensions/matklad.rust-analyzer-0.3.1003-linux-x64/out/main.js:39:9883)
	at Rg.handleConnectionClosed (/home/some_user/.vscode-oss/extensions/matklad.rust-analyzer-0.3.1003-linux-x64/out/main.js:39:80621)
	at t (/home/some_user/.vscode-oss/extensions/matklad.rust-analyzer-0.3.1003-linux-x64/out/main.js:39:9591)
	at zd.invoke (/home/some_user/.vscode-oss/extensions/matklad.rust-analyzer-0.3.1003-linux-x64/out/main.js:5:14370)
	at Ri.fire (/home/some_user/.vscode-oss/extensions/matklad.rust-analyzer-0.3.1003-linux-x64/out/main.js:5:15139)
	at qt (/home/some_user/.vscode-oss/extensions/matklad.rust-analyzer-0.3.1003-linux-x64/out/main.js:6:6354)
	at zd.invoke (/home/some_user/.vscode-oss/extensions/matklad.rust-analyzer-0.3.1003-linux-x64/out/main.js:5:14370)
	at Ri.fire (/home/some_user/.vscode-oss/extensions/matklad.rust-analyzer-0.3.1003-linux-x64/out/main.js:5:15139)
	at ca.fireClose (/home/some_user/.vscode-oss/extensions/matklad.rust-analyzer-0.3.1003-linux-x64/out/main.js:5:17394)
	at Socket.<anonymous> (/home/some_user/.vscode-oss/extensions/matklad.rust-analyzer-0.3.1003-linux-x64/out/main.js:5:18924)
	at Socket.emit (node:events:402:35)
	at Pipe.<anonymous> (node:net:687:12)

Please let me know if any further details would be helpful.

Metadata

Metadata

Assignees

No one assigned

    Labels

    A-tytype system / type inference / traits / method resolutionC-supportCategory: support questions

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions