vtsls icon indicating copy to clipboard operation
vtsls copied to clipboard

bug: Request textDocument/signatureHelp keeps randomly failing

Open itsmenewbie03 opened this issue 1 year ago • 11 comments

I keep getting an error every time after using Go to definitions it typically appears after navigating down using j as I use neovim btw xD. This specific file is used to setup vtsls.

SCREENSHOT

image

itsmenewbie03 avatar Nov 24 '24 02:11 itsmenewbie03

It seems an error caused by the wrong document position requested by the client. Could you provide the LSP log containing the errored signature request? You might need to :lua vim.lsp.set_log_level("debug") in nvim before reproduction. You can also check it locally to see if the requested position (line, character) is valid for the current file.

yioneko avatar Nov 25 '24 10:11 yioneko

LspLog

[DEBUG][2024-11-25 22:18:20] ...m/lsp/client.lua:678	"LSP[vtsls]"	"client.request"	3	"textDocument/signatureHelp"	{  position = {    character = 1,    line = 9  },  textDocument = {    uri = "file:///home/itsmenewbie03/Desktop/WareHouse/NodeJS/IPT-SYS/Backend/controllers/userController.js"  }}	<function 1>	7
[DEBUG][2024-11-25 22:18:20] .../vim/lsp/rpc.lua:286	"rpc.send"	{  id = 129,  jsonrpc = "2.0",  method = "textDocument/signatureHelp",  params = {    position = {      character = 1,      line = 9    },    textDocument = {      uri = "file:///home/itsmenewbie03/Desktop/WareHouse/NodeJS/IPT-SYS/Backend/controllers/userController.js"    }  }}
[DEBUG][2024-11-25 22:18:20] ...m/lsp/client.lua:678	"LSP[vtsls]"	"client.request"	3	"textDocument/signatureHelp"	{  position = {    character = 1,    line = 9  },  textDocument = {    uri = "file:///home/itsmenewbie03/Desktop/WareHouse/NodeJS/IPT-SYS/Backend/controllers/userController.js"  }}	<function 1>	7
[DEBUG][2024-11-25 22:18:20] .../vim/lsp/rpc.lua:286	"rpc.send"	{  id = 130,  jsonrpc = "2.0",  method = "textDocument/signatureHelp",  params = {    position = {      character = 1,      line = 9    },    textDocument = {      uri = "file:///home/itsmenewbie03/Desktop/WareHouse/NodeJS/IPT-SYS/Backend/controllers/userController.js"    }  }}
[DEBUG][2024-11-25 22:18:20] ...m/lsp/client.lua:678	"LSP[vtsls]"	"client.request"	3	"textDocument/signatureHelp"	{  position = {    character = 1,    line = 9  },  textDocument = {    uri = "file:///home/itsmenewbie03/Desktop/WareHouse/NodeJS/IPT-SYS/Backend/controllers/userController.js"  }}	<function 1>	7
[DEBUG][2024-11-25 22:18:20] .../vim/lsp/rpc.lua:286	"rpc.send"	{  id = 131,  jsonrpc = "2.0",  method = "textDocument/signatureHelp",  params = {    position = {      character = 1,      line = 9    },    textDocument = {      uri = "file:///home/itsmenewbie03/Desktop/WareHouse/NodeJS/IPT-SYS/Backend/controllers/userController.js"    }  }}
[DEBUG][2024-11-25 22:18:20] ...m/lsp/client.lua:678	"LSP[vtsls]"	"client.request"	3	"textDocument/documentHighlight"	{  position = {    character = 0,    line = 9  },  textDocument = {    uri = "file:///home/itsmenewbie03/Desktop/WareHouse/NodeJS/IPT-SYS/Backend/controllers/userController.js"  }}	<function 1>	7
[DEBUG][2024-11-25 22:18:20] .../vim/lsp/rpc.lua:286	"rpc.send"	{  id = 132,  jsonrpc = "2.0",  method = "textDocument/documentHighlight",  params = {    position = {      character = 0,      line = 9    },    textDocument = {      uri = "file:///home/itsmenewbie03/Desktop/WareHouse/NodeJS/IPT-SYS/Backend/controllers/userController.js"    }  }}
[DEBUG][2024-11-25 22:18:20] .../vim/lsp/rpc.lua:408	"rpc.receive"	{  error = {    code = -32603,    message = "Request textDocument/signatureHelp failed with message: <semantic> TypeScript Server Error (5.6.2)\nDebug Failure. False expression.\nError: Debug Failure. False expression.\n    at computePositionOfLineAndCharacter (/home/itsmenewbie03/.local/share/nvim/mason/packages/vtsls/node_modules/@vtsls/language-server/node_modules/typescript/lib/typescript.js:11566:11)\n    at TextStorage.lineOffsetToPosition (/home/itsmenewbie03/.local/share/nvim/mason/packages/vtsls/node_modules/@vtsls/language-server/node_modules/typescript/lib/typescript.js:182848:59)\n    at ScriptInfo.lineOffsetToPosition (/home/itsmenewbie03/.local/share/nvim/mason/packages/vtsls/node_modules/@vtsls/language-server/node_modules/typescript/lib/typescript.js:183163:29)\n    at IpcIOSession.getPosition (/home/itsmenewbie03/.local/share/nvim/mason/packages/vtsls/node_modules/@vtsls/language-server/node_modules/typescript/lib/typescript.js:191702:66)\n    at IpcIOSession.getSignatureHelpItems (/home/itsmenewbie03/.local/share/nvim/mason/packages/vtsls/node_modules/@vtsls/language-server/node_modules/typescript/lib/typescript.js:191994:27)\n    at signatureHelp (/home/itsmenewbie03/.local/share/nvim/mason/packages/vtsls/node_modules/@vtsls/language-server/node_modules/typescript/lib/typescript.js:190233:43)\n    at /home/itsmenewbie03/.local/share/nvim/mason/packages/vtsls/node_modules/@vtsls/language-server/node_modules/typescript/lib/typescript.js:192655:15\n    at IpcIOSession.executeWithRequestId (/home/itsmenewbie03/.local/share/nvim/mason/packages/vtsls/node_modules/@vtsls/language-server/node_modules/typescript/lib/typescript.js:192644:14)\n    at IpcIOSession.executeCommand (/home/itsmenewbie03/.local/share/nvim/mason/packages/vtsls/node_modules/@vtsls/language-server/node_modules/typescript/lib/typescript.js:192653:29)\n    at IpcIOSession.onMessage (/home/itsmenewbie03/.local/share/nvim/mason/packages/vtsls/node_modules/@vtsls/language-server/node_modules/typescript/lib/typescript.js:192701:68)\n    at process.<anonymous> (/home/itsmenewbie03/.local/share/nvim/mason/packages/vtsls/node_modules/@vtsls/language-server/node_modules/typescript/lib/tsserver.js:525:14)\n    at process.emit (node:events:519:28)\n    at emit (node:internal/child_process:951:14)\n    at process.processTicksAndRejections (node:internal/process/task_queues:83:21)"  },  id = 129,  jsonrpc = "2.0"}
[DEBUG][2024-11-25 22:18:20] .../vim/lsp/rpc.lua:408	"rpc.receive"	{  error = {    code = -32603,    message = "Request textDocument/signatureHelp failed with message: <semantic> TypeScript Server Error (5.6.2)\nDebug Failure. False expression.\nError: Debug Failure. False expression.\n    at computePositionOfLineAndCharacter (/home/itsmenewbie03/.local/share/nvim/mason/packages/vtsls/node_modules/@vtsls/language-server/node_modules/typescript/lib/typescript.js:11566:11)\n    at TextStorage.lineOffsetToPosition (/home/itsmenewbie03/.local/share/nvim/mason/packages/vtsls/node_modules/@vtsls/language-server/node_modules/typescript/lib/typescript.js:182848:59)\n    at ScriptInfo.lineOffsetToPosition (/home/itsmenewbie03/.local/share/nvim/mason/packages/vtsls/node_modules/@vtsls/language-server/node_modules/typescript/lib/typescript.js:183163:29)\n    at IpcIOSession.getPosition (/home/itsmenewbie03/.local/share/nvim/mason/packages/vtsls/node_modules/@vtsls/language-server/node_modules/typescript/lib/typescript.js:191702:66)\n    at IpcIOSession.getSignatureHelpItems (/home/itsmenewbie03/.local/share/nvim/mason/packages/vtsls/node_modules/@vtsls/language-server/node_modules/typescript/lib/typescript.js:191994:27)\n    at signatureHelp (/home/itsmenewbie03/.local/share/nvim/mason/packages/vtsls/node_modules/@vtsls/language-server/node_modules/typescript/lib/typescript.js:190233:43)\n    at /home/itsmenewbie03/.local/share/nvim/mason/packages/vtsls/node_modules/@vtsls/language-server/node_modules/typescript/lib/typescript.js:192655:15\n    at IpcIOSession.executeWithRequestId (/home/itsmenewbie03/.local/share/nvim/mason/packages/vtsls/node_modules/@vtsls/language-server/node_modules/typescript/lib/typescript.js:192644:14)\n    at IpcIOSession.executeCommand (/home/itsmenewbie03/.local/share/nvim/mason/packages/vtsls/node_modules/@vtsls/language-server/node_modules/typescript/lib/typescript.js:192653:29)\n    at IpcIOSession.onMessage (/home/itsmenewbie03/.local/share/nvim/mason/packages/vtsls/node_modules/@vtsls/language-server/node_modules/typescript/lib/typescript.js:192701:68)\n    at process.<anonymous> (/home/itsmenewbie03/.local/share/nvim/mason/packages/vtsls/node_modules/@vtsls/language-server/node_modules/typescript/lib/tsserver.js:525:14)\n    at process.emit (node:events:519:28)\n    at emit (node:internal/child_process:951:14)\n    at process.processTicksAndRejections (node:internal/process/task_queues:83:21)"  },  id = 130,  jsonrpc = "2.0"}
[DEBUG][2024-11-25 22:18:20] .../vim/lsp/rpc.lua:408	"rpc.receive"	{  error = {    code = -32603,    message = "Request textDocument/signatureHelp failed with message: <semantic> TypeScript Server Error (5.6.2)\nDebug Failure. False expression.\nError: Debug Failure. False expression.\n    at computePositionOfLineAndCharacter (/home/itsmenewbie03/.local/share/nvim/mason/packages/vtsls/node_modules/@vtsls/language-server/node_modules/typescript/lib/typescript.js:11566:11)\n    at TextStorage.lineOffsetToPosition (/home/itsmenewbie03/.local/share/nvim/mason/packages/vtsls/node_modules/@vtsls/language-server/node_modules/typescript/lib/typescript.js:182848:59)\n    at ScriptInfo.lineOffsetToPosition (/home/itsmenewbie03/.local/share/nvim/mason/packages/vtsls/node_modules/@vtsls/language-server/node_modules/typescript/lib/typescript.js:183163:29)\n    at IpcIOSession.getPosition (/home/itsmenewbie03/.local/share/nvim/mason/packages/vtsls/node_modules/@vtsls/language-server/node_modules/typescript/lib/typescript.js:191702:66)\n    at IpcIOSession.getSignatureHelpItems (/home/itsmenewbie03/.local/share/nvim/mason/packages/vtsls/node_modules/@vtsls/language-server/node_modules/typescript/lib/typescript.js:191994:27)\n    at signatureHelp (/home/itsmenewbie03/.local/share/nvim/mason/packages/vtsls/node_modules/@vtsls/language-server/node_modules/typescript/lib/typescript.js:190233:43)\n    at /home/itsmenewbie03/.local/share/nvim/mason/packages/vtsls/node_modules/@vtsls/language-server/node_modules/typescript/lib/typescript.js:192655:15\n    at IpcIOSession.executeWithRequestId (/home/itsmenewbie03/.local/share/nvim/mason/packages/vtsls/node_modules/@vtsls/language-server/node_modules/typescript/lib/typescript.js:192644:14)\n    at IpcIOSession.executeCommand (/home/itsmenewbie03/.local/share/nvim/mason/packages/vtsls/node_modules/@vtsls/language-server/node_modules/typescript/lib/typescript.js:192653:29)\n    at IpcIOSession.onMessage (/home/itsmenewbie03/.local/share/nvim/mason/packages/vtsls/node_modules/@vtsls/language-server/node_modules/typescript/lib/typescript.js:192701:68)\n    at process.<anonymous> (/home/itsmenewbie03/.local/share/nvim/mason/packages/vtsls/node_modules/@vtsls/language-server/node_modules/typescript/lib/tsserver.js:525:14)\n    at process.emit (node:events:519:28)\n    at emit (node:internal/child_process:951:14)\n    at process.processTicksAndRejections (node:internal/process/task_queues:83:21)"  },  id = 131,  jsonrpc = "2.0"}

