clangd 23.1.0 crashes while processing C++23 module using Glaze
- Dominant language
- LLVM
- Stars
- 40.5k
- Forks
- 18.7k
- PR merge metrics
- PR metrics pending
Description
This was originally reported in [clangd/clangd#2707](https://github.com/clangd/clangd/issues/2707)
clangd 23.1.0 crashes while processing a C++23 module-based project that uses Glaze.
The crash occurs in the clangd AST worker while processing `main.cpp`. In the minimal reproducer, calling `glaze::format_error()` after `glaze::read_json()` triggers the crash.
The project compiles successfully with `clang++`, and the crash does not occur when running `clangd --check`. It occurs when clangd is running interactively through the LSP.
I have provided a minimal reproducer repository: [repo](https://github.com/renoseHarsh/bug_report) The repository also contains the clangd crash log.
**System information**
Homebrew clangd version 23.1.0
Features: mac+xpc
Platform: arm64-apple-darwin25.6.0
Editor/LSP plugin: Neovim 0.12.5 built-in LSP
Operating system: macOS 26.6.2 (arm)
The complete clangd log captured with `--log=verbose`, from startup through reproducing the crash, is available here: [lsp.log](https://github.com/user-attachments/files/32315271/lsp.log)
Contributor guide
Research direction
Start with the minimal reproducer repository's main.cpp and compare the interactive LSP crash with clangd --check, then inspect the provided clangd crash log. Reproduce the AST-worker crash triggered by glaze::format_error() after glaze::read_json(); done means clangd remains stable while processing this case.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp, neovim
- Domain
- compilers, devtools
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100