Reproduce
aorta sweep run --recipe recipes/sanitizers/daily-consan-tiny.yamlSet ROCJITSU_PREBUILT (unpacked rocjitsu bundle supplying rj_waitcheck and the ConSan hook) before running. aorta sets HSA_TOOLS_LIB, HSA_TOOLS_DISABLE_REGISTER, RJ_CONSAN_MODE, RJ_CONSAN_POLICY for you from the recipe's policy block.
Rebuild the fixtures
fixtures/isa/tiny.hsaco
a gfx code object built from fixtures/kernels/tiny_vecadd.hip
export PATH="${ROCM_PATH:-${ROCM_HOME:-/opt/rocm}}/lib/llvm/bin:${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.
fixtures/bin/consan_tiny_load
a host repro binary built from fixtures/kernels/consan_load.hip
export PATH="${ROCM_PATH:-${ROCM_HOME:-/opt/rocm}}/lib/llvm/bin:${PATH}"
mkdir -p recipes/sanitizers/fixtures/bin
hipcc --offload-arch=gfx950 -DOBJECT="\"$(pwd)/recipes/sanitizers/fixtures/isa/tiny.hsaco\"" recipes/sanitizers/fixtures/kernels/consan_load.hip -o recipes/sanitizers/fixtures/bin/consan_tiny_loadThe -DOBJECT define is required: it is how the binary learns which code object to load.
The exact invocations the nightly used are in .github/workflows/sanitizers-nightly.yml.
Artifacts not published
| Path | SHA-256 |
|---|---|
| fixtures/isa/tiny.hsaco | 35e1749bbbf3028ae8047bfd5b9df6632c97b0eb3a5591aa5777d32b2cbd8849 |
| fixtures/bin/consan_tiny_load | 074dcf75bba651806f358097cf95f68c4a437da5c16d986cee016d8f9ee8c3bb |
Recorded digests
| Key | Value |
|---|---|
| code_object:tiny.hsaco | 35e1749bbbf3028ae8047bfd5b9df6632c97b0eb3a5591aa5777d32b2cbd8849 |
| command | /workspace/aorta/recipes/sanitizers/fixtures/bin/consan_tiny_load |
| command_sha256 | 074dcf75bba651806f358097cf95f68c4a437da5c16d986cee016d8f9ee8c3bb |
| hook | /workspace/aorta/.sanitizer-nightly/rocjitsu-prebuilt/lib/librocjitsu_dbi_hooks.so |
| hook_sha256 | bb799f4bacf3938be04a8eda7766d410e8a4d3d4f2051d2b151a3ec24051a14b |
| selected_identity_sha256 | f9aa5c13d86e0e241bc0d7b7a438245b2fefbc27a7a82a84bbc8b53c024b5c10 |
| selected_kernel | tiny_vecadd |
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: 2 required inputs are CI-built and excluded by design, listed under artifacts not published with their SHA-256s.
| File | Size |
|---|---|
| REPRODUCE.md | 3.9 KB |
| env.json | 3.7 KB |
| sanitizer_report.json | 2.3 KB |