userController.js

// controllers/userController.js
import User from '../models/userModel.js';
import bcrypt from 'bcrypt';
import jwt from 'jsonwebtoken';
import fetch from 'node-fetch'; // For Google OAuth validation
import { OAuth2Client } from 'google-auth-library';

const CLIENT_ID = process.env.GOOGLE_CLIENT_ID;  // Store your Google Client ID in .env
const client = new OAuth2Client(CLIENT_ID);

// Traditional login (email/password)
export const login = async (req, res) => {
// --snip--

itsmenewbie03 avatar Nov 27 '24 01:11 itsmenewbie03

I think this error is kind of expected as the requested position (0 based) position = { character = 1, line = 9 } is invalid as the line 9 of the source file is blank. The typescript checks the validity of position here: https://github.com/microsoft/TypeScript/blob/9fe6c3661cd89952d9556ecb14ef366b44076064/src/compiler/scanner.ts#L492-L494

This looks like that a nvim plugin is scheduled to send the lsp signature request on cursor move, but with wrong document position if the current line is blank.

yioneko avatar Nov 27 '24 07:11 yioneko

I get the same error on a typescript file, while I am using astronvim. Same occurence, after using some language server functions and then normal movement in the file.

xfresh-aiRx avatar Dec 11 '24 14:12 xfresh-aiRx

started seeing this as well, but only at one of my TSX files. also randomly

leikoilja avatar Dec 14 '24 16:12 leikoilja

I see this when my cursor is on an empty line, if that helps narrow this down

sdnts avatar Feb 21 '25 13:02 sdnts

If you only encounter this error on empty line, see https://github.com/yioneko/vtsls/issues/212#issuecomment-2503120784

yioneko avatar Feb 21 '25 14:02 yioneko

Will this error get fixed, or can i do something myself, its quite annoying. Thanks

Slepzs avatar Mar 31 '25 11:03 Slepzs

Unfortunately I also have no idea about this without locally reproducible example. Maybe you could try to disable plugins that provide signature help automatically on cursor move?

yioneko avatar Mar 31 '25 11:03 yioneko

Same issue for me. I disabled the "ray-x/lsp_signature.nvim"plugin I had installed and it stopped the issue. I'll probably just keep the plugin uninstalled until there is a fix.

petenilson avatar Apr 08 '25 14:04 petenilson

Hello, I haven't been working with TypeScript for a while now, but this might help https://github.com/ray-x/lsp_signature.nvim/issues/329

itsmenewbie03 avatar Apr 11 '25 01:04 itsmenewbie03