nvarner / typst-lsp

A brand-new language server for Typst, plus a VS Code extension
MIT License
1.19k stars 77 forks source link

Typst LSP Crash every 5 min (vscode extension) #450

Open pragmatically-dev opened 6 months ago

pragmatically-dev commented 6 months ago

Issue

The extension crash mostly when I'm writting expressions like:

#set 
or
#let 

Logs

[Info - 1:28:39 PM] src\workspace\package\external\manager.rs:52 { message = got user external package directory; user = LocalProvider { root: "C:\Users\nieva\AppData\Roaming\typst/packages/" }; } [Info - 1:28:39 PM] src\workspace\package\external\manager.rs:62 { message = got external package cache; cache = LocalProvider { root: "C:\Users\nieva\AppData\Local\typst/packages/" }; } [Info - 1:28:39 PM] src\workspace\package\manager.rs:42 { message = initialized package manager; current = {Url { scheme: "file", cannot_be_a_base: false, username: "", password: None, host: None, port: None, path: "/c%3A/Users/nieva/Desktop/FaMAF-SN-Notes", query: None, fragment: None }: Package { root: "file:///c%3A/Users/nieva/Desktop/FaMAF-SN-Notes" }}; external = ExternalPackageManager { providers: [LocalProvider { root: "C:\Users\nieva\AppData\Roaming\typst/packages/" }, LocalProvider { root: "C:\Users\nieva\AppData\Local\typst/packages/" }], cache: Some(LocalProvider { root: "C:\Users\nieva\AppData\Local\typst/packages/" }), repo: Some(RemoteRepoProvider { base_url: Url { scheme: "https", cannot_be_a_base: false, username: "", password: None, host: Some(Domain("packages.typst.org")), port: None, path: "/", query: None, fragment: None }, client: Client { accepts: Accepts, proxies: [Proxy(System({}), None)], referer: true, default_headers: {"accept": "/"}, timeout: 30s } }), packages: OnceCell { value: None } }; } [Info - 1:28:41 PM] src\server\lsp.rs:238 { message = server initialized; } thread '' panicked at src\lsp_typst_boundary.rs:97:78: called Option::unwrap() on a None value stack backtrace: note: Some details are omitted, run with RUST_BACKTRACE=full for a verbose backtrace. thread 'main' panicked at src\workspace\world\typst_thread.rs:71:24: called Result::unwrap() on an Err value: RecvError(()) stack backtrace: note: Some details are omitted, run with RUST_BACKTRACE=full for a verbose backtrace. [Info - 1:28:43 PM] Connection to server got closed. Server will restart. true [Error - 1:28:43 PM] Server process exited with code 101. [Info - 1:28:44 PM] src\workspace\package\external\manager.rs:52 { message = got user external package directory; user = LocalProvider { root: "C:\Users\nieva\AppData\Roaming\typst/packages/" }; } [Info - 1:28:44 PM] src\workspace\package\external\manager.rs:62 { message = got external package cache; cache = LocalProvider { root: "C:\Users\nieva\AppData\Local\typst/packages/" }; } [Info - 1:28:44 PM] src\workspace\package\manager.rs:42 { message = initialized package manager; current = {Url { scheme: "file", cannot_be_a_base: false, username: "", password: None, host: None, port: None, path: "/c%3A/Users/nieva/Desktop/FaMAF-SN-Notes", query: None, fragment: None }: Package { root: "file:///c%3A/Users/nieva/Desktop/FaMAF-SN-Notes" }}; external = ExternalPackageManager { providers: [LocalProvider { root: "C:\Users\nieva\AppData\Roaming\typst/packages/" }, LocalProvider { root: "C:\Users\nieva\AppData\Local\typst/packages/" }], cache: Some(LocalProvider { root: "C:\Users\nieva\AppData\Local\typst/packages/" }), repo: Some(RemoteRepoProvider { base_url: Url { scheme: "https", cannot_be_a_base: false, username: "", password: None, host: Some(Domain("packages.typst.org")), port: None, path: "/", query: None, fragment: None }, client: Client { accepts: Accepts, proxies: [Proxy(System({}), None)], referer: true, default_headers: {"accept": "/"}, timeout: 30s } }), packages: OnceCell { value: None } }; } [Info - 1:28:44 PM] src\server\lsp.rs:238 { message = server initialized; } thread '' panicked at src\lsp_typst_boundary.rs:97:78: called Option::unwrap() on a None value stack backtrace: note: Some details are omitted, run with RUST_BACKTRACE=full for a verbose backtrace. thread 'main' panicked at src\workspace\world\typst_thread.rs:71:24: called Result::unwrap() on an Err value: RecvError(()) stack backtrace: note: Some details are omitted, run with RUST_BACKTRACE=full for a verbose backtrace. [Info - 1:28:44 PM] Connection to server got closed. Server will restart. true [Error - 1:28:45 PM] Server process exited with code 101. [Info - 1:28:45 PM] src\workspace\package\external\manager.rs:52 { message = got user external package directory; user = LocalProvider { root: "C:\Users\nieva\AppData\Roaming\typst/packages/" }; } [Info - 1:28:45 PM] src\workspace\package\external\manager.rs:62 { message = got external package cache; cache = LocalProvider { root: "C:\Users\nieva\AppData\Local\typst/packages/" }; } [Info - 1:28:45 PM] src\workspace\package\manager.rs:42 { message = initialized package manager; current = {Url { scheme: "file", cannot_be_a_base: false, username: "", password: None, host: None, port: None, path: "/c%3A/Users/nieva/Desktop/FaMAF-SN-Notes", query: None, fragment: None }: Package { root: "file:///c%3A/Users/nieva/Desktop/FaMAF-SN-Notes" }}; external = ExternalPackageManager { providers: [LocalProvider { root: "C:\Users\nieva\AppData\Roaming\typst/packages/" }, LocalProvider { root: "C:\Users\nieva\AppData\Local\typst/packages/" }], cache: Some(LocalProvider { root: "C:\Users\nieva\AppData\Local\typst/packages/" }), repo: Some(RemoteRepoProvider { base_url: Url { scheme: "https", cannot_be_a_base: false, username: "", password: None, host: Some(Domain("packages.typst.org")), port: None, path: "/", query: None, fragment: None }, client: Client { accepts: Accepts, proxies: [Proxy(System({}), None)], referer: true, default_headers: {"accept": "/"}, timeout: 30s } }), packages: OnceCell { value: None } }; } [Info - 1:28:45 PM] src\server\lsp.rs:238 { message = server initialized; } thread '' panicked at src\lsp_typst_boundary.rs:97:78: called Option::unwrap() on a None value stack backtrace: note: Some details are omitted, run with RUST_BACKTRACE=full for a verbose backtrace. thread 'main' panicked at src\workspace\world\typst_thread.rs:71:24: called Result::unwrap() on an Err value: RecvError(()) stack backtrace: note: Some details are omitted, run with RUST_BACKTRACE=full for a verbose backtrace. [Info - 1:28:50 PM] Connection to server got closed. Server will restart. true [Error - 1:28:50 PM] Server process exited with code 101. [Info - 1:28:51 PM] src\workspace\package\external\manager.rs:52 { message = got user external package directory; user = LocalProvider { root: "C:\Users\nieva\AppData\Roaming\typst/packages/" }; } [Info - 1:28:51 PM] src\workspace\package\external\manager.rs:62 { message = got external package cache; cache = LocalProvider { root: "C:\Users\nieva\AppData\Local\typst/packages/" }; } [Info - 1:28:51 PM] src\workspace\package\manager.rs:42 { message = initialized package manager; current = {Url { scheme: "file", cannot_be_a_base: false, username: "", password: None, host: None, port: None, path: "/c%3A/Users/nieva/Desktop/FaMAF-SN-Notes", query: None, fragment: None }: Package { root: "file:///c%3A/Users/nieva/Desktop/FaMAF-SN-Notes" }}; external = ExternalPackageManager { providers: [LocalProvider { root: "C:\Users\nieva\AppData\Roaming\typst/packages/" }, LocalProvider { root: "C:\Users\nieva\AppData\Local\typst/packages/" }], cache: Some(LocalProvider { root: "C:\Users\nieva\AppData\Local\typst/packages/" }), repo: Some(RemoteRepoProvider { base_url: Url { scheme: "https", cannot_be_a_base: false, username: "", password: None, host: Some(Domain("packages.typst.org")), port: None, path: "/", query: None, fragment: None }, client: Client { accepts: Accepts, proxies: [Proxy(System({}), None)], referer: true, default_headers: {"accept": "/"}, timeout: 30s } }), packages: OnceCell { value: None } }; } [Info - 1:28:51 PM] src\server\lsp.rs:238 { message = server initialized; } thread '' panicked at src\lsp_typst_boundary.rs:97:78: called Option::unwrap() on a None value stack backtrace: note: Some details are omitted, run with RUST_BACKTRACE=full for a verbose backtrace. thread 'main' panicked at src\workspace\world\typst_thread.rs:71:24: called Result::unwrap() on an Err value: RecvError(()) stack backtrace: note: Some details are omitted, run with RUST_BACKTRACE=full for a verbose backtrace. [Info - 1:28:51 PM] Connection to server got closed. Server will restart. true [Error - 1:28:51 PM] Server process exited with code 101. [Info - 1:28:51 PM] src\workspace\package\external\manager.rs:52 { message = got user external package directory; user = LocalProvider { root: "C:\Users\nieva\AppData\Roaming\typst/packages/" }; } [Info - 1:28:51 PM] src\workspace\package\external\manager.rs:62 { message = got external package cache; cache = LocalProvider { root: "C:\Users\nieva\AppData\Local\typst/packages/" }; } [Info - 1:28:51 PM] src\workspace\package\manager.rs:42 { message = initialized package manager; current = {Url { scheme: "file", cannot_be_a_base: false, username: "", password: None, host: None, port: None, path: "/c%3A/Users/nieva/Desktop/FaMAF-SN-Notes", query: None, fragment: None }: Package { root: "file:///c%3A/Users/nieva/Desktop/FaMAF-SN-Notes" }}; external = ExternalPackageManager { providers: [LocalProvider { root: "C:\Users\nieva\AppData\Roaming\typst/packages/" }, LocalProvider { root: "C:\Users\nieva\AppData\Local\typst/packages/" }], cache: Some(LocalProvider { root: "C:\Users\nieva\AppData\Local\typst/packages/" }), repo: Some(RemoteRepoProvider { base_url: Url { scheme: "https", cannot_be_a_base: false, username: "", password: None, host: Some(Domain("packages.typst.org")), port: None, path: "/", query: None, fragment: None }, client: Client { accepts: Accepts, proxies: [Proxy(System({}), None)], referer: true, default_headers: {"accept": "/"}, timeout: 30s } }), packages: OnceCell { value: None } }; } [Info - 1:28:51 PM] src\server\lsp.rs:238 { message = server initialized; } thread '' panicked at src\lsp_typst_boundary.rs:101:58: called Option::unwrap() on a None value stack backtrace: note: Some details are omitted, run with RUST_BACKTRACE=full for a verbose backtrace. thread 'main' panicked at src\workspace\world\typst_thread.rs:71:24: called Result::unwrap() on an Err value: RecvError(()) stack backtrace: note: Some details are omitted, run with RUST_BACKTRACE=full for a verbose backtrace. [Error - 1:30:32 PM] The Typst Language Server server crashed 5 times in the last 3 minutes. The server will not be restarted. See the output for more information. [Error - 1:30:32 PM] Server process exited with code 101.

