neoclide / coc-tsserver

Tsserver extension for coc.nvim that provide rich features like VSCode for javascript & typescript
MIT License
1.06k stars 68 forks source link

[coc.nvim] The TypeScript language service died 5 times right after it got started. #372

Closed el-og closed 2 years ago

el-og commented 2 years ago

I have been using NeoVim and coc (with extensions) on one "monorepo" for 2-3 months now and everything was working just fine, but since few days/week ago one of the packages that consists of angular application makes my tsserver fail once I open any .ts file within that package. However, it does not fail when I test it on VS Code.

What I have done so far?

NeoVim/coc fixes:

GIT/repo fixes:

"Sanity" fixes:

Error from :CocCommand workspace.showOutput tsserver is below.

Debug Failure. False expression: position cannot precede the beginning of the file

    Error: Debug Failure. False expression: position cannot precede the beginning of the file
        at computeLineOfPosition ($HOME/.config/coc/extensions/node_modules/coc-tsserver/node_modules/typescript/lib/tsserver.js:9988:22)
        at computeLineAndCharacterOfPosition ($HOME/.config/coc/extensions/node_modules/coc-tsserver/node_modules/typescript/lib/tsserver.js:9966:26)
        at Object.getLineAndCharacterOfPosition ($HOME/.config/coc/extensions/node_modules/coc-tsserver/node_modules/typescript/lib/tsserver.js:10007:16)
        at formatDiagnosticToProtocol ($HOME./config/coc/extensions/node_modules/coc-tsserver/node_modules/typescript/lib/tsserver.js:171642:60)
        at $HOME/.config/coc/extensions/node_modules/coc-tsserver/node_modules/typescript/lib/tsserver.js:172578:93
        at Object.map ($HOME/.config/coc/extensions/node_modules/coc-tsserver/node_modules/typescript/lib/tsserver.js:444:29)
        at IOSession.Session.defaultEventHandler ($HOME/.config/coc/extensions/node_modules/coc-tsserver/node_modules/typescript/lib/tsserver.js:172578:45)
        at ProjectService.eventHandler ($HOME/.config/coc/extensions/node_modules/coc-tsserver/node_modules/typescript/lib/tsserver.js:172484:77)
        at ProjectService.sendConfigFileDiagEvent ($HOME/.config/coc/extensions/node_modules/coc-tsserver/node_modules/typescript/lib/tsserver.js:169830:22)
        at ProjectService.assignProjectToOpenedScriptInfo ($HOME/.config/coc/extensions/node_modules/coc-tsserver/node_modules/typescript/lib/tsserver.js:170669:38)
        at $HOME/.config/coc/extensions/node_modules/coc-tsserver/node_modules/typescript/lib/tsserver.js:170972:97
        at Object.flatMap ($HOME/.config/coc/extensions/node_modules/coc-tsserver/node_modules/typescript/lib/tsserver.js:508:25)
        at ProjectService.applyChangesInOpenFiles ($HOME/.config/coc/extensions/node_modules/coc-tsserver/node_modules/typescript/lib/tsserver.js:170972:41)
        at Session.handlers.ts.Map.ts.getEntries._a.<computed> ($HOME/.config/coc/extensions/node_modules/coc-tsserver/node_modules/typescript/lib/tsserver.js:172131:46)
        at $HOME/.config/coc/extensions/node_modules/coc-tsserver/node_modules/typescript/lib/tsserver.js:174067:88
        at IOSession.Session.executeWithRequestId ($HOME/.config/coc/extensions/node_modules/coc-tsserver/node_modules/typescript/lib/tsserver.js:174058:28)
        at IOSession.Session.executeCommand ($HOME/.config/coc/extensions/node_modules/coc-tsserver/node_modules/typescript/lib/tsserver.js:174067:33)
        at IOSession.Session.onMessage ($HOME/.config/coc/extensions/node_modules/coc-tsserver/node_modules/typescript/lib/tsserver.js:174093:35)
        at Interface.<anonymous> ($HOME/.config/coc/extensions/node_modules/coc-tsserver/node_modules/typescript/lib/tsserver.js:176698:31)
        at Interface.emit (node:events:526:28)
        at Interface._onLine (node:readline:487:10)
        at Interface._normalWrite (node:readline:661:12)
        at Socket.ondata (node:readline:269:10)
        at Socket.emit (node:events:526:28)
        at addChunk (node:internal/streams/readable:315:12)
        at readableAddChunk (node:internal/streams/readable:289:9)
        at Socket.Readable.push (node:internal/streams/readable:228:10)
        at Pipe.onStreamRead (node:internal/stream_base_commons:190:23)
chemzqm commented 2 years ago

Your tsserver crashed ,try configuration:

  "tsserver.tsdk": "/path/to/typescript/lib",
  "tsserver.ignoreLocalTsserver": true,

to use custom tsserver from typescript module.

el-og commented 2 years ago

Your tsserver crashed ,try configuration:

  "tsserver.tsdk": "/path/to/typescript/lib",
  "tsserver.ignoreLocalTsserver": true,

to use custom tsserver from typescript module.

Tried to set path to local coc-tsserver tsserver module, the module of the package I am using and shared module of the same monorepo. All of them fails.


