{"record":{"id":"19f0913717406655","repo":"quarkusio/quarkus","slug":"failed-to-start-quarkus","errorCode":null,"errorMessage":"Failed to start Quarkus","messagePattern":"Failed to start Quarkus","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"critical","filePath":"core/deployment/src/main/java/io/quarkus/runner/bootstrap/StartupActionImpl.java","lineNumber":450,"sourceCode":"                        }\n                        // This will read the state of the curated application at the time of closing;\n                        // If the caller of close knows that the 'next' application shares a curated application, it can set eligible for reuse to true\n                        if (!curatedApplication.isEligibleForReuse()) {\n                            if (curatedApplication.getQuarkusBootstrap().getMode() == QuarkusBootstrap.Mode.TEST\n                                    && !curatedApplication.getQuarkusBootstrap().isAuxiliaryApplication()) {\n                                //for tests, we just always shut down the curated application, as it is only used once\n                                //dev mode might be about to restart, so we leave it\n                                curatedApplication.close();\n                            }\n                        }\n                    }\n                }\n            }, runtimeClassLoader);\n        } catch (InvocationTargetException e) {\n            if (e.getCause() instanceof Exception) {\n                throw (Exception) e.getCause();\n            }\n            throw new RuntimeException(\"Failed to start Quarkus\", e.getCause());\n        } finally {\n            Thread.currentThread().setContextClassLoader(old);\n        }\n\n    }\n\n    @Override\n    public QuarkusClassLoader getClassLoader() {\n        return runtimeClassLoader;\n    }\n\n    @Override\n    public Map<String, String> getOrInitialiseDevServicesProperties() {\n        ensureDevServicesStarted();\n        return devServicesProperties;\n    }\n\n    @Override","sourceCodeStart":432,"sourceCodeEnd":468,"githubUrl":"https://github.com/quarkusio/quarkus/blob/e1c734241f34c7919086ceb4c9262b4a58f6de44/core/deployment/src/main/java/io/quarkus/runner/bootstrap/StartupActionImpl.java#L432-L468","documentation":"When StartupActionImpl.run() invokes the application's main class reflectively, the invoked code itself throws. Non-Exception Throwables (e.g. Errors like NoClassDefFoundError, StackOverflowError) cannot be rethrown as Exception, so they are wrapped in RuntimeException(\"Failed to start Quarkus\") with the original cause attached.","triggerScenarios":"The application's startable main method throws an Error (not an Exception) during startup — e.g. NoClassDefFoundError from a missing or conflicting dependency, LinkageError from incompatible classes, OutOfMemoryError.","commonSituations":"Duplicate/incompatible library versions causing linkage errors at startup; JVM-level failures (OOM, metaspace) during boot; native-image-incompatible classes touched at startup.","solutions":["Read the wrapped getCause() to find the real Error and fix that first","Check for dependency version conflicts (mvn dependency:tree) causing NoClassDefFoundError/LinkageError","Increase JVM memory if the cause is OutOfMemoryError","Clean and rebuild to eliminate stale/incompatible compiled classes"],"exampleFix":null,"handlingStrategy":"try-catch","validationCode":"// preflight: check for known conflicting dependencies\n// mvn dependency:tree | grep -i conflicting-library","typeGuard":null,"tryCatchPattern":"try { action.run(); } catch (RuntimeException e) { if (\"Failed to start Quarkus\".equals(e.getMessage())) { Throwable cause = e.getCause(); /* handle Error e.g. NoClassDefFoundError */ } else { throw e; } }","preventionTips":["Always inspect getCause() — the real failure is an Error thrown by the app","Keep dependency versions aligned across modules","Watch JVM memory limits during startup","Run mvn clean when class/linkage errors appear"],"tags":["quarkus","startup","linkage"],"backgroundTag":"quarkus-startup-failed","analyzedSha":"e1c734241f34c7919086ceb4c9262b4a58f6de44","analyzedAt":"2026-09-05T17:01:29.979Z","contentChangedAt":"2026-09-05T17:01:29.979Z","schemaVersion":2},"datasetVersion":"2026-09-14T00:17:10.932Z"}