LykosAI/StabilityMatrix · error · InvalidOperationException
No builds were found on the ROCm multi-arch index.
Error message
No {RocmSdkDevelPackageName} builds were found on the ROCm multi-arch index. What it means
EnsureWindowsSdkDevelAsync queries the ROCm multi-arch package index for available RocmSdkDevelPackageName builds and picks a version matching the installed torch's nightly build date (or the latest). If the resulting version string is null/whitespace - meaning the index returned no usable builds - it throws InvalidOperationException. This indicates an upstream index problem, not a local environment problem.
Solutions
- Check network access to the ROCm multi-arch index and retry later if it's a transient index issue
- Update the installed ROCm torch nightly so its build date token matches available SDK devel builds
- Verify the configured index URL for the ROCm SDK devel packages is current and returns a package list
- Report/pin a known-good combination of torch nightly and SDK devel versions if AMD's index dropped matching builds
Example fix
// before // torch nightly dev20250901 but index only has SDK devel for dev20250825 await rocmHelper.EnsureWindowsSdkDevelAsync(venvRunner, ...); // after await rocmHelper.InstallWindowsNativeTorchAsync(venvRunner, ...); // reinstall matching nightly await rocmHelper.EnsureWindowsSdkDevelAsync(venvRunner, ...);
Defensive patterns
Strategy: retry
Validate before calling
// fetch the index package list first; proceed only when non-empty
var builds = await rocmHelper.GetAvailableSdkDevelBuildsAsync();
if (builds.Count == 0) { /* abort or notify user: index has no builds */ } Try / catch
try { await rocmHelper.EnsureWindowsSdkDevelAsync(venvRunner, ...); }
catch (InvalidOperationException ex) when (ex.Message.Contains("builds were found"))
{
// retry after a delay or surface an upstream-index message to the user
} Prevention
- Keep torch nightly and SDK devel versions aligned (same dev date token)
- Handle transient AMD index outages with backoff/retry
- Pin a known-good torch+SDK devel pair for reproducible setups
When it happens
Trigger: The ROCm multi-arch index returned zero builds for RocmSdkDevelPackageName - e.g. the index URL is unreachable/parsed to an empty list, the nightly date token from the installed torch has no matching SDK devel build, or the index dropped older nightly builds matching the token.
Common situations: AMD's ROCm nightly index temporarily empty or restructured; installed torch nightly is newer than any published SDK devel build; network/proxy returned an empty package listing; the helper's index parsing failed silently.
Understand the failure class
Background: EmptyResultError / "no results found": when an API or scraper succeeds but returns zero rows — this error's family across 9 libraries.
Related errors
- Windows ROCm package commands are only supported on Windows.
- Installed package path is not available.
- Windows ROCm bitsandbytes is only supported on Python 3.12.x
- Expected SageAttention file
- pip index failed with code
AI-assisted analysis of LykosAI/StabilityMatrix@af93d6ef57 (2026-09-12).
Data as JSON: /api/errors/4d86bd29ab190f57.
Report an issue: GitHub.
Appendix: source
Thrown at StabilityMatrix.Core/Services/Rocm/RocmPackageHelper.cs:178
{
return;
}
var indexResult = await venvRunner
.PipIndex(RocmSdkDevelPackageName, multiArchPythonPackageIndexUrl)
.ConfigureAwait(false);
var latestVersion = indexResult?.AvailableVersions.FirstOrDefault();
var matchingVersion = string.IsNullOrWhiteSpace(nightlyBuildDateToken)
? null
: indexResult?.AvailableVersions.FirstOrDefault(version =>
HasNightlyBuildDateToken(version, nightlyBuildDateToken)
);
var versionToInstall = matchingVersion ?? latestVersion;
if (string.IsNullOrWhiteSpace(versionToInstall))
{
throw new InvalidOperationException(
$"No {RocmSdkDevelPackageName} builds were found on the ROCm multi-arch index."
);
}
if (!string.IsNullOrWhiteSpace(matchingVersion))
{
progress?.Report(
new ProgressReport(
-1f,
$"Installing {RocmSdkDevelPackageName} {matchingVersion} for Windows ROCm...",
isIndeterminate: true
)
);
}
else
{
progress?.Report(
new ProgressReport(View on GitHub (pinned to af93d6ef57)