{"record":{"id":"04cc209d6a4116f0","repo":"quarkusio/quarkus","slug":"failed-to-set-dev-services-override-config","errorCode":null,"errorMessage":"Failed to set dev services override config","messagePattern":"Failed to set dev services override config","errorType":"exception","errorClass":"RuntimeException","httpStatus":null,"severity":"error","filePath":"core/deployment/src/main/java/io/quarkus/runner/bootstrap/StartupActionImpl.java","lineNumber":368,"sourceCode":"    private void setDevServicesConfigSourceValues(DevServicesRegistryBuildItem.DevServicesStartResult startResult) {\n        try {\n            Class<?> configSourceClass = runtimeClassLoader\n                    .loadClass(\"io.quarkus.devservice.runtime.config.DevServicesConfigSource\");\n            configSourceClass.getMethod(\"setConfig\", Map.class).invoke(null, startResult.configs());\n        } catch (ClassNotFoundException e) {\n            // devservices runtime module not available\n        } catch (ReflectiveOperationException e) {\n            throw new RuntimeException(\"Failed to set dev services config\", e);\n        }\n\n        try {\n            Class<?> overrideConfigSourceClass = runtimeClassLoader\n                    .loadClass(\"io.quarkus.devservice.runtime.config.DevServicesOverrideConfigSource\");\n            overrideConfigSourceClass.getMethod(\"setConfig\", Map.class).invoke(null, startResult.overrideConfigs());\n        } catch (ClassNotFoundException e) {\n            // devservices runtime module not available\n        } catch (ReflectiveOperationException e) {\n            throw new RuntimeException(\"Failed to set dev services override config\", e);\n        }\n    }\n\n    /**\n     * Runs the application, and returns a handle that can be used to shut it down.\n     */\n    public RunningQuarkusApplication run(String... args) throws Exception {\n\n        if (runtimeClassLoader.isClosed()) {\n            throw new RuntimeException(\n                    \"Internal error: An attempt was made to start an application which had already been started and closed. The affected ClassLoader is \"\n                            + runtimeClassLoader);\n\n        }\n        // Start dev services that weren't started in the augmentation phase\n        ensureDevServicesStarted();\n        InitialConfigurator.DELAYED_HANDLER.buildTimeComplete();\n","sourceCodeStart":350,"sourceCodeEnd":386,"githubUrl":"https://github.com/quarkusio/quarkus/blob/e1c734241f34c7919086ceb4c9262b4a58f6de44/core/deployment/src/main/java/io/quarkus/runner/bootstrap/StartupActionImpl.java#L350-L386","documentation":"Analogous to the dev services config error, but for DevServicesOverrideConfigSource carrying override configs. When the reflective setConfig(Map) invocation on the runtime class loader fails, the code throws RuntimeException(\"Failed to set dev services override config\").","triggerScenarios":"Same reflective mismatch: io.quarkus.devservice.runtime.config.DevServicesOverrideConfigSource lacks setConfig(Map) or the invocation throws, usually from mixed Quarkus module versions.","commonSituations":"Version skew between quarkus core and dev-services runtime modules after an upgrade; stale locally-built artifacts; overridden classpath entries in dev-mode applications.","solutions":["Align all Quarkus modules to one version and rebuild","Confirm DevServicesOverrideConfigSource has a static setConfig(Map) method","Check the chained cause for the underlying reflective error","Purge stale io.quarkus artifacts from the local repository and rebuild"],"exampleFix":null,"handlingStrategy":"try-catch","validationCode":"try {\n    Class.forName(\"io.quarkus.devservice.runtime.config.DevServicesOverrideConfigSource\", true, runtimeClassLoader);\n} catch (ClassNotFoundException e) {\n    // devservices runtime module missing\n}","typeGuard":null,"tryCatchPattern":"try { action.run(); } catch (RuntimeException e) { if (\"Failed to set dev services override config\".equals(e.getMessage())) { log.error(\"override config injection failed\", e.getCause()); } else { throw e; } }","preventionTips":["Avoid mixing Quarkus versions on the classpath","Purge stale local io.quarkus artifacts after upgrades","Check e.getCause() for the reflective root cause"],"tags":["quarkus","dev-services","reflection","config"],"backgroundTag":"dev-services-config-injection-failed","analyzedSha":"e1c734241f34c7919086ceb4c9262b4a58f6de44","analyzedAt":"2026-09-05T17:01:29.979Z","contentChangedAt":"2026-09-05T17:01:29.979Z","schemaVersion":2},"datasetVersion":"2026-09-12T22:17:10.623Z"}