dotnet/runtime · error · Exception
Didn't find any collections using
Error message
Didn't find any collections using %s
What it means
Raised by superpmi_diffs_setup.py at src/coreclr/scripts/superpmi_diffs_setup.py:248 when the HTTP request to list blobs under the JIT-EE version prefix in Azure blob storage (clrjit2/superpmi/collections/<jit_ee_version>/) throws an exception. The baseline MCH collections for this JIT-EE version could not be retrieved.
Solutions
- Retry — the failure is caught from urlopen and may be transient.
- Verify the JIT-EE version (printed at line 234) actually has collections uploaded to the superpmi container.
- Confirm the agent network/proxy can reach https://clrjit2.blob.core.windows.net/.
- If the JIT-EE version looks wrong, rebuild mcs so -printJITEEVersion returns the correct string.
Defensive patterns
Strategy: retry
Validate before calling
import urllib.request
try:
with urllib.request.urlopen(list_superpmi_container_uri, timeout=30) as r:
contents = r.read().decode('utf-8')
if not contents.strip():
raise SystemExit(f'No collections found for prefix {prefix}')
except Exception:
raise SystemExit(f'Could not reach {list_superpmi_container_uri} — check network/upload baseline') Try / catch
last_err = None
for attempt in range(3):
try:
contents = urllib.request.urlopen(list_superpmi_container_uri, timeout=30).read().decode('utf-8')
break
except Exception as e:
last_err = e
time.sleep(5)
else:
raise RuntimeError(f"Didn't find any collections using {list_superpmi_container_uri}") from last_err Prevention
- Upload baseline MCH collections for the JIT-EE version before running diffs.
- Ensure agent network egress to Azure storage is allowed.
When it happens
Trigger: Network/proxy failure reaching clrjit2.blob.core.windows.net; the JIT-EE version has no uploaded baseline collections; DNS or TLS error on the agent.
Common situations: A new JIT-EE version with no baseline uploaded yet; agent behind a firewall blocking Azure storage; transient network outage; wrong JIT-EE version derived from a broken mcs.
Related errors
- Cannot find System.Private.CoreLib.dll at
- Collection 'smoke_tests' is only available for 'nativeaot'…
- No baseline JIT found
- Unable to find MinGit asset for arch
- Comparison failed for the following files(s)
AI-assisted analysis of dotnet/runtime@60108ba66e (2026-08-10).
Data as JSON: /api/errors/09c5a34c24b0f14a.
Report an issue: GitHub.
Appendix: source
Thrown at src/coreclr/scripts/superpmi_diffs_setup.py:248
jit_ee_version = jit_ee_version.lower()
else:
raise Exception("Could not determine JIT-EE version")
print("JIT-EE version determined to be {}".format(jit_ee_version))
az_account_name = "clrjit2"
az_superpmi_container_name = "superpmi"
az_blob_storage_account_uri = "https://" + az_account_name + ".blob.core.windows.net/"
az_blob_storage_superpmi_container_uri = az_blob_storage_account_uri + az_superpmi_container_name
az_collections_root_folder = "collections"
prefix = az_collections_root_folder + "/" + jit_ee_version
prefix_urlencoded = urllib.parse.quote(prefix)
list_superpmi_container_uri = az_blob_storage_superpmi_container_uri + "?restype=container&comp=list&prefix=" + prefix_urlencoded + "/"
try:
contents = urllib.request.urlopen(list_superpmi_container_uri).read().decode('utf-8')
except Exception as exception:
raise Exception("Didn't find any collections using %s", list_superpmi_container_uri)
elem = ET.fromstring(contents)
# Each tuple is (target_os, target_arch, blob_arch) where blob_arch is the architecture
# directory used in blob storage. For wasm collections the MCH files are uploaded under
# the host architecture directory (e.g. <jit_ee_version>/browser/x64/) because the wasm
# mch_arch override in superpmi.py replaces mch_arch with the host arch. Recording the
# blob_arch separately lets us discover those collections while still recording the real
# target_arch ("wasm") in the per-partition JSON so the diffs script picks the wasm jit
# and passes --altjit.
if not target_windows and not do_asmdiffs:
targets = [("linux", "x64", "x64")]
elif host_bitness == 64:
targets = [
("windows", "x64", "x64"),
("windows", "arm64", "arm64"),
("linux", "x64", "x64"),
("linux", "arm64", "arm64"),View on GitHub (pinned to 60108ba66e)