{
  "artifacts_not_published": [
    {
      "path": "fixtures/isa/lds.hsaco",
      "sha256": "75d35abd7e15762e0c958c1e4957d4aff95c3c1b9535b96d61a133952c1e577a"
    },
    {
      "path": "fixtures/bin/lds_dispatch",
      "sha256": "ded4e7b336e6fea0b95c7f59f219c26dcd3a19ec83cbcdd5e8e5df30090ba708"
    }
  ],
  "case": "consan-lds-dispatch",
  "class": "survey",
  "command": "aorta sweep run --recipe recipes/sanitizers/daily-consan-lds-dispatch.yaml",
  "commit": "73409f79a56ac10ae5374b419e5737221daadc34",
  "container_image": "rocm/pytorch:rocm10.0_ubuntu26.04_py3.14_pytorch_release_2.13.0@sha256:3174cb7061d94c427da96c0edef4adea28046fa3f3b2ff3948dc4e995665ff8c",
  "date": "2026-09-17T11:20:50+00:00",
  "digests": {
    "code_object:lds.hsaco": "75d35abd7e15762e0c958c1e4957d4aff95c3c1b9535b96d61a133952c1e577a",
    "command": "/workspace/aorta/recipes/sanitizers/fixtures/bin/lds_dispatch",
    "command_sha256": "ded4e7b336e6fea0b95c7f59f219c26dcd3a19ec83cbcdd5e8e5df30090ba708",
    "hook": "/workspace/aorta/.sanitizer-nightly/rocjitsu-prebuilt/lib/librocjitsu_dbi_hooks.so",
    "hook_sha256": "35e793caddd1966afc7071334ba7484b5c28c73a9fd9203249267337373b92da",
    "selected_identity_sha256": "81eca89039519be72aed74d167ce802cce9eef2a84405992518fab074b6213a9",
    "selected_kernel": "lds_reduce"
  },
  "inputs": [],
  "logs_published": false,
  "observed": {
    "execution": "error",
    "findings": 0,
    "kernel_reasons": [
      {
        "code_object": "/workspace/aorta/recipes/sanitizers/fixtures/isa/lds.hsaco",
        "code_object_index": 0,
        "code_object_sha256": "75d35abd7e15762e0c958c1e4957d4aff95c3c1b9535b96d61a133952c1e577a",
        "entry_offset": null,
        "kernel": "lds_reduce",
        "reason": "consan_output_parse_error: reader 104555477756752 access site count mismatch"
      }
    ],
    "reason": "consan_output_parse_error: reader 104555477756752 access site count mismatch",
    "verdict": "error"
  },
  "rebuild": [
    {
      "caveat": "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.",
      "commands": [
        "export PATH=\"$(python -c \"from aorta.instrumentation.rocm_paths import resolve_rocm_roots; print(resolve_rocm_roots().llvm_bin_dir)\"):${PATH}\"",
        "export LD_LIBRARY_PATH=\"${LD_LIBRARY_PATH:+${LD_LIBRARY_PATH}:}$(python -c \"import os; from aorta.instrumentation.rocm_paths import resolve_rocm_roots as r; x = r(); print(os.pathsep.join(dict.fromkeys([str(x.core_lib_dir), str(x.lib_dir)])))\")\"",
        "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"
      ],
      "path": "fixtures/isa/lds.hsaco",
      "what": "a gfx code object built from fixtures/kernels/lds_reduce.hip"
    },
    {
      "caveat": "The -DLDS_HSACO define is required: it is how the binary learns which code object to load.",
      "commands": [
        "export PATH=\"$(python -c \"from aorta.instrumentation.rocm_paths import resolve_rocm_roots; print(resolve_rocm_roots().llvm_bin_dir)\"):${PATH}\"",
        "export LD_LIBRARY_PATH=\"${LD_LIBRARY_PATH:+${LD_LIBRARY_PATH}:}$(python -c \"import os; from aorta.instrumentation.rocm_paths import resolve_rocm_roots as r; x = r(); print(os.pathsep.join(dict.fromkeys([str(x.core_lib_dir), str(x.lib_dir)])))\")\"",
        "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"
      ],
      "path": "fixtures/bin/lds_dispatch",
      "what": "a host repro binary built from fixtures/kernels/lds_dispatch.hip"
    }
  ],
  "recipe": "recipes/sanitizers/daily-consan-lds-dispatch.yaml",
  "required_env": [
    {
      "purpose": "unpacked rocjitsu bundle supplying rj_waitcheck and the ConSan hook",
      "set_by": "operator",
      "var": "ROCJITSU_PREBUILT"
    },
    {
      "purpose": "ConSan hook to load",
      "set_by": "aorta",
      "var": "HSA_TOOLS_LIB"
    },
    {
      "purpose": "must be 1 so the hook is not double-registered",
      "set_by": "aorta",
      "var": "HSA_TOOLS_DISABLE_REGISTER"
    },
    {
      "purpose": "ConSan detection mode",
      "set_by": "aorta",
      "var": "RJ_CONSAN_MODE"
    },
    {
      "purpose": "ConSan reporting policy",
      "set_by": "aorta",
      "var": "RJ_CONSAN_POLICY"
    }
  ],
  "rocjitsu_commit": "6e6574b59b8a1283c95e85cb93dd0e4eeab378f2",
  "rocjitsu_run_url": "https://github.com/ROCm/rocm-systems/actions/runs/35209663700",
  "run": "2026-09-17T112050-35210422045",
  "run_url": "https://github.com/ROCm/aorta/actions/runs/35210422045",
  "schema": "aorta.sanitizer_run_area/0.1",
  "target": "gfx950"
}
