Reproduce
aorta sweep run --recipe recipes/sanitizers/daily-waitcheck-tiny.yamlSet ROCJITSU_PREBUILT (unpacked rocjitsu bundle supplying rj_waitcheck and the ConSan hook) before running.
Rebuild the fixtures
fixtures/isa/tiny.hsaco
a gfx code object built from fixtures/kernels/tiny_vecadd.hip
export PATH="$(python -c "from aorta.instrumentation.rocm_paths import resolve_rocm_roots; print(resolve_rocm_roots().llvm_bin_dir)"):${PATH}"
mkdir -p recipes/sanitizers/fixtures/isa
hipcc --genco --offload-arch=gfx950 recipes/sanitizers/fixtures/kernels/tiny_vecadd.hip -o tmp.o
if head -c 24 tmp.o | grep -qF __CLANG_OFFLOAD_BUNDLE__; then clang-offload-bundler --type=o --unbundle --input=tmp.o --targets=hipv4-amdgcn-amd-amdhsa--gfx950 --output=recipes/sanitizers/fixtures/isa/tiny.hsaco; else cp tmp.o recipes/sanitizers/fixtures/isa/tiny.hsaco; fi && rm -f tmp.oThe conditional matters: --genco emits a raw code object on some ROCm builds and a clang-offload bundle on others, and the recorded digest is of the unbundled object.
The exact invocations the nightly used are in .github/workflows/sanitizers-nightly.yml.
Artifacts not published
| Path | SHA-256 |
|---|---|
| fixtures/isa/tiny.hsaco | 682927c30ba191057c189fc16e6b5f1e19710950c7e1d979058d2bafcf0268d5 |
Recorded digests
| Key | Value |
|---|---|
| code_object:tiny.hsaco | 682927c30ba191057c189fc16e6b5f1e19710950c7e1d979058d2bafcf0268d5 |
| path | /workspace/aorta/.sanitizer-nightly/rocjitsu-prebuilt/bin/rj_waitcheck |
| sha256 | a70945fb1135a436c13c83ed96a6cff3655784138f4db3d20ef7315ade0a8968 |
Every file published for this case. Its logs, recipe copy and inputs were pruned for falling outside the nightly's log-retention window. It is not the whole recipe: 1 required input is CI-built and excluded by design, listed under artifacts not published with its SHA-256.
| File | Size |
|---|---|
| REPRODUCE.md | 3.2 KB |
| env.json | 2.5 KB |
| sanitizer_report.json | 1.7 KB |