{"record":{"id":"bf060814c10e1cad","repo":"quarkusio/quarkus","slug":"unable-to-perform-live-reload-scanning","errorCode":null,"errorMessage":"Unable to perform live reload scanning","messagePattern":"Unable to perform live reload scanning","errorType":"exception","errorClass":"IllegalStateException","httpStatus":null,"severity":"error","filePath":"extensions/amazon-lambda/common-runtime/src/main/java/io/quarkus/amazon/lambda/runtime/LambdaHotReplacementRecorder.java","lineNumber":39,"sourceCode":"            return false;\n        HotReplacementContext hotReplacementContext = DevConsoleManager.getHotReplacementContext();\n        if (hotReplacementContext == null)\n            return false;\n\n        if ((nextUpdate > System.currentTimeMillis() && !hotReplacementContext.isTest())) {\n            if (hotReplacementContext.getDeploymentProblem() != null) {\n                throw new Exception(\"Hot Replacement Deployment issue\", hotReplacementContext.getDeploymentProblem());\n            }\n            return false;\n        }\n        synchronized (syncLock) {\n            if (nextUpdate < System.currentTimeMillis() || hotReplacementContext.isTest()) {\n                nextUpdate = System.currentTimeMillis() + HOT_REPLACEMENT_INTERVAL;\n                try {\n                    boolean restart = hotReplacementContext.doScan(true);\n                    return restart;\n                } catch (Exception e) {\n                    throw new IllegalStateException(\"Unable to perform live reload scanning\", e);\n                }\n            }\n        }\n        return false;\n    }\n\n    public void enable() {\n        enabled = true;\n    }\n}\n","sourceCodeStart":21,"sourceCodeEnd":50,"githubUrl":"https://github.com/quarkusio/quarkus/blob/e1c734241f34c7919086ceb4c9262b4a58f6de44/extensions/amazon-lambda/common-runtime/src/main/java/io/quarkus/amazon/lambda/runtime/LambdaHotReplacementRecorder.java#L21-L50","documentation":"During hot-replacement scanning in dev/live-reload mode, hotReplacementContext.doScan(true) threw an exception; the recorder wraps it in IllegalStateException. This is a dev-mode-only failure indicating the live reload infrastructure itself broke.","triggerScenarios":"checkHotReplacement() runs on a timer/invocation in dev mode; when nextUpdate has elapsed (or isTest()), doScan(true) throws any Exception.","commonSituations":"Compilation errors during incremental dev-mode rebuild; corrupted target/classes while the app was running; IDE and Maven writing to the same output dir simultaneously; file-watching issues in mounted volumes (containers/Windows).","solutions":["Read the full stack trace (cause) to see the underlying scanning failure and fix it","Restart the dev-mode process (Ctrl+C and mvn quarkus:dev) to rebuild a clean state","Run mvn clean then restart dev mode to purge stale classes","Avoid running IDE auto-build and Quarkus dev mode writing to the same directory; exclude target/ from container volume sync issues"],"exampleFix":null,"handlingStrategy":"try-catch","validationCode":null,"typeGuard":null,"tryCatchPattern":"try { boolean restart = lambdaHotReplacementRecorder.checkHotReplacement(); } catch (IllegalStateException e) { log.warn(\"Live reload failed; restarting dev mode\", e); /* fall back to manual restart */ }","preventionTips":["Avoid concurrent builds (IDE + Maven) on the same output directory","Run mvn clean when dev mode behaves oddly","Keep project files on a local filesystem, not network/container mounts","Fix compile errors promptly; hot reload breaks on repeated failed builds"],"tags":["quarkus","amazon-lambda","dev-mode","live-reload"],"backgroundTag":"live-reload-scan-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"}