Skip to content

tsserver crashes after a few minutes #539

@ajpalkovic

Description

@ajpalkovic

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions