Skip to content

Add: windows port for coretrace-stack-analyzer#69

Open
shookapic wants to merge 16 commits into
mainfrom
feat/windows-port
Open

Add: windows port for coretrace-stack-analyzer#69
shookapic wants to merge 16 commits into
mainfrom
feat/windows-port

Conversation

@shookapic
Copy link
Copy Markdown

This is the first iteration for a native Windows implementation of the coretrace-stack-analyzer tool.
It includes code refactoring from POSIX to LLVM/Win32 and many tests case.

Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: fcf5239845

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread scripts/build-windows.ps1 Outdated
@shookapic shookapic requested a review from SizzleUnrlsd April 10, 2026 14:12
Copy link
Copy Markdown
Contributor

@SizzleUnrlsd SizzleUnrlsd left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for pushing the first native Windows pass. I reviewed the final PR head and the overall direction makes sense, but I still see a few blocking issues before this is safe to merge. The main concern is that the current Windows CI path relaxes the regression harness enough that it can go green while real diagnostic regressions remain undetected. I also think the hard-coded diaguids patch and the silent dependency fallback to main make the build path brittle and non-reproducible.

Comment thread run_test.py Outdated
Suites can opt-out per-file via: // strict-diagnostic-count: false
"""
if os.name == "nt":
return False
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Disabling strict diagnostic counts for every Windows fixture makes the suite much less effective as a regression guard. Combined with the relaxed location matching below, Windows can now pass even when the analyzer starts emitting extra diagnostics or when the matched diagnostic is only approximately the right one. I think this should stay opt-out per fixture rather than becoming the platform-wide default.

Comment thread run_test.py Outdated
return [
path
for path in sorted(fixture_sources)
if is_fixture_source(path) and fixture_skip_reason(path) is None
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This silently removes every windows-skip fixture from the main regression sweep. Right now that excludes a fairly large chunk of coverage, and later in this file Windows also skips some rule-coverage checks entirely. That means the job is validating a materially smaller support surface rather than a stable Windows tier. Could we surface these as explicit expected failures / unsupported cases instead of dropping them from the suite?

Comment thread CMakeLists.txt Outdated
endif()

set(coretrace_stale_diaguids_path
"C:/Program Files (x86)/Microsoft Visual Studio/2019/Professional/DIA SDK/lib/amd64/diaguids.lib")
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This patch is tied to one specific Visual Studio 2019 Professional DIA path. If the imported LLVM target embeds a different absolute diaguids.lib location (different VS edition/version/layout), the replacement will stop matching and the Windows configure path breaks again. Please make this generic by rewriting any diaguids.lib entry discovered on the imported target rather than matching one hard-coded absolute path.

Comment thread .github/workflows/ci.yml Outdated
fetch-depth: 1

- name: Checkout coretrace-compiler main fallback
if: steps.checkout_compiler_ref.outcome == 'failure'
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Falling back to main here can make the PR pass against a different dependency revision than the branch it is actually trying to validate. That hides inter-repo incompatibilities instead of surfacing them. I think this should fail fast when the matching ref is missing, or at least make the fallback explicit and non-default. The same pattern appears in the release workflow as well.

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.

2 participants