Upstream defects register (clangd, mcpp)
Maintainer thường phản hồi trong vòng 1 ngày
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 3/5
- Thời gian dự kiến
- 1-2 ngày
- Mức phù hợp với người mới
- 48/100
- Loại issue
- Tài liệu
- Độ rõ ràng
- Khá rõ ràng
- Mức độ hoạt động
- Sôi nổi
- Công nghệ
- cpp
- Lĩnh vực
- devtools, documentation
Hướng nghiên cứu
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.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
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) |
- Ngôn ngữ chính
- C++
- Star
- 25
- Fork
- 2
- Merge trung bình
- 21 giờ 5 phút
- Pull request đã merge (30 ngày)
- 13
Chuẩn bị môi trường
- Không có Dockerfile hay tệp Docker Compose
- Có mẫu pull request
- Đọc hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của Sunrisepeak/mcpp-language-server
-
bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
Sunrisepeak/mcpp-language-server#80 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
Sunrisepeak/mcpp-language-server#66 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 1/100
Sunrisepeak/mcpp-language-server#77 · 3 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 45/100
Sunrisepeak/mcpp-language-server#71 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 15/100
Sunrisepeak/mcpp-language-server#59 ·
Maintainer thường phản hồi trong vòng 1 ngày
Tất cả issue của Sunrisepeak/mcpp-language-server
Issue tương tự
-
#2754 make deepseek api not workĐang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 66/100
xiaoyifang/goldendict-ng#3148 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 91/100
triton-inference-server/server#9069 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 66/100
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 76/100
Maintainer thường phản hồi trong vòng 4 ngày
-
documentation
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100