My current setup is vscode + Typst LSP extension + Typst Preview
ivaquero commented 6 months ago

Same issue on macOS

igorlfs commented 6 months ago

Also facing a similar issue on Linux + neovim

EDIT: Actually, after updating the typst CLI to v0.11, the issue seems to be gone.

grinlemon commented 6 months ago

I'm on macOS with typst CLI in v0.11 and typst-lsp in v0.13.0 and face the exact same issue. Has someone found anything about it? Thanks!

StructSeeker commented 4 months ago

Have the same issue on windows with typst v0.11 and typst-lsp v0.13. On verbose mode:

[Info - 2:44:42 PM] src\workspace\package\manager.rs:43 { message = initialized package manager; current = {Url { scheme: "file", cannot_be_a_base: false, username: "", password: None, host: None, port: None, path: "/c%3A/Users/StructSeeker/Syncthing/Notes", query: None, fragment: None }: Package { root: "file:///c%3A/Users/StructSeeker/Syncthing/Notes" }}; external = ExternalPackageManager { providers: [LocalProvider { root: "C:\Users\StructSeeker\AppData\Roaming\typst/packages/" }, LocalProvider { root: "C:\Users\StructSeeker\AppData\Local\typst/packages/" }], cache: Some(LocalProvider { root: "C:\Users\StructSeeker\AppData\Local\typst/packages/" }), repo: Some(RemoteRepoProvider { base_url: Url { scheme: "https", cannot_be_a_base: false, username: "", password: None, host: Some(Domain("packages.typst.org")), port: None, path: "/", query: None, fragment: None }, client: Client { accepts: Accepts, proxies: [Proxy(System({"http": http://127.0.0.1:7897, "https": http://127.0.0.1:7897}), None)], referer: true, default_headers: {"accept": "/"}, timeout: 30s } }), packages: OnceCell { value: None } }; } [Info - 2:44:42 PM] src\server\lsp.rs:238 { message = server initialized; } thread '' panicked at src\lsp_typst_boundary.rs:101:58: called Option::unwrap() on a None value stack backtrace: note: Some details are omitted, run with RUST_BACKTRACE=full for a verbose backtrace. thread 'main' panicked at src\workspace\world\typst_thread.rs:71:24: called Result::unwrap() on an Err value: RecvError(())