oracle/graal · error · ValueError
Unhandled Renaissance version for native-image benchmark fil
Error message
Unhandled Renaissance version for native-image benchmark filtering: {version} What it means
Renaissance suite filtering for native-image keeps an explicit per-version removal list of benchmarks that cannot be native-image-generated. A version outside the known set (0.14.1, 0.15.0, 0.16.0, 0.16.1) reaches the trailing raise because no filter list is defined for it.
Source
Thrown at sdk/mx.sdk/mx_sdk_benchmark.py:4136
del benchmarks["dec-tree"]
del benchmarks["log-regression"]
del benchmarks["naive-bayes"]
return benchmarks
if version in ["0.16.0", "0.16.1"]:
del benchmarks["page-rank"]
del benchmarks["neo4j-analytics"]
del benchmarks["naive-bayes"]
del benchmarks["movie-lens"]
del benchmarks["log-regression"]
del benchmarks["gauss-mix"]
del benchmarks["dec-tree"]
del benchmarks["db-shootout"]
del benchmarks["chi-square"]
del benchmarks["als"]
return benchmarks
raise ValueError(f"Unhandled Renaissance version for native-image benchmark filtering: {version}")
def completeBenchmarkList(self, bmSuiteArgs):
return sorted(bench for bench in _renaissanceConfig)
def defaultSuiteVersion(self):
return self.availableSuiteVersions()[-1]
def availableSuiteVersions(self):
return ["0.14.1", "0.15.0", "0.16.0", "0.16.1"]
def renaissancePath(self):
lib = mx.library(self.renaissanceLibraryName())
if lib:
return lib.get_path(True)
return None
def postprocessRunArgs(self, benchname, runArgs):
parser = argparse.ArgumentParser(add_help=False)View on GitHub (pinned to a66e9ccd1d)
Solutions
- Use one of the supported versions: --suite-version=0.16.1 (or another of 0.14.1/0.15.0/0.16.0).
- If you maintain the suite, add a branch for the new version listing benchmarks to exclude from native-image runs.
- Verify the version string matches exactly (no 'v' prefix, no trailing whitespace).
Example fix
# before mx benchmark renaissance:... -- --native-image --suite-version=0.17.0 # -> ValueError # after mx benchmark renaissance:... -- --native-image --suite-version=0.16.1
Defensive patterns
Strategy: validation
Validate before calling
supported = {"0.14.1", "0.15.0", "0.16.0", "0.16.1"}
assert version in supported, (
f"Renaissance native-image filtering unhandled for {version}; "
f"use one of {sorted(supported)} or extend the filter table.") Prevention
- Pin the Renaissance suite version in benchmark scripts.
- When adding a new Renaissance version, add its native-image exclusion list in the same commit.
- Validate the version string early (exact match, no prefixes).
When it happens
Trigger: Running Renaissance native-image benchmarks with --suite-version=<newer version> (e.g. a freshly released Renaissance) that the suite has not been taught about.
Common situations: A new Renaissance release is added to suite.py libraries but the filtering table is not extended; users overriding the version on the command line.
Related errors
- Setting the VM option '-Dnative-image.benchmark.stages' is n
- Native Image benchmarks do not support additional options, b
- Expected staged GraalHost run config at '{run_config_path}'
- Neither {daCapoClasspathEnvVarName} variable nor {daCapoLibr
- data location is not supported for suite version '{self.vers
AI-assisted analysis of oracle/graal@a66e9ccd1d (2026-08-14).
Data as JSON: /api/errors/c1220c5d3aba70b0.
Report an issue: GitHub.