Case error

Run2026-09-01T125503-33507543444Commitd11092a603d9fe07f12046d144540be1fa80c264Date2026-09-01 12:55:03 UTCTargetgfx950Reciperecipes/sanitizers/daily-consan-tiny.yamlExecutionerrorFindings0Containerrocm/pytorch:rocm7.2.4_ubuntu24.04_py3.12_pytorch_release_2.10.0@sha256:4449f856653602317e4101a76fce599c7fcd58ccec2e539951fce5f73083179erocjitsu bundlebed84edd689a56b7443f03a69cbe619d5fc2c1a4
Reasoncombined_hook_exit_86

Reproduce

aorta sweep run --recipe recipes/sanitizers/daily-consan-tiny.yaml

Set 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="$(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.o

The 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="$(python -c "from aorta.instrumentation.rocm_paths import resolve_rocm_roots; print(resolve_rocm_roots().llvm_bin_dir)"):${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_load

The -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

PathSHA-256
fixtures/isa/tiny.hsacoc235fc63ac56a6b5a6fd8b9ddd4ddd28455865918a52c04d0987f82c26ba8e35
fixtures/bin/consan_tiny_load0190807d3c4127fd159b1f40ce955962817387afc6bc7345813d7ef07482ce46

Recorded digests

KeyValue
code_object:tiny.hsacoc235fc63ac56a6b5a6fd8b9ddd4ddd28455865918a52c04d0987f82c26ba8e35
command/workspace/aorta/recipes/sanitizers/fixtures/bin/consan_tiny_load
command_sha2560190807d3c4127fd159b1f40ce955962817387afc6bc7345813d7ef07482ce46
hook/workspace/aorta/.sanitizer-nightly/rocjitsu-prebuilt/lib/librocjitsu_dbi_hooks.so
hook_sha256ec09f19e38fbedb0a1bcaeb4e88bae50df2da8b9c4ceb27a7c067a88364a6b02
selected_identity_sha2566bed16756b1fe6d0ec9878ca140736c64d50725aa3b797c858b72341b7eab473
selected_kerneltiny_vecadd

Files

Every file published for this case. Logs are gzipped. 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.