{"record":{"id":"fb86674c5983de51","repo":"oracle/graal","slug":"compiler-configuration-s-not-found-available-c","errorCode":null,"errorMessage":"Compiler configuration '%s' not found. Available configurations are: %s","messagePattern":"Compiler configuration '(.+?)' not found\\. Available configurations are: (.+?)","errorType":"exception","errorClass":"GraalError","httpStatus":null,"severity":"error","filePath":"compiler/src/jdk.graal.compiler/src/jdk/graal/compiler/hotspot/CompilerConfigurationFactory.java","lineNumber":239,"sourceCode":"        CompilerConfigurationFactory factory = null;\n        try (InitTimer t = timer(\"CompilerConfigurationFactory.selectFactory\")) {\n            String value = name == null ? Options.CompilerConfiguration.getValue(options) : name;\n            if (\"help\".equals(value)) {\n                System.out.println(\"The available compiler configurations are:\");\n                for (CompilerConfigurationFactory candidate : getAllCandidates()) {\n                    System.out.println(\"    \" + candidate.name + \" priority \" + candidate.autoSelectionPriority);\n                }\n                HotSpotGraalServices.exit(0, runtime);\n            } else if (value != null) {\n                for (CompilerConfigurationFactory candidate : getAllCandidates()) {\n                    if (candidate.name.equals(value)) {\n                        // Selects highest priority candidate with specified name\n                        factory = candidate;\n                        break;\n                    }\n                }\n                if (factory == null) {\n                    throw new GraalError(\"Compiler configuration '%s' not found. Available configurations are: %s\", value,\n                                    getAllCandidates().stream().map(c -> c.name).distinct().collect(Collectors.joining(\", \")));\n                }\n            } else {\n                List<CompilerConfigurationFactory> candidates = getAllCandidates();\n                if (candidates.isEmpty()) {\n                    throw new GraalError(\"No %s providers found\", CompilerConfigurationFactory.class.getName());\n                }\n                factory = candidates.getFirst();\n            }\n        }\n        assert factory != null;\n\n        ShowConfigurationLevel level = Options.ShowConfiguration.getValue(options);\n        if (level != ShowConfigurationLevel.none && shownConfiguration.compareAndSet(0L, 1L)) {\n            switch (level) {\n                case info: {\n                    printConfigInfo(factory);\n                    break;","sourceCodeStart":221,"sourceCodeEnd":257,"githubUrl":"https://github.com/oracle/graal/blob/a66e9ccd1d7bf2552883939aa0788dfd0e294aab/compiler/src/jdk.graal.compiler/src/jdk/graal/compiler/hotspot/CompilerConfigurationFactory.java#L221-L257","documentation":"CompilerConfigurationFactory.selectFactory looks up the requested compiler configuration by exact name among all candidates discovered via getAllCandidates(); if no candidate's name equals the value, it throws GraalError listing the available configuration names. This guards typos in the jvmci compiler configuration selection.","triggerScenarios":"Setting the compiler configuration to an unknown name (e.g. -Dgraal.CompilerConfiguration=ejct or 'community') while no candidate factory with that exact name is on the classpath; case must match exactly.","commonSituations":"Typos or wrong case in -Dgraal.CompilerConfiguration; using a configuration name that only exists in a different GraalVM edition (enterprise-only names on Community builds); stale documentation naming a configuration that was renamed/removed in a newer release.","solutions":["Use a name from the error message's 'Available configurations are:' list (exact spelling/case)","Run with -Dgraal.ShowConfiguration=info (or the factory's print mode) to enumerate valid candidates for your build","If you expected the name to exist, check your GraalVM edition/version — some configurations are enterprise-only or were renamed"],"exampleFix":"# before\n-Dgraal.CompilerConfiguration=ejct  # GraalError: not found\n\n# after\n-Dgraal.CompilerConfiguration=eclipse   # name taken from the 'available' list","handlingStrategy":"validation","validationCode":"Set<String> valid = CompilerConfigurationFactory.getAllCandidates().stream().map(c -> c.name).collect(Collectors.toSet());\nif (!valid.contains(requested)) { /* reject before setting -Dgraal.CompilerConfiguration */ }","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Copy configuration names from -Dgraal.ShowConfiguration output, not memory","Treat a configuration list from a different edition/version as advisory only","Fail fast in launch scripts on unknown configuration names"],"tags":["graal-compiler","configuration","startup","hotspot"],"backgroundTag":null,"analyzedSha":"a66e9ccd1d7bf2552883939aa0788dfd0e294aab","analyzedAt":"2026-08-14T13:58:47.161Z","schemaVersion":2},"datasetVersion":"2026-08-15T22:17:37.221Z"}