fuzzlyn-triage

Triages Fuzzlyn CI failures by reproducing JIT assertions with superpmi and generating issue reports.

18.2k|5.6k|Updated Sep 24, 2019
One-click install
npx skills add https://github.com/dotnet/runtime --skill fuzzlyn-triage
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: fuzzlyn-triage
Source: https://github.com/dotnet/runtime/tree/main/.github/skills/fuzzlyn-triage
Command: npx skills add https://github.com/dotnet/runtime --skill fuzzlyn-triage

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Investigating Fuzzlyn fuzzer failures in .NET CI runs is a tedious manual process involving artifact downloads, assertion grouping, superpmi replay, and root-cause analysis of JIT dumps. This Skill automates that entire triage workflow.

Core Features & Use Cases

  • Artifact Collection: Downloads and extracts Issues artifacts and Helix payloads from Fuzzlyn CI runs in parallel.
  • Assertion Reproduction: Groups reduced examples by JIT assertion failure and replays .mc files with superpmi to isolate the exact failing context.
  • Root-Cause Analysis: Generates jitdump files, analyzes them against the JIT source code, and produces analysis.md and a ready-to-file issue.md with a details.zip attachment.
  • Use Case: A JIT engineer receives a link to a failing Fuzzlyn CI run and uses this Skill to automatically produce per-assertion repro folders containing repro.mc, jitdump.txt, and a draft GitHub issue cc'ing @dotnet/jit-contrib.

Quick Start

Triage the Fuzzlyn CI run at this link and produce repro folders with analysis and draft issues for each JIT assertion failure.

Frequently Asked Questions about fuzzlyn-triage

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I triage Fuzzlyn CI failures in the dotnet runtime?

Download the Issues artifacts from the CI run, group reduced examples by JIT assertion failure, then replay the .mc files with superpmi to find the failing context. Extract that context with mcs, generate a jitdump, and analyze it against the JIT source code.

How do I reproduce a JIT assertion failure with superpmi?

Run superpmi.exe with the target clrjit.dll and the .mc file to find the failing context index, then replay that single context with the -c flag to confirm the assertion reproduces instantly. Use mcs.exe -copy to extract the context into a standalone repro.mc file.

Which clrjit.dll should I use for superpmi replay?

Use the clrjit.dll matching the target platform where the example reproduced, not the host running triage. For example, use clrjit_unix_x64_x64.dll for examples that failed on linux-x64.

How do I download a Helix payload for a CI job?

Get the Job ID from the 'Send job to Helix' step in the CI run, then run 'runfo get-helix-payload -j <job ID> -w Partition0 -o <output directory>'. Choose the payload matching the host machine performing the triage.

Does this triage process modify the JIT source code?

No. The workflow only analyzes the jitdump against the existing JIT source under src/coreclr/jit to determine a root cause. All findings go into an analysis.md file without any source changes.