microsoft / microsoft/TypeScript-Sublime-Plugin
tsserver crashes after a few minutes
Nobody has claimed this yet.
- Dominant language
- JavaScript
- Stars
- 1.7k
- Forks
- 236
- Avg merge
- 21d 13h
- Merged PRs (30d)
- 1
Description
I've been trying to make this plugin work for my team. I hear great things about it. Unfortunately the TS node process keeps crashing after a few minutes, and I could use some assistance to debug it.
When I first start up sublime, ps aux | grep node shows the process is started:
/usr/local/bin/node /Users/aj/Library/Application Support/Sublime Text 3/Packages/TypeScript/tsserver/tsserver.js
If I make syntax errors or try to rename things, it mostly seems to work. ps aux | grep node shows the process is still running.
After a few minutes though, it stops working. ps aux | grep node no longer shows the process running, so it seems that the TS server has died.
Looking at the sublime console, ctrl-backtick, I see the following stacktrace. There's no other error output:
Traceback (most recent call last):
File "/Users/aj/Library/Application Support/Sublime Text 3/Packages/TypeScript/typescript/listeners/idle.py", line 22, in _check_timeout_count
self.handler()
File "/Users/aj/Library/Application Support/Sublime Text 3/Packages/TypeScript/typescript/listeners/idle.py", line 79, in on_selection_idle
self.request_document_highlights(view, info)
File "/Users/aj/Library/Application Support/Sublime Text 3/Packages/TypeScript/typescript/listeners/idle.py", line 187, in request_document_highlights
cli.service.async_document_highlights(view.file_name(), location, self.highlight_occurrences)
File "/Users/aj/Library/Application Support/Sublime Text 3/Packages/TypeScript/typescript/libs/service_proxy.py", line 259, in async_document_highlights
self.__comm.sendCmdAsync(json_str, on_completed, req_dict["seq"])
File "/Users/aj/Library/Application Support/Sublime Text 3/Packages/TypeScript/typescript/libs/node_client.py", line 111, in sendCmdAsync
if self.postCmd(cmd):
File "/Users/aj/Library/Application Support/Sublime Text 3/Packages/TypeScript/typescript/libs/node_client.py", line 142, in postCmd
self.server_proc.stdin.write(cmd.encode())
BrokenPipeError: [Errno 32] Broken pipe
This also seems to confirm that the process has died, but there's no mention of why.
Is there anything I can do to debug this? I haven't been able to find the stdout/stderr logs for the ts server to see if there is anything relevant there.
I'm not sure if it's relevant, but https://github.com/Microsoft/TypeScript-Sublime-Plugin/blob/2da61f59d231b5442e1a7136aedcb9705ad099e2/typescript/libs/node_client.py#L267 is not redirecting stderr, which might explain the lack of error output in the console?
Thanks for reading & any assistance.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with typescript/libs/node_client.py, especially postCmd and the stderr handling noted in the report, then trace the tsserver process launched from tsserver/tsserver.js. Reproduce the delayed crash and capture the server's diagnostic output; done means identifying why the process exits and documenting or fixing the relevant failure path.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- node.js, python, typescript
- Domain
- developer-experience, tooling
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100