[clang-tools-extra] [clangd] Fix SIGSEGV crash when receiving a textDocument/didOpen request with the URI pointing to a directory (PR #177834)
via cfe-commits
cfe-commits at lists.llvm.org
Sat Jan 31 22:54:51 PST 2026
github-actions[bot] wrote:
<!--PREMERGE ADVISOR COMMENT: Linux-->
# :penguin: Linux x64 Test Results
* 3096 tests passed
* 7 tests skipped
* 1 test failed
## Failed Tests
(click on a test name to see its output)
### Clangd
<details>
<summary>Clangd.Clangd/directory-uri.test</summary>
```
Exit Code: 1
Command Output (stdout):
--
# RUN: at line 1
not --crash clangd -lit-test < /home/gha/actions-runner/_work/llvm-project/llvm-project/clang-tools-extra/clangd/test/directory-uri.test 2> /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/clangd/test/Output/directory-uri.test.tmp.err
# executed command: not --crash clangd -lit-test
# .---redirected output from '/home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/clangd/test/Output/directory-uri.test.tmp.err'
# | I[06:46:14.225] clangd version 23.0.0git (https://github.com/llvm/llvm-project 5f72f57aa2291ae82bd5acbb95a70cd9c0ed400f)
# | I[06:46:14.225] Features: linux+debug
# | I[06:46:14.225] PID: 234463
# | I[06:46:14.225] Working directory: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/clangd/test
# | I[06:46:14.225] argv[0]: clangd
# | I[06:46:14.225] argv[1]: -lit-test
# | I[06:46:14.225] Starting LSP over stdin/stdout
# | V[06:46:14.225] <<< {
# | "id": 0,
# | "jsonrpc": "2.0",
# | "method": "initialize",
# | "params": {}
# | }
# |
# | I[06:46:14.225] <-- initialize(0)
# | I[06:46:14.226] --> reply:initialize(0) 0 ms
# | V[06:46:14.226] >>> {
# | "id": 0,
# | "jsonrpc": "2.0",
# | "result": {
# | "capabilities": {
# | "astProvider": true,
# | "callHierarchyProvider": true,
# | "clangdInlayHintsProvider": true,
# | "codeActionProvider": true,
# | "compilationDatabase": {
# | "automaticReload": true
# | },
# | "completionProvider": {
# | "resolveProvider": false,
# | "triggerCharacters": [
# | ".",
# |
# | ...
# `---data was truncated--------
# .---command stdout------------
# | Content-Length: 3432
# |
# | {
# | "id": 0,
# | "jsonrpc": "2.0",
# | "result": {
# | "capabilities": {
# | "astProvider": true,
# | "callHierarchyProvider": true,
# | "clangdInlayHintsProvider": true,
# | "codeActionProvider": true,
# | "compilationDatabase": {
# | "automaticReload": true
# | },
# | "completionProvider": {
# | "resolveProvider": false,
# | "triggerCharacters": [
# | ".",
# | "<",
# | ">",
# | ":",
# | "\"",
# | "/",
# | "*"
# | ]
# | },
# | "declarationProvider": true,
# | "definitionProvider": true,
# | "documentFormattingProvider": true,
# | "documentHighlightProvider": true,
# | "documentLinkProvider": {
# | "resolveProvider": false
# | },
# | "documentOnTypeFormattingProvider": {
# | "firstTriggerCharacter": "\n",
# | "moreTriggerCharacter": []
# | },
# | "documentRangeFormattingProvider": {
# | "rangesSupport": true
# | },
# | "documentSymbolProvider": true,
# | "executeCommandProvider": {
# | "commands": [
# | "clangd.applyFix",
# | "clangd.applyRename",
# | "clangd.applyTweak"
# | ]
# | },
# | "foldingRangeProvider": true,
# | "hoverProvider": true,
# | "implementationProvider": true,
# | "inactiveRegionsProvider": true,
# | "inlayHintProvider": true,
# | "memoryUsageProvider": true,
# | "referencesProvider": true,
# | "renameProvider": true,
# | "selectionRangeProvider": true,
# | "semanticTokensProvider": {
# | "full": {
# | "delta": true
# | },
# | "legend": {
# | "tokenModifiers": [
# | "declaration",
# | "definition",
# | "deprecated",
# | "deduced",
# | "readonly",
# | "static",
# | "abstract",
# | "virtual",
# | "dependentName",
# | "defaultLibrary",
# | "usedAsMutableReference",
# | "usedAsMutablePointer",
# | "constructorOrDestructor",
# | "userDefined",
# | "functionScope",
# | "classScope",
# | "fileScope",
# | "globalScope"
# | ],
# | "tokenTypes": [
# | "variable",
# | "variable",
# | "parameter",
# | "function",
# | "method",
# | "function",
# | "property",
# | "variable",
# | "class",
# | "interface",
# | "enum",
# | "enumMember",
# | "type",
# | "type",
# | "unknown",
# | "namespace",
# | "typeParameter",
# | "concept",
# | "type",
# | "macro",
# | "modifier",
# | "operator",
# | "bracket",
# | "label",
# | "comment"
# | ]
# | },
# | "range": false
# | },
# | "signatureHelpProvider": {
# | "triggerCharacters": [
# | "(",
# | ")",
# | "{",
# | "}",
# | "<",
# | ">",
# | ","
# | ]
# | },
# | "standardTypeHierarchyProvider": true,
# | "textDocumentSync": {
# | "change": 2,
# | "openClose": true,
# | "save": true
# | },
# | "typeDefinitionProvider": true,
# | "typeHierarchyProvider": true,
# | "workspaceSymbolProvider": true
# | },
# | "serverInfo": {
# | "name": "clangd",
# | "version": "clangd version 23.0.0git (https://github.com/llvm/llvm-project 5f72f57aa2291ae82bd5acbb95a70cd9c0ed400f) linux+debug x86_64-unknown-linux-gnu"
# | }
# | }
# | }Content-Length: 129
# |
# | {
# | "error": {
# | "code": -32602,
# | "message": "trying to get AST for non-added document"
# | },
# | "id": 1,
# | "jsonrpc": "2.0"
# | }Content-Length: 129
# |
# | {
# | "error": {
# | "code": -32602,
# | "message": "trying to get AST for non-added document"
# | },
# | "id": 2,
# | "jsonrpc": "2.0"
# | }Content-Length: 51
# |
# | {
# | "id": 3,
# | "jsonrpc": "2.0",
# | "result": null
# | }
# `-----------------------------
# error: command failed with exit status: 1
--
```
</details>
If these failures are unrelated to your changes (for example tests are broken or flaky at HEAD), please open an issue at https://github.com/llvm/llvm-project/issues and add the `infrastructure` label.
https://github.com/llvm/llvm-project/pull/177834
More information about the cfe-commits
mailing list