Case pass

Run2026-08-25-32846400271Commit905b1f9e3e16865eb1c6362e72846ffc391ec901Date2026-08-25Targetgfx950Reciperecipes/sanitizers/daily-consan-lds-dispatch.yamlExecutioncompleteFindings0Containerrocm/pytorch:rocm7.2.4_ubuntu24.04_py3.12_pytorch_release_2.10.0@sha256:4449f856653602317e4101a76fce599c7fcd58ccec2e539951fce5f73083179erocjitsu bundle97c1640b2f6529ef59a6dcf1068243107e190d09

Reproduce

aorta sweep run --recipe recipes/sanitizers/daily-consan-lds-dispatch.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/lds.hsaco

a gfx code object built from fixtures/kernels/lds_reduce.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/lds_reduce.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/lds.hsaco; else cp tmp.o recipes/sanitizers/fixtures/isa/lds.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/lds_dispatch

a host repro binary built from fixtures/kernels/lds_dispatch.hip

export PATH="${ROCM_PATH:-${ROCM_HOME:-/opt/rocm}}/lib/llvm/bin:${PATH}"
mkdir -p recipes/sanitizers/fixtures/bin
hipcc --offload-arch=gfx950 -DLDS_HSACO="\"$(pwd)/recipes/sanitizers/fixtures/isa/lds.hsaco\"" recipes/sanitizers/fixtures/kernels/lds_dispatch.hip -o recipes/sanitizers/fixtures/bin/lds_dispatch

The -DLDS_HSACO 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/lds.hsacob7e52d2eae6821ed134655e22cb0a2a23f1d19d6dd613b8cb3786de815c615b8
fixtures/bin/lds_dispatchaa1dd66638cc40ce635e79f89d946134607a034098a724d18ba25845b1d973d7

Recorded digests

KeyValue
code_object:lds.hsacob7e52d2eae6821ed134655e22cb0a2a23f1d19d6dd613b8cb3786de815c615b8
command/workspace/aorta/recipes/sanitizers/fixtures/bin/lds_dispatch
command_sha256aa1dd66638cc40ce635e79f89d946134607a034098a724d18ba25845b1d973d7
hook/workspace/aorta/.sanitizer-nightly/rocjitsu-prebuilt/lib/librocjitsu_dbi_hooks.so
hook_sha256fac74fad3fd8f0eef4058d15dd5a9fe326e50119d87605b49e284582572b1d68
selected_identity_sha256a05b8a3c556b1c5f953757a1b1947526427b5779f226d2a258610c23e7d0bbb1
selected_kernellds_reduce

Files

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.

FileSize
REPRODUCE.md4.2 KB
env.json4.0 KB
sanitizer_report.json5.8 KB