Skip to content

TEMP (do not merge): issue 86 — reproduce the systop clangd trap on a Windows runner - #87

Draft
Sunrisepeak wants to merge 4 commits into
mainfrom
tmp/issue86-systop-repro
Draft

Sunrisepeak wants to merge 4 commits into
mainfrom
tmp/issue86-systop-repro

Conversation

@Sunrisepeak

Copy link
Copy Markdown
Owner

Temporary, not for merging. A diagnostic branch for #86: it deletes every other workflow and carries one, issue86-repro, which only gathers evidence.

What it runs, on windows-2025 and windows-2022, with the released 0.22.0 payload (the clangd image of the report, sha256 47a09679…) on yizhinailong/systop at b506132, built by mcpp 2026.11.10.2 / LLVM 23.1.3:

  1. The session, replayed (.github/issue86/drive_lsp.py) — the server started as the extension starts it, the reporter's files opened, an editor's requests kept up, then mcppls.restartEngine until the sandbox's grant table refuses a start. Leaves the server's logs, incidents and bundles, the engine database, clangd's command line, and a Windows Error Reporting dump of each okrun.exe that ends by an exception.
  2. clangd --check as a matrix (.github/issue86/check_matrix.py) — the reporter's reduction row by row (guarded / unguarded / #pragma once header, used / unused, with and without imports) and the switches that say which part of clangd traps (include analysis, clang-tidy, modules support, preamble storage, the runner's snapshot and placement). A run that ends by an exception is repeated under cdb; symbolize.py finds the image's base from the bytes at the instruction pointer and names the frames from the image's own ELF symbol table.

Results are in each job's summary and in the issue86-evidence-* / issue86-dumps-* artifacts.

Close without merging once #86's analysis is done.

… clangd --check on a Windows runner

The branch's only workflow. The released 0.22.0 payload on yizhinailong/systop at the commit of the report:
the session replayed without an editor (server logs, incidents, bundles, the engine database, clangd's command
line, a dump of each okrun.exe that ends by an exception), then clangd --check on src/ui/monitor_view.cppm as a
matrix of the reporter's reduction and of the switches that say which part of clangd traps; a trapping run is
repeated under cdb and its frames named from the image's own symbol table.
…offline, more files checked, evidence as assets of a temporary pre-release
… one; a short session (its evidence is in runs 43175887538 and 43178642084)
… the environment names; sampler.cppm and refresh_clock.cppm checked
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant