Skip to content

Signature help crash when closing parenthesis is typed too quickly #1421

@DanielRosenwasser

Description

@DanielRosenwasser

May be related to #1415

Start out at /**/ and type () really quickly.

let x = someFunc/**/

Stack Trace:

panic handling request textDocument/signatureHelp runtime error: invalid memory address or nil pointer dereference goroutine 1019 [running]:
runtime/debug.Stack()
	C:/Users/drosen/go/pkg/mod/golang.org/toolchain@v0.0.1-go1.25rc2.windows-arm64/src/runtime/debug/stack.go:26 +0x64
github.com/microsoft/typescript-go/internal/lsp.(*Server).dispatchLoop.func1.1()
	D:/typescript-go/internal/lsp/server.go:357 +0x50
panic({0x7ff661428ae0?, 0x7ff661c603c0?})
	C:/Users/drosen/go/pkg/mod/golang.org/toolchain@v0.0.1-go1.25rc2.windows-arm64/src/runtime/panic.go:783 +0x120
github.com/microsoft/typescript-go/internal/ls.(*LanguageService).GetSignatureHelpItems(0x4002937458?, {0x7ff661727fb0?, 0x40036a1a90?}, 0x12, 0x7ff6615d2bd2?, 0x400593f348, 0x400735dac0, 0x40001d90f8, 0x40063dafc0?)
	D:/typescript-go/internal/ls/signaturehelp.go:103 +0x108
github.com/microsoft/typescript-go/internal/ls.(*LanguageService).ProvideSignatureHelp(0x40075abb30, {0x7ff661727fb0, 0x40036a1a90}, {0x400614a828?, 0x40000f0000?}, {0x57f5890?, 0x40?}, 0x400735dac0, 0x40001d90f8, 0x4003375e70)
	D:/typescript-go/internal/ls/signaturehelp.go:47 +0x98
github.com/microsoft/typescript-go/internal/lsp.(*Server).handleSignatureHelp(0x400016aa20, {0x7ff661727fb0, 0x40036a1a90}, 0x4007ffe780)
	D:/typescript-go/internal/lsp/server.go:679 +0xd4
github.com/microsoft/typescript-go/internal/lsp.(*Server).handleRequestOrNotification(0x4003375f68?, {0x7ff661727fb0?, 0x40036a1a90?}, 0x7ff6612c80d0?)
	D:/typescript-go/internal/lsp/server.go:492 +0x94
github.com/microsoft/typescript-go/internal/lsp.(*Server).dispatchLoop.func1()
	D:/typescript-go/internal/lsp/server.go:370 +0x60
created by github.com/microsoft/typescript-go/internal/lsp.(*Server).dispatchLoop in goroutine 8
	D:/typescript-go/internal/lsp/server.go:388 +0x448

Language server messages:

[Trace - 3:27:49 PM] Sending notification 'textDocument/didChange'.
Params: {
    "textDocument": {
        "uri": "untitled:Untitled-1",
        "version": 159
    },
    "contentChanges": [
        {
            "range": {
                "start": {
                    "line": 0,
                    "character": 16
                },
                "end": {
                    "line": 0,
                    "character": 16
                }
            },
            "rangeLength": 0,
            "text": "()"
        }
    ]
}


[Trace - 3:27:49 PM] Sending request 'textDocument/diagnostic - (78)'.
Params: {
    "textDocument": {
        "uri": "untitled:Untitled-1"
    }
}


[Trace - 3:27:49 PM] Received response 'textDocument/diagnostic - (78)' in 5ms.
Result: {
    "kind": "full",
    "items": [
        {
            "range": {
                "start": {
                    "line": 0,
                    "character": 8
                },
                "end": {
                    "line": 0,
                    "character": 16
                }
            },
            "severity": 1,
            "code": 2304,
            "source": "ts",
            "message": "Cannot find name 'someFunc'."
        }
    ]
}


[Trace - 3:27:49 PM] Sending notification 'textDocument/didChange'.
Params: {
    "textDocument": {
        "uri": "untitled:Untitled-1",
        "version": 160
    },
    "contentChanges": [
        {
            "range": {
                "start": {
                    "line": 0,
                    "character": 17
                },
                "end": {
                    "line": 0,
                    "character": 18
                }
            },
            "rangeLength": 1,
            "text": ")"
        }
    ]
}


[Trace - 3:27:49 PM] Sending request 'textDocument/diagnostic - (79)'.
Params: {
    "textDocument": {
        "uri": "untitled:Untitled-1"
    }
}


[Trace - 3:27:49 PM] Received response 'textDocument/diagnostic - (79)' in 5ms.
Result: {
    "kind": "full",
    "items": [
        {
            "range": {
                "start": {
                    "line": 0,
                    "character": 8
                },
                "end": {
                    "line": 0,
                    "character": 16
                }
            },
            "severity": 1,
            "code": 2304,
            "source": "ts",
            "message": "Cannot find name 'someFunc'."
        }
    ]
}


[Trace - 3:27:49 PM] Sending request 'textDocument/signatureHelp - (80)'.
Params: {
    "textDocument": {
        "uri": "untitled:Untitled-1"
    },
    "position": {
        "line": 0,
        "character": 18
    },
    "context": {
        "isRetrigger": false,
        "triggerCharacter": "(",
        "triggerKind": 2
    }
}


[Trace - 3:27:49 PM] Received response 'textDocument/signatureHelp - (80)' in 28ms. Request failed: InternalError: panic handling request textDocument/signatureHelp: runtime error: invalid memory address or nil pointer dereference (-32603).

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions