Upstream defects register (clangd, mcpp)
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Idoneità per principianti
- 48/100
- Tipo di issue
- Documentazione
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Attiva
- Stack tecnologico
- cpp
- Ambito
- devtools, documentation
Direzione di ricerca
Start with this issue's register, then read src/engine/clangd/workarounds.cpp and .agents/docs/design.md §7. Check the relevant comment and upstream status before changing a row; done means the index, problem comment, workaround reference, and upstream link or status agree.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Register of upstream defects mcppls depends on. This body is the index; each comment below is one problem.
Bundled: clangd 23.1.0 (clangd/clangd release). Code workarounds: src/engine/clangd/workarounds.cpp (WA-CLANGD-<n>, listed by mcppls report); deliberate limits: .agents/docs/design.md §7.
Rules: a new problem gets a comment and a row here; adding or removing a workaround updates its comment; link upstream issues/fixes when they exist; walk this list before bumping the bundled clangd.
clangd / LLVM
| ID | Problem | Upstream | mcppls |
|---|---|---|---|
| UP-01 | Module name ending in . hangs the preprocessor (crashes on Windows) |
unfiled; fixed on main? (deferred) | WA-CLANGD-001; disk check (0.0.5) |
| UP-02 | Unresolved import can deadlock the unit's build | unfiled | WA-CLANGD-002; disk check (0.0.5) |
| UP-03 | Modules a file needs are built one at a time | unfiled (perf) | WA-CLANGD-003 |
| UP-04 | Finding a module's unit scans the whole database | unfiled (perf) | WA-CLANGD-004 |
| UP-05 | MSVC STL aligned allocation rejected (align_val_t ambiguous) |
fixed in 23.1.1 (llvm-project#218152) | WA-CLANGD-005 |
| UP-06 | Stops answering one file while answering others | unfiled | quarantine |
| UP-07 | Stuck with no CPU after rapid module edits | unfiled | StuckWatch restart |
| UP-08 | Background index does not build module imports (definitions indexed apart from their declarations) | unfiled (gap); cf. clangd/clangd#2569 | WA-CLANGD-008: implementation units built in the foreground; search by name (0.0.6) |
| UP-09 | No textDocument/semanticTokens/range |
unfiled (gap) | capability gated |
| UP-10 | import std; then an unprovided export import never finishes |
unfiled | known limit |
| UP-11 | Module scanning fails on link-phase driver errors | unfiled | fixed in mcppls 0.0.5 (-c) |
| UP-12 | Windows: Build AST crash on a module unit with unresolved imports | unfiled; needs stack | avoided by -c; crash file set aside (0.0.5) |
| UP-13 | Windows: Build AST crash on some units even with correct commands | unfiled; needs stack (Windows release prints none) | contained (0.0.5); crash records carry clangd's SHA-256 (0.0.8) |
| UP-14 | Imports added in an unsaved buffer are not built until save | unfiled | WA-CLANGD-007; disk check (0.0.5) |
| UP-15 | Missing ; after import is reported on the next line |
unfiled | WA-CLANGD-006 (0.0.5) |
| UP-16 | C++26 contracts and reflection are not implemented | gap (upstream work in progress) | documented; VS Code colors contract keywords |
| UP-17 | A function defined in an open unit is missing from the index (prepare_build) |
unfiled; not reduced yet | definition found by name (0.0.6) |
| UP-18 | A module lock left by a killed clangd is never released (Windows waits forever) | unfiled | locks cleared at start and on a wait (0.0.7) |
| UP-19 | One BMI directory per command, never removed | unfiled (gap) | two newest kept, mcppls cache --prune (0.0.7) |
| UP-20 | Crash loop on a fan-out save of mcpp.manifest.types |
unfiled; needs a stack | backed off, bundle written (0.0.7); crash records carry LLVM's stack dump and clangd's SHA-256 (0.0.8, K-3) |
| UP-21 | A unit closed while its build runs can keep a worker spinning | unfiled | K-8 restart (0.0.8); K-7 |
| UP-22 | clang-tidy: misc-const-correctness says a filter/drop_while/chunk_by/split view can be const (issue #37) |
unfiled; reduced case ready | WA-CLANGD-010 drops it (0.0.9) |
| UP-23 | --experimental-modules-support rescans module dependencies on every completion (~3x slower on heavy headers, issue #37) |
unfiled (perf) | WA-CLANGD-009: off for projects without modules (0.0.9) |
| UP-25 | Every completion on a file that imports modules costs ~1 s, even unchanged (the module context is re-loaded per request; a file without imports in the same project: 60 ms) | unfiled (perf) | WA-CLANGD-012: the file's budget extends past the flat one when the engine's answers keep landing just past it (0.0.11, PR #41) |
| UP-26 | Preamble trace filename metadata can outlive borrowed storage and corrupt trace JSON | unfiled; pinned 23.1.0 source-backed | proposed maintained patch0051 owns metadata; delayed-context/native canaries pending |
| UP-27 | Default OverlayCDB invokes a null command mangler during module scanning | unfiled; 23.1.0 source/API control confirmed | maintained engine0058 pending; no product workaround |
| UP-28 | Header-import PCH visibility guard reparses heavy textual prefixes | llvm-project#181770; mitigation#189284 | conservative handling retained; verified import-free prefix candidate0066 pending |
| UP-29 | GNU std producer flags enable Clang implicit builtin maps during scanning | unfiled; pinned23.1.0/GNU16.1 source evidence | scoped same-install standard-producer adapter candidate0067 pending |
| UP-30 | One prerequisite module that does not compile leaves its importers with no module at all | unfiled | WA-CLANGD-014 (importers to mcppls's engine); mcppls-clangd 0.0.13 0028 (partial-prerequisite-modules) retires it |
| UP-31 | Completion in a module importer waits without bound for its first preamble and new imports | unfiled | mcppls-clangd 0.0.13 0027 (bounded-module-wait): 600 ms / 250 ms, answers marked incomplete |
| UP-32 | Why a module is rebuilt, and what a file's prerequisites cost, is not logged at the default level | unfiled (observability) | mcppls-clangd 0.0.13 0026 (module-rebuild-reasons); mcppls 0.0.13 startup line |
mcpp
| ID | Problem | Upstream | mcppls |
|---|---|---|---|
| UP-M1 | mcpp: macOS deployment target ignored when cross-compiling | fixed (mcpp#685, 2026.9.24.1) | done in 0.0.5 |
| UP-M2 | mcpp: emit build-database fails whole on one member's failure |
fixed (mcpp#699, 2026.9.26.2) | partial answer used; download offer for a missing member (0.0.6) |
| UP-M3 | mcpp: build programs cannot tell a plan/emit pass | filed: mcpp#699 | none |
| UP-M4 | mcpp: a rule's inputs are translation units; generated output points at an empty directory | filed: mcpp#724 | inputs left out; project's target/ read; missing reported (0.0.6) |
| UP-M5 | mcpp 2026.9.27.1: workspace = true in a path-dependency member fails |
filed: mcpp#725 | CI pins 2026.9.26.1 |
| UP-M6 | mcpp: emit build-database takes about a minute on a large workspace |
unfiled (perf) | deadline follows the producer; reruns only on structure changes (0.0.7) |
| UP-M7 | mcpp: a module source two packages include is reported as provided twice; the member is left out | unfiled | partial answer used; stand-ins together (0.0.8, P-1) |
xmake
| ID | Problem | Upstream | mcppls |
|---|---|---|---|
| UP-X1 | GCC module mapper files are keyed by the source's relative path only: another build of the same path (a second build directory, another checkout) overwrites them and breaks the next incremental build | unfiled; reproduced on 3.1.1 and 3.1.2 | 0.0.16 triggered it (#69); fixed in 0.0.17: XMAKE_TMPDIR for the private run (fixture xmake-shared-tmp) |
| UP-X2 | xmake project -k compile_commands trusts a module scan cache only a build updates; a missing dependfile then fails every describe until a build |
unfiled; reproduced on 3.1.1 and 3.1.2 | 0.0.16 fell back to inference (#68); fixed in 0.0.17: private state as a disposable cache, redone once on this error (fixtures xmake-target-then-mode, xmake-stale-state) |
mcpplibs
| ID | Problem | Upstream | mcppls |
|---|---|---|---|
| UP-L1 | tinyhttps 0.3 fails a request whose answer has a header line over 8 KB; GitHub's release-download redirect now has a 9.2 KB one | unfiled | packaging falls back to curl (#70, 0.0.17); the server is not affected |
PRoot (Termux)
| ID | Problem | Upstream | mcppls |
|---|---|---|---|
| UP-P1 | termux/proot: execveat with a directory descriptor fails with ENOSYS |
to be filed | openkal-linux 0.15.1 falls back to execve (0.0.7) |
| UP-P2 | seccomp mode returns with rewritten argument registers (termux, proot-me) | to be filed | argument registers declared in/out (0.0.7) |
| UP-24 | clangd leaves a copy-on-read BMI behind whenever it dies before releasing it; the only GC waits 3 days and reads atime (unreliable on Windows, and it removes published BMIs too) | 23.1.0 (bundled) | unfiled (recorded here) |
openkal
| ID | Problem | Upstream | mcppls |
|---|---|---|---|
| UP-O1 | openkal-macos 0.12.0 terminates a closed-pipe writer with SIGPIPE | unfiled | WA-PLATFORM-001: per-input-pipe protection; native fix validation pending |
VS Code / languageclient
| ID | Problem | Upstream | mcppls |
|---|---|---|---|
| UP-V1 | vscode-languageclient 10.1.1 loses startup ownership when the server exits during initialize; unhandled start/stop rejections | unfiled; standalone reproducer TODO | WA-VSCODE-003; queued fresh-client recovery; native macOS SIGPIPE cause remains unverified (0.0.12, PR #46) |
| UP-V2 | vscode-jsonrpc 9.0.2 throws from a discarded async request executor after a failed stream write | unfiled; deterministic Linux reproduction | WA-VSCODE-004; failed protocol writes close their connection; native Intel macOS revalidation pending (0.0.12, PR #46) |
- Lingua principale
- C++
- Stelle
- 25
- Fork
- 2
- Merge medio
- 21h 5m
- PR unite (30g)
- 13
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di Sunrisepeak/mcpp-language-server
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
Sunrisepeak/mcpp-language-server#80 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
Sunrisepeak/mcpp-language-server#66 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 1/100
Sunrisepeak/mcpp-language-server#77 · 3 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 45/100
Sunrisepeak/mcpp-language-server#71 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 15/100
Sunrisepeak/mcpp-language-server#59 ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di Sunrisepeak/mcpp-language-server
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 66/100
xiaoyifang/goldendict-ng#3148 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 91/100
triton-inference-server/server#9069 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 66/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
I maintainer di solito rispondono entro 4 giorni
-
documentation
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100