Description
Summary
Helix panics (about 1-2 times a day with ~8 hour usage) with the following error:
Error
$ RUST_BACKTRACE=full GOPACKAGESDRIVER=$PWD/scripts/gopackagesdriver.sh hx
thread 'main' panicked at 'no entry found for key', helix-view/src/document.rs:1006:10
stack backtrace:
0: 0x55bd8c72b384 - <unknown>
1: 0x55bd8bf6965c - <unknown>
2: 0x55bd8c724d65 - <unknown>
3: 0x55bd8c72d22e - <unknown>
4: 0x55bd8c72cf5d - <unknown>
5: 0x55bd8c5b6b5c - <unknown>
6: 0x55bd8c72d8bb - <unknown>
7: 0x55bd8c72d6e4 - <unknown>
8: 0x55bd8c72b8b4 - <unknown>
9: 0x55bd8c72d44d - <unknown>
10: 0x55bd8bee8c33 - <unknown>
11: 0x55bd8bf67d31 - <unknown>
12: 0x55bd8bf67cdb - <unknown>
13: 0x55bd8bee8aa6 - <unknown>
14: 0x55bd8c51965c - <unknown>
15: 0x55bd8c217c29 - <unknown>
16: 0x55bd8c3e7c3f - <unknown>
17: 0x55bd8c5b3845 - <unknown>
18: 0x55bd8c5d0fab - <unknown>
19: 0x55bd8c5a9392 - <unknown>
20: 0x55bd8c591578 - <unknown>
21: 0x55bd8c5f27a8 - <unknown>
22: 0x55bd8c5cdc73 - <unknown>
23: 0x55bd8c589826 - <unknown>
24: 0x55bd8c589953 - <unknown>
25: 0x55bd8c5a908d - <unknown>
26: 0x55bd8c71f5fb - <unknown>
27: 0x55bd8c589932 - <unknown>
28: 0x7f056d9d12d0 - <unknown>
29: 0x7f056d9d138a - __libc_start_main
30: 0x55bd8bf1edd5 - <unknown>
31: 0x0 - <unknown>
I think it happens on save, but not every time I save (I'm saving with :wa
very frequently because of this issue), but it always catches me off guard, so I can never remember exactly what I was doing when it happened.
I don't think GOPACKAGESDRIVER
has anything to do with it, it's just what I use to get Go's LSP working with Bazel. I'm pretty confident I've seen this failure even when not running with GOPACKAGESDRIVER
.
Reproduction Steps
Unfortunately, I don't know exactly what triggers it. I usually have lots of splits open, and it seems to be either a :w
or :wa
command that triggers the failure.
Helix log
~/.cache/helix/helix.log
2022-08-16T09:11:48.686 helix_lsp::transport [ERROR] err <- "walk.go:91: gopathwalk: scanning directory <project directory>: open <project directory>/bazel-<project name>/.postgres-data/data: permission denied\n"
2022-08-16T09:12:15.077 helix_lsp::transport [ERROR] err <- "walk.go:91: gopathwalk: scanning directory <project directory>: open <project directory>/bazel-<project name>/.postgres-data/data: permission denied\n"
2022-08-16T09:13:57.611 helix_lsp::transport [ERROR] err <- "walk.go:91: gopathwalk: scanning directory <project directory>: open <project directory>/bazel-<project name>/.postgres-data/data: permission denied\n"
2022-08-16T09:46:32.853 helix_view::editor [ERROR] Failed to initialize the LSP for `source.md` { LSP not defined }
2022-08-16T09:46:41.629 helix_view::editor [ERROR] Failed to initialize the LSP for `source.md` { LSP not defined }
2022-08-16T09:48:56.085 helix_lsp::transport [ERROR] err <- "walk.go:91: gopathwalk: scanning directory <project directory>: open <project directory>/bazel-<project name>/.postgres-data/data: permission denied\n"
2022-08-16T09:48:59.795 helix_lsp::transport [ERROR] err: <- StreamClosed
2022-08-16T09:49:58.990 helix_lsp::transport [ERROR] err <- "walk.go:91: gopathwalk: scanning directory <project directory>: open <project directory>/bazel-<project name>/.postgres-data/data: permission denied\n"
2022-08-16T09:58:05.710 helix_lsp::transport [ERROR] err: <- StreamClosed
2022-08-16T09:58:08.114 helix_lsp::transport [ERROR] err: <- StreamClosed
2022-08-16T09:59:01.288 helix_lsp::transport [ERROR] err <- "walk.go:91: gopathwalk: scanning directory <project directory>: open <project directory>/bazel-<project name>/.postgres-data/data: permission denied\n"
2022-08-16T09:59:31.375 helix_lsp::transport [ERROR] err <- "walk.go:91: gopathwalk: scanning directory <project directory>: open <project directory>/bazel-<project name>/.postgres-data/data: permission denied\n"
2022-08-16T10:00:07.235 helix_lsp::transport [ERROR] err <- "walk.go:91: gopathwalk: scanning directory <project directory>: open <project directory>/bazel-<project name>/.postgres-data/data: permission denied\n"
2022-08-16T10:01:48.057 helix_lsp::transport [ERROR] err <- "walk.go:91: gopathwalk: scanning directory <project directory>: open <project directory>/bazel-<project name>/.postgres-data/data: permission denied\n"
2022-08-16T10:03:10.204 helix_lsp::transport [ERROR] err <- "walk.go:91: gopathwalk: scanning directory <project directory>: open <project directory>/bazel-<project name>/.postgres-data/data: permission denied\n"
2022-08-16T10:10:03.673 helix_lsp::transport [ERROR] err: <- StreamClosed
2022-08-16T10:10:15.765 helix_view::editor [ERROR] Failed to initialize the LSP for `git.commitmsg` { LSP not defined }
2022-08-16T10:25:57.120 helix_lsp::transport [ERROR] err: <- StreamClosed
2022-08-16T10:46:11.049 helix_lsp::transport [ERROR] <- ServerError(0): 14:21: string literal not terminated (and 2 more errors)
2022-08-16T10:46:11.050 helix_view::document [WARN] LSP formatting failed: protocol error: ServerError(0): 14:21: string literal not terminated (and 2 more errors)
2022-08-16T10:54:14.696 helix_lsp::transport [ERROR] err <- "walk.go:91: gopathwalk: scanning directory <project directory>: open <project directory>/bazel-<project name>/.postgres-data/data: permission denied\n"
2022-08-16T10:54:22.729 helix_lsp::transport [ERROR] err <- "walk.go:91: gopathwalk: scanning directory <project directory>: open <project directory>/bazel-<project name>/.postgres-data/data: permission denied\n"
2022-08-16T10:55:39.396 helix_lsp::transport [ERROR] err <- "walk.go:91: gopathwalk: scanning directory <project directory>: open <project directory>/bazel-<project name>/.postgres-data/data: permission denied\n"
2022-08-16T10:56:59.820 helix_view::editor [ERROR] Failed to initialize the LSP for `source.sql` { LSP not defined }
2022-08-16T10:57:07.583 helix_view::editor [ERROR] Failed to initialize the LSP for `source.sql` { LSP not defined }
2022-08-16T10:59:05.821 helix_lsp::transport [ERROR] err <- "walk.go:91: gopathwalk: scanning directory <project directory>: open <project directory>/bazel-<project name>/.postgres-data/data: permission denied\n"
2022-08-16T10:59:40.993 helix_lsp::transport [ERROR] err <- "walk.go:91: gopathwalk: scanning directory <project directory>: open <project directory>/bazel-<project name>/.postgres-data/data: permission denied\n"
2022-08-16T10:59:57.991 helix_view::editor [ERROR] Failed to initialize the LSP for `source.sql` { LSP not defined }
2022-08-16T11:04:37.385 helix_lsp::transport [ERROR] err <- "walk.go:91: gopathwalk: scanning directory <project directory>: open <project directory>/bazel-<project name>/.postgres-data/data: permission denied\n"
2022-08-16T11:05:12.052 helix_lsp::transport [ERROR] err <- "walk.go:91: gopathwalk: scanning directory <project directory>: open <project directory>/bazel-<project name>/.postgres-data/data: permission denied\n"
2022-08-16T11:05:46.337 helix_lsp::transport [ERROR] err <- "walk.go:91: gopathwalk: scanning directory <project directory>: open <project directory>/bazel-<project name>/.postgres-data/data: permission denied\n"
2022-08-16T11:08:33.941 helix_lsp::transport [ERROR] err <- "walk.go:91: gopathwalk: scanning directory <project directory>: open <project directory>/bazel-<project name>/.postgres-data/data: permission denied\n"
2022-08-16T11:09:06.968 helix_lsp::transport [ERROR] err <- "walk.go:91: gopathwalk: scanning directory <project directory>: open <project directory>/bazel-<project name>/.postgres-data/data: permission denied\n"
2022-08-16T11:11:42.715 helix_lsp::transport [ERROR] err <- "walk.go:91: gopathwalk: scanning directory <project directory>: open <project directory>/bazel-<project name>/.postgres-data/data: permission denied\n"
2022-08-16T11:12:32.145 helix_lsp::transport [ERROR] err <- "walk.go:91: gopathwalk: scanning directory <project directory>: open <project directory>/bazel-<project name>/.postgres-data/data: permission denied\n"
2022-08-16T11:19:10.376 helix_lsp::transport [ERROR] err <- "walk.go:91: gopathwalk: scanning directory <project directory>: open <project directory>/bazel-<project name>/.postgres-data/data: permission denied\n"
2022-08-16T11:22:27.091 helix_lsp::transport [ERROR] err <- "walk.go:91: gopathwalk: scanning directory <project directory>: open <project directory>/bazel-<project name>/.postgres-data/data: permission denied\n"
2022-08-16T11:23:53.661 helix_lsp::transport [ERROR] err <- "walk.go:91: gopathwalk: scanning directory <project directory>: open <project directory>/bazel-<project name>/.postgres-data/data: permission denied\n"
2022-08-16T11:24:57.772 helix_lsp::transport [ERROR] err <- "walk.go:91: gopathwalk: scanning directory <project directory>: open <project directory>/bazel-<project name>/.postgres-data/data: permission denied\n"
2022-08-16T11:25:54.567 helix_lsp::transport [ERROR] err <- "walk.go:91: gopathwalk: scanning directory <project directory>: open <project directory>/bazel-<project name>/.postgres-data/data: permission denied\n"
2022-08-16T11:26:27.158 helix_lsp::transport [ERROR] err <- "walk.go:91: gopathwalk: scanning directory <project directory>: open <project directory>/bazel-<project name>/.postgres-data/data: permission denied\n"
2022-08-16T11:27:15.928 helix_lsp::transport [ERROR] err <- "walk.go:91: gopathwalk: scanning directory <project directory>: open <project directory>/bazel-<project name>/.postgres-data/data: permission denied\n"
2022-08-16T11:28:08.760 helix_lsp::transport [ERROR] err <- "walk.go:91: gopathwalk: scanning directory <project directory>: open <project directory>/bazel-<project name>/.postgres-data/data: permission denied\n"
2022-08-16T11:29:00.692 helix_lsp::transport [ERROR] err <- "walk.go:91: gopathwalk: scanning directory <project directory>: open <project directory>/bazel-<project name>/.postgres-data/data: permission denied\n"
2022-08-16T11:29:32.137 helix_lsp::transport [ERROR] err <- "walk.go:91: gopathwalk: scanning directory <project directory>: open <project directory>/bazel-<project name>/.postgres-data/data: permission denied\n"
2022-08-16T11:30:34.538 helix_lsp::transport [ERROR] err <- "walk.go:91: gopathwalk: scanning directory <project directory>: open <project directory>/bazel-<project name>/.postgres-data/data: permission denied\n"
2022-08-16T11:31:39.642 helix_lsp::transport [ERROR] err <- "walk.go:91: gopathwalk: scanning directory <project directory>: open <project directory>/bazel-<project name>/.postgres-data/data: permission denied\n"
2022-08-16T11:32:53.320 helix_lsp::transport [ERROR] err <- "walk.go:91: gopathwalk: scanning directory <project directory>: open <project directory>/bazel-<project name>/.postgres-data/data: permission denied\n"
2022-08-16T11:35:36.503 helix_lsp::transport [ERROR] err <- "walk.go:91: gopathwalk: scanning directory <project directory>: open <project directory>/bazel-<project name>/.postgres-data/data: permission denied\n"
2022-08-16T11:41:17.265 helix_lsp::transport [ERROR] err <- "walk.go:91: gopathwalk: scanning directory <project directory>: open <project directory>/bazel-<project name>/.postgres-data/data: permission denied\n"
2022-08-16T11:47:09.087 helix_term::application [WARN] lsp position out of bounds - Diagnostic { range: Range { start: Position { line: 142, character: 0 }, end: Position { line: 142, character: 0 } }, severity: Some(Error), code: None, code_description: None, source: Some("syntax"), message: "expected ';', found 'EOF'", related_information: None, tags: None, data: None }
2022-08-16T11:47:09.270 helix_term::application [WARN] lsp position out of bounds - Diagnostic { range: Range { start: Position { line: 143, character: 0 }, end: Position { line: 143, character: 0 } }, severity: Some(Error), code: None, code_description: None, source: Some("syntax"), message: "expected ';', found 'EOF'", related_information: None, tags: None, data: None }
2022-08-16T11:47:09.423 helix_term::application [WARN] lsp position out of bounds - Diagnostic { range: Range { start: Position { line: 144, character: 0 }, end: Position { line: 144, character: 0 } }, severity: Some(Error), code: None, code_description: None, source: Some("syntax"), message: "expected ';', found 'EOF'", related_information: None, tags: None, data: None }
2022-08-16T11:47:15.815 helix_lsp::transport [ERROR] err <- "walk.go:91: gopathwalk: scanning directory <project directory>: open <project directory>/bazel-<project name>/.postgres-data/data: permission denied\n"
2022-08-16T11:48:13.727 helix_term::application [WARN] lsp position out of bounds - Diagnostic { range: Range { start: Position { line: 148, character: 0 }, end: Position { line: 148, character: 0 } }, severity: Some(Error), code: None, code_description: None, source: Some("syntax"), message: "expected ';', found 'EOF'", related_information: None, tags: None, data: None }
2022-08-16T11:48:13.898 helix_term::application [WARN] lsp position out of bounds - Diagnostic { range: Range { start: Position { line: 149, character: 0 }, end: Position { line: 149, character: 0 } }, severity: Some(Error), code: None, code_description: None, source: Some("syntax"), message: "expected ';', found 'EOF'", related_information: None, tags: None, data: None }
2022-08-16T11:48:37.571 helix_lsp::transport [ERROR] err <- "walk.go:91: gopathwalk: scanning directory <project directory>: open <project directory>/bazel-<project name>/.postgres-data/data: permission denied\n"
2022-08-16T11:49:26.443 helix_lsp::transport [ERROR] err <- "walk.go:91: gopathwalk: scanning directory <project directory>: open <project directory>/bazel-<project name>/.postgres-data/data: permission denied\n"
2022-08-16T11:50:01.018 helix_term::application [WARN] lsp position out of bounds - Diagnostic { range: Range { start: Position { line: 154, character: 0 }, end: Position { line: 154, character: 0 } }, severity: Some(Error), code: None, code_description: None, source: Some("syntax"), message: "expected ';', found 'EOF'", related_information: None, tags: None, data: None }
2022-08-16T11:50:01.220 helix_term::application [WARN] lsp position out of bounds - Diagnostic { range: Range { start: Position { line: 155, character: 0 }, end: Position { line: 155, character: 0 } }, severity: Some(Error), code: None, code_description: None, source: Some("syntax"), message: "expected ';', found 'EOF'", related_information: None, tags: None, data: None }
2022-08-16T11:50:01.359 helix_term::application [WARN] lsp position out of bounds - Diagnostic { range: Range { start: Position { line: 156, character: 0 }, end: Position { line: 156, character: 0 } }, severity: Some(Error), code: None, code_description: None, source: Some("syntax"), message: "expected ';', found 'EOF'", related_information: None, tags: None, data: None }
2022-08-16T11:50:39.381 helix_lsp::transport [ERROR] err <- "walk.go:91: gopathwalk: scanning directory <project directory>: open <project directory>/bazel-<project name>/.postgres-data/data: permission denied\n"
2022-08-16T11:50:51.460 helix_term::application [WARN] lsp position out of bounds - Diagnostic { range: Range { start: Position { line: 159, character: 0 }, end: Position { line: 159, character: 0 } }, severity: Some(Error), code: None, code_description: None, source: Some("syntax"), message: "expected ';', found 'EOF'", related_information: None, tags: None, data: None }
2022-08-16T11:50:51.629 helix_term::application [WARN] lsp position out of bounds - Diagnostic { range: Range { start: Position { line: 160, character: 0 }, end: Position { line: 160, character: 0 } }, severity: Some(Error), code: None, code_description: None, source: Some("syntax"), message: "expected ';', found 'EOF'", related_information: None, tags: None, data: None }
2022-08-16T11:51:09.160 helix_term::application [WARN] lsp position out of bounds - Diagnostic { range: Range { start: Position { line: 162, character: 0 }, end: Position { line: 162, character: 0 } }, severity: Some(Error), code: None, code_description: None, source: Some("syntax"), message: "expected ';', found 'EOF'", related_information: None, tags: None, data: None }
2022-08-16T11:51:09.309 helix_term::application [WARN] lsp position out of bounds - Diagnostic { range: Range { start: Position { line: 163, character: 0 }, end: Position { line: 163, character: 0 } }, severity: Some(Error), code: None, code_description: None, source: Some("syntax"), message: "expected ';', found 'EOF'", related_information: None, tags: None, data: None }
2022-08-16T11:51:09.460 helix_term::application [WARN] lsp position out of bounds - Diagnostic { range: Range { start: Position { line: 164, character: 0 }, end: Position { line: 164, character: 0 } }, severity: Some(Error), code: None, code_description: None, source: Some("syntax"), message: "expected ';', found 'EOF'", related_information: None, tags: None, data: None }
2022-08-16T11:51:56.141 helix_lsp::transport [ERROR] err <- "walk.go:91: gopathwalk: scanning directory <project directory>: open <project directory>/bazel-<project name>/.postgres-data/data: permission denied\n"
2022-08-16T11:52:33.431 helix_lsp::transport [ERROR] err <- "walk.go:91: gopathwalk: scanning directory <project directory>: open <project directory>/bazel-<project name>/.postgres-data/data: permission denied\n"
2022-08-16T11:54:42.422 helix_lsp::transport [ERROR] err <- "walk.go:91: gopathwalk: scanning directory <project directory>: open <project directory>/bazel-<project name>/.postgres-data/data: permission denied\n"
2022-08-16T11:55:27.757 helix_lsp::transport [ERROR] err <- "walk.go:91: gopathwalk: scanning directory <project directory>: open <project directory>/bazel-<project name>/.postgres-data/data: permission denied\n"
2022-08-16T11:56:01.825 helix_lsp::transport [ERROR] err <- "walk.go:91: gopathwalk: scanning directory <project directory>: open <project directory>/bazel-<project name>/.postgres-data/data: permission denied\n"
2022-08-16T11:57:10.284 helix_lsp::transport [ERROR] err <- "walk.go:91: gopathwalk: scanning directory <project directory>: open <project directory>/bazel-<project name>/.postgres-data/data: permission denied\n"
2022-08-16T11:58:05.591 helix_lsp::transport [ERROR] err <- "walk.go:91: gopathwalk: scanning directory <project directory>: open <project directory>/bazel-<project name>/.postgres-data/data: permission denied\n"
2022-08-16T11:58:38.891 helix_lsp::transport [ERROR] err <- "walk.go:91: gopathwalk: scanning directory <project directory>: open <project directory>/bazel-<project name>/.postgres-data/data: permission denied\n"
Most of these errors are related to $PROJECT/.postgres-data/data
, which is owned by some other user (it's running in a Docker container). I believe I've seen this failure in other projects that wouldn't have this .postgres-data
directory, and also when editing non-Go projects (e.g. TypeScript)
Platform
Linux
Terminal Emulator
st (4ef0cbd8)
Helix Version
helix 22.05 (8deaebd) (built from HEAD ~4 days ago)