From 7d1d02bf87ce4f4cdacb65c3d67165faa3ab7516 Mon Sep 17 00:00:00 2001 From: Rob Stryker Date: Thu, 3 Sep 2026 17:08:00 -0400 Subject: [PATCH] Fixes #752 - race condition in publishing leads to blown away stack Signed-off-by: Rob Stryker --- .../spi/publishing/AbstractFilesystemPublishController.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/framework/bundles/org.jboss.tools.rsp.server.spi/src/main/java/org/jboss/tools/rsp/server/spi/publishing/AbstractFilesystemPublishController.java b/framework/bundles/org.jboss.tools.rsp.server.spi/src/main/java/org/jboss/tools/rsp/server/spi/publishing/AbstractFilesystemPublishController.java index 84e27044e..e69ff77b0 100644 --- a/framework/bundles/org.jboss.tools.rsp.server.spi/src/main/java/org/jboss/tools/rsp/server/spi/publishing/AbstractFilesystemPublishController.java +++ b/framework/bundles/org.jboss.tools.rsp.server.spi/src/main/java/org/jboss/tools/rsp/server/spi/publishing/AbstractFilesystemPublishController.java @@ -463,8 +463,9 @@ public FileVisitResult preVisitDirectory(final Path dir, @Override public FileVisitResult visitFile(final Path file, final BasicFileAttributes attrs) throws IOException { - Files.copy(file, - targetPath.resolve(sourcePath.relativize(file)), StandardCopyOption.REPLACE_EXISTING); + Path target = targetPath.resolve(sourcePath.relativize(file)); + Files.createDirectories(target.getParent()); + Files.copy(file, target, StandardCopyOption.REPLACE_EXISTING); return FileVisitResult.CONTINUE; } }