A little more information that might be helpful from tsserver log Info 0 [15:13:33.204] Starting TS Server Info 1 [15:13:33.204] Version: 4.6.3 Info 2 [15:13:33.204] Arguments: /Users/oskarasg/.nvm/versions/node/v16.14.2/bin/node /Users/oskarasg/Projects/platform/packages/admin-webapp/node_modules/typescript/lib/tsserver.js --allowLocalPluginLoads --useInferredProjectPerProjectRoot --cancellationPipeName /var/folders/ll/67tkqvv97mgbh2cb9v4fm3xh0000gn/T/nvimrL1N1P/coc.nvim-85520/coc-nvim-tscancellation-594c0526ce9e1d9121d3.sock* --logVerbosity verbose --logFile /var/folders/ll/67tkqvv97mgbh2cb9v4fm3xh0000gn/T/nvimrL1N1P/coc.nvim-85520/tsserver.log --npmLocation "/Users/oskarasg/.nvm/versions/node/v16.14.2/bin/npm" --noGetErrOnBackgroundUpdate --validateDefaultNpmLocation Info 3 [15:13:33.204] Platform: darwin NodeVersion: 16 CaseSensitive: false Info 4 [15:13:33.204] ServerMode: undefined syntaxOnly: false hasUnknownServerMode: undefined Info 5 [15:13:33.207] Binding... Info 6 [15:13:33.211] request: {"seq":0,"type":"request","command":"configure","arguments":{"hostInfo":"coc-nvim","preferences":{"providePrefixAndSuffixTextForRename":true,"allowRenameOfImportPath":true,"includePackageJsonAutoImports":"auto"}}} Info 7 [15:13:33.212] Host information coc-nvim Info 8 [15:13:33.212] response: {"seq":0,"type":"response","command":"configure","request_seq":0,"success":true} Perf 9 [15:13:33.212] 0::configure: async elapsed time (in milliseconds) 0.7544 Info 10 [15:13:33.212] request: {"seq":1,"type":"request","command":"compilerOptionsForInferredProjects","arguments":{"options":{"module":"commonjs","target":"es2016","jsx":"preserve","allowJs":true,"allowSyntheticDefaultImports":true,"allowNonTsExtensions":true}}} Perf 11 [15:13:33.213] 1::compilerOptionsForInferredProjects: elapsed time (in milliseconds) 0.2443 Info 12 [15:13:33.213] response: {"seq":0,"type":"response","command":"compilerOptionsForInferredProjects","request_seq":1,"success":true,"body":true} Info 13 [15:13:33.213] event: {"seq":0,"type":"event","event":"typingsInstallerPid","body":{"pid":85562}}

chemzqm commented 2 years ago

Try a different tsserver version

el-og commented 2 years ago

Try a different tsserver version

Tried 1.10.0, 1.10.1, 1.10.2, 1.10.3, 1.10.4 all of them crashes. Very strange and probably quite stupid problem I am having

fannheyward commented 2 years ago

Tried 1.10.0, 1.10.1, 1.10.2, 1.10.3, 1.10.4

What are these versions? tsserver version should be same as TypeScript version, 4.6.4 etc.

el-og commented 2 years ago

Tried 1.10.0, 1.10.1, 1.10.2, 1.10.3, 1.10.4

What are these versions? tsserver version should be same as TypeScript version, 4.6.4 etc.

Sorry, I thought he was asking for coc-tsserver version bump down, anyways.


Info 0    [18:31:24.501] Starting TS Server
Info 1    [18:31:24.501] Version: 4.6.3
Info 2    [18:31:24.501] Arguments: /Users/oskarasg/.nvm/versions/node/v16.14.2/bin/node 
/Users/oskarasg/Projects/platform/packages/admin-webapp/node_modules/typescript/lib/tsserver.js --allowLocalPluginLoads --useInferredProjectPerProjectRoot --cancellationPipeName 
/var/folders/ll/67tkqvv97mgbh2cb9v4fm3xh0000gn/T/nvimnNQ30e/coc.nvim-65437/coc-nvim-tscancellation-287bd9b03a4348f6a2a2.sock* --logVerbosity verbose --logFile 
/var/folders/ll/67tkqvv97mgbh2cb9v4fm3xh0000gn/T/nvimnNQ30e/coc.nvim-65437/tsserver.log --npmLocation "/Users/oskarasg/.nvm/versions/node/v16.14.2/bin/npm" --noGetErrOnBackgroundUpdate --validateDefaultNpmLocation

Used TS Server location /Users/oskarasg/Projects/platform/packages/admin-webapp/node_modules/typescript/lib/tsserver.js


image

The same tsserver.js file.

Seems like both versions are the same, but something still breaks...

el-og commented 2 years ago

Got it fixed. It was an Angular "strictTemplates" related issue, just error didn't translate well from tsserver trace.

If anyone encounters anything like that on Angular projects, check this https://github.com/angular/vscode-ng-language-service/issues/1418#issuecomment-1116107353 that is exactly issue I am having. However, it is strange that previously it wouldn't crash Typescript server, but after Angular upgrade to Angular 13 (I suspect) it would.