Upstream defects register (clangd, mcpp)

Đang mở
#24 47 bình luận 0 reaction 0 người được giao Xem trên GitHub

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

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. 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.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của Sunrisepeak/mcpp-language-server

Tất cả issue của Sunrisepeak/mcpp-language-server

Issue tương tự

Thêm issue về C++

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.