{"record":{"id":"6b8894dc288055a1","repo":"quarkusio/quarkus","slug":"cannot-reset-reloadable-file-manager","errorCode":null,"errorMessage":"Cannot reset reloadable file manager","messagePattern":"Cannot reset reloadable file manager","errorType":"exception","errorClass":"RuntimeException","httpStatus":null,"severity":"error","filePath":"core/deployment/src/main/java/io/quarkus/deployment/dev/filesystem/ReloadableFileManager.java","lineNumber":269,"sourceCode":"\n    @Override\n    public boolean contains(Location location, FileObject fo) throws IOException {\n        return super.contains(location, fo) || (this.reloadableFileManager != null\n                && this.reloadableFileManager.contains(location, fo));\n    }\n\n    @Override\n    public Iterable<? extends JavaFileObject> getJavaSources(Iterable<? extends File> files) {\n        return this.fileManager.getJavaFileObjectsFromFiles(files);\n    }\n\n    @Override\n    public void reset(Context context) {\n        try {\n            this.reloadableFileManager.close();\n            this.reloadableFileManager.setLocation(StandardLocation.CLASS_PATH, context.getReloadableClassPath());\n        } catch (IOException e) {\n            throw new RuntimeException(\"Cannot reset reloadable file manager\", e);\n        }\n        super.reset(context);\n    }\n\n    @Override\n    public void close() throws IOException {\n        this.reloadableFileManager.close();\n        super.close();\n    }\n\n    /**\n     * A class loader that combines multiple class loaders into one.<br>\n     * The classes loaded by this class loader are associated with this class loader,\n     * i.e. Class.getClassLoader() points to this class loader.\n     */\n    public static class JoinClassLoader extends ClassLoader {\n\n        private final ClassLoader[] delegateClassLoaders;","sourceCodeStart":251,"sourceCodeEnd":287,"githubUrl":"https://github.com/quarkusio/quarkus/blob/e1c734241f34c7919086ceb4c9262b4a58f6de44/core/deployment/src/main/java/io/quarkus/deployment/dev/filesystem/ReloadableFileManager.java#L251-L287","documentation":"ReloadableFileManager.reset reinitializes the underlying reloadable StandardJavaFileManager between hot reloads (close + re-set CLASS_PATH). This error is thrown when those operations throw IOException, meaning the dev-mode compiler file manager could not be recycled for the next reload cycle.","triggerScenarios":"Calling reset(Context) during a Quarkus live reload when reloadableFileManager.close() or setLocation(CLASS_PATH, reloadableClassPath) throws IOException.","commonSituations":"Reloadable class path directory removed/locked while app is running (clean by IDE during dev mode, AV scan); stale handles on Windows; corrupted target/classes after an interrupted build.","solutions":["Restart dev mode after a ./mvnw clean to rebuild class path directories","Stop IDE auto-build/'clean on save' while quarkus:dev is running (IntelliJ/Eclipse writing to same target dir)","Check for file locks (antivirus, sync clients like Dropbox/OneDrive on the project dir)","Upgrade Quarkus — several reloadable file manager reset bugs were patched"],"exampleFix":"// before: IDE auto-make triggering conflict\nSettings > Compiler > Build project automatically = ON (with quarkus:dev)\n// after: disable automatic build or use 'delegate to Maven' so only one process writes target/","handlingStrategy":"try-catch","validationCode":"if (!Files.isDirectory(reloadableClassPath)) {\n    throw new IllegalStateException(\"Reloadable class path missing: \" + reloadableClassPath + \" — restart dev mode after clean\");\n}","typeGuard":null,"tryCatchPattern":"try {\n    context.reset(); // triggers ReloadableFileManager.reset\n} catch (RuntimeException e) {\n    if (e.getMessage() != null && e.getMessage().contains(\"Cannot reset reloadable file manager\")) {\n        // restart dev mode; investigate locks on target/classes\n    }\n    throw e;\n}","preventionTips":["Disable IDE auto-build while continuous compilation runs","Exclude the project directory from antivirus/sync tools","If reload failures recur, do mvn clean and restart quarkus:dev"],"tags":["compiler","live-reload","dev-mode"],"backgroundTag":"file-manager-init-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"}