Skip to content

ci(verify): keep and print Windows crash dumps from the engine suites - #3403

Merged
richiemcilroy merged 3 commits into
mainfrom
ci/verify-windows-crash-dumps
Oct 26, 2026
Merged

richiemcilroy merged 3 commits into
mainfrom
ci/verify-windows-crash-dumps

Conversation

@richiemcilroy

@richiemcilroy richiemcilroy commented Oct 26, 2026 •

Copy link
Copy Markdown
Member

Windows Engine verify sometimes kills an export test process with an access violation (0xc0000005), on main and on unrelated branches: colour, gif, mov and camera_offset in the last week, a different test each time. The job log shows only the exit code, so there is nothing to diagnose from.

Two things hid the crash:

  • run.sh runs in Git Bash, and MSYS starts its child processes with crash reporting off (SEM_NOGPFAULTERRORBOX). nextest and the test binaries inherit that, so Windows never writes a dump, even with Windows Error Reporting configured.
  • The runners do not keep dumps by default.

This change applies to Windows test jobs only:

  • turns on Windows Error Reporting local dumps into the verify report folder, which the existing upload carries;
  • runs each test binary through scripts/verify/native-launch.ps1 (PowerShell clears the inherited mode) via Cargo's target runner, which nextest honors;
  • on failure, prints each dump's stack with cdb and the build's own PDBs.

Checked on blacksmith-8vcpu-windows-2025, with nextest 0.9.148 and a test crate:

Today With the runner
Crashing test reported as ABORT ABORT (exit code passes through)
Passing tests, non-ASCII output unchanged unchanged
Crash dump none written; cdb reads it
Cost about 1 s per test process

macOS, Linux and local runs are unchanged.

RetriggerView in GreptileConfidence Score: 5/5

The PR appears safe to merge; the previous dump-upload issue is addressed.

Summary

Keeps Windows crash dumps from engine tests and prints their stacks.

  • Windows engine tests now keep crash dumps and print their stacks.

Reviews (2) · Last reviewed commit: "ci(verify): upload Windows crash dumps w..." · Reviewed by Greptile

@vercel

vercel Bot commented Oct 26, 2026 •

Copy link
Copy Markdown
Contributor

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
cap-status Ready Ready Preview Oct 26, 2026 4:34pm UTC

@capy-ai capy-ai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Capy found no issues.

View 1 other finding in Capy.

Open in Capy

Comment on lines +196 to +197
$dir = "$env:RUNNER_TEMP\verify-report\crash-dumps"
New-Item -ItemType Directory -Force $dir | Out-Null

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.

P2 Fixture crash dumps disappear

If prepare_recorded_fixtures crashes, Windows saves its dump here, but the failed preparation step skips Test. Upload report then skips too: it only accepts a skipped test when the macOS collector sets collected=true. The printed stack remains, but the dump disappears with the runner.

Let the Windows collector signal that dumps exist, and include that signal in the upload condition.

Prompt To Fix With AI
This is a comment left during a code review.
Path: .github/workflows/engine-verify-os.yml
Line: 196-197

Comment:
**Fixture crash dumps disappear**

If `prepare_recorded_fixtures` crashes, Windows saves its dump here, but the failed preparation step skips `Test`. `Upload report` then skips too: it only accepts a skipped test when the macOS collector sets `collected=true`. The printed stack remains, but the dump disappears with the runner.

Let the Windows collector signal that dumps exist, and include that signal in the upload condition.

---

For each issue above, determine whether it is valid and should be fixed. If so, fix it directly.

@richiemcilroy

Copy link
Copy Markdown
Member Author

@greptileai review

@capy-ai capy-ai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Capy found no issues.

View 2 other findings in Capy.

Open in Capy

@richiemcilroy
richiemcilroy merged commit bedfd82 into main Oct 26, 2026
49 checks passed

This branch was successfully deployed

2 active deployments
Preview – cap-web — 773f83f5 Deployed Oct 26, 2026 by vercel[bot]
Preview – cap-status — 773f83f5 Deployed Oct 26, 2026 by vercel[bot]
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