-
Notifications
You must be signed in to change notification settings - Fork 3k
Closed
Labels
Milestone
Description
Describe the bug
I mentioned that Quarkus remote DEV is broken with 999-SNAPSHOT but works with 3.23.0. See #48142 and #47756 for 999-SNAPSHOT changes, I didn't check all Phillip PRs to indetify which makes the difference, I saw #45053 but that was in 3.23 so probably not causing it.
Expected behavior
Remote DEV mode works as it did with 3.23.0.
Actual behavior
Remote dev requests fail from the Quarkus DEV local process fails to connect to the remote process 2025-06-03 14:08:47,882 ERROR [io.qua.ver.htt.dep.dev.HttpRemoteDevClient] (Remote dev client thread) Remote dev request failed: java.net.SocketException: Connection reset
. The remote process sports following failures:
2025-06-03 14:08:47,885 WARN [io.net.boo.ServerBootstrap] (vert.x-acceptor-thread-0) Failed to register an accepted channel: [id: 0xff93c909, L:/127.0.0.1:1105 ! R:/127.0.0.1:43524]: java.lang.IllegalStateException
at io.vertx.core.net.impl.VertxEventLoopGroup.next(VertxEventLoopGroup.java:37)
at io.vertx.core.net.impl.VertxEventLoopGroup.register(VertxEventLoopGroup.java:53)
at io.netty.bootstrap.ServerBootstrap$ServerBootstrapAcceptor.channelRead(ServerBootstrap.java:241)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1357)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:440)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:868)
at io.netty.channel.nio.AbstractNioMessageChannel$NioMessageUnsafe.read(AbstractNioMessageChannel.java:97)
at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:796)
at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:732)
at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:658)
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:553)
at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:998)
at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
at java.base/java.lang.Thread.run(Thread.java:1583)
2025-06-03 14:08:47,885 ERROR [io.qua.ver.htt.run.dev.RemoteSyncHandler] (vert.x-worker-thread-1) Connect failed [Error Occurred After Shutdown]: java.lang.InterruptedException
at java.base/java.lang.Object.wait0(Native Method)
at java.base/java.lang.Object.wait(Object.java:366)
at io.quarkus.vertx.http.runtime.devmode.RemoteSyncHandler$3$1.call(RemoteSyncHandler.java:144)
at io.quarkus.vertx.http.runtime.devmode.RemoteSyncHandler$3$1.call(RemoteSyncHandler.java:130)
at io.vertx.core.impl.ContextImpl.lambda$executeBlocking$4(ContextImpl.java:192)
at io.vertx.core.impl.ContextInternal.dispatch(ContextInternal.java:270)
at io.vertx.core.impl.ContextImpl$1.execute(ContextImpl.java:221)
at io.vertx.core.impl.WorkerTask.run(WorkerTask.java:56)
at io.vertx.core.impl.TaskQueue.run(TaskQueue.java:81)
at org.jboss.threads.ContextHandler$1.runWith(ContextHandler.java:18)
at org.jboss.threads.EnhancedQueueExecutor$Task.doRunWith(EnhancedQueueExecutor.java:2651)
at org.jboss.threads.EnhancedQueueExecutor$Task.run(EnhancedQueueExecutor.java:2630)
at org.jboss.threads.EnhancedQueueExecutor.runThreadBody(EnhancedQueueExecutor.java:1622)
at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1589)
at org.jboss.threads.DelegatingRunnable.run(DelegatingRunnable.java:11)
at org.jboss.threads.ThreadLocalResettingRunnable.run(ThreadLocalResettingRunnable.java:11)
at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
at java.base/java.lang.Thread.run(Thread.java:1583)
2025-06-03 14:08:47,895 ERROR [io.qua.boo.cla.QuarkusClassLoader] (Classpath Change Timer) Failed to close io.quarkus.bootstrap.classloading.PathTreeClassPathElement[io.quarkus:quarkus-assistant-dev /tmp/repro/target/quarkus-app/lib/deployment/io.quarkus.quarkus-assistant-dev-999-SNAPSHOT.jar runtime=false resources=null] [Error Occurred After Shutdown]: java.nio.file.NoSuchFileException: /tmp/repro/target/quarkus-app/lib/deployment/io.quarkus.quarkus-assistant-dev-999-SNAPSHOT.jar
at java.base/sun.nio.fs.UnixException.translateToIOException(UnixException.java:92)
at java.base/sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:106)
at java.base/sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:111)
at java.base/sun.nio.fs.UnixPath.toRealPath(UnixPath.java:834)
at io.quarkus.fs.util.base.DelegatingPath.toRealPath(DelegatingPath.java:171)
at jdk.zipfs/jdk.nio.zipfs.ZipFileSystemProvider.lambda$removeFileSystem$0(ZipFileSystemProvider.java:324)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:571)
at jdk.zipfs/jdk.nio.zipfs.ZipFileSystemProvider.removeFileSystem(ZipFileSystemProvider.java:326)
at jdk.zipfs/jdk.nio.zipfs.ZipFileSystem.close(ZipFileSystem.java:526)
at io.quarkus.paths.ArchivePathTree$OpenArchivePathTree.close(ArchivePathTree.java:395)
at io.quarkus.paths.SharedArchivePathTree$SharedOpenArchivePathTree.close(SharedArchivePathTree.java:120)
at io.quarkus.paths.SharedArchivePathTree$CallerOpenPathTree.close(SharedArchivePathTree.java:221)
at io.quarkus.bootstrap.classloading.PathTreeClassPathElement.close(PathTreeClassPathElement.java:204)
at io.quarkus.bootstrap.classloading.QuarkusClassLoader.closeClassPathElements(QuarkusClassLoader.java:791)
at io.quarkus.bootstrap.classloading.QuarkusClassLoader.close(QuarkusClassLoader.java:774)
at io.quarkus.bootstrap.app.CuratedApplication.close(CuratedApplication.java:457)
at io.quarkus.deployment.dev.IsolatedDevModeMain.close(IsolatedDevModeMain.java:359)
at io.quarkus.bootstrap.runner.DevModeMediator$AppProcessCleanup.close(DevModeMediator.java:74)
at io.quarkus.bootstrap.runner.DevModeMediator$ChangeDetector.run(DevModeMediator.java:111)
at java.base/java.util.TimerThread.mainLoop(Timer.java:566)
at java.base/java.util.TimerThread.run(Timer.java:516)
2025-06-03 14:08:47,896 ERROR [io.qua.boo.cla.QuarkusClassLoader] (Classpath Change Timer) Failed to close io.quarkus.bootstrap.classloading.PathTreeClassPathElement[io.quarkus:quarkus-vertx-http-dev /tmp/repro/target/quarkus-app/lib/deployment/io.quarkus.quarkus-vertx-http-dev-999-SNAPSHOT.jar runtime=false resources=null] [Error Occurred After Shutdown]: java.nio.file.NoSuchFileException: /tmp/repro/target/quarkus-app/lib/deployment/io.quarkus.quarkus-vertx-http-dev-999-SNAPSHOT.jar
at java.base/sun.nio.fs.UnixException.translateToIOException(UnixException.java:92)
at java.base/sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:106)
at java.base/sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:111)
at java.base/sun.nio.fs.UnixPath.toRealPath(UnixPath.java:834)
at io.quarkus.fs.util.base.DelegatingPath.toRealPath(DelegatingPath.java:171)
at jdk.zipfs/jdk.nio.zipfs.ZipFileSystemProvider.lambda$removeFileSystem$0(ZipFileSystemProvider.java:324)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:571)
at jdk.zipfs/jdk.nio.zipfs.ZipFileSystemProvider.removeFileSystem(ZipFileSystemProvider.java:326)
at jdk.zipfs/jdk.nio.zipfs.ZipFileSystem.close(ZipFileSystem.java:526)
at io.quarkus.paths.ArchivePathTree$OpenArchivePathTree.close(ArchivePathTree.java:395)
at io.quarkus.paths.SharedArchivePathTree$SharedOpenArchivePathTree.close(SharedArchivePathTree.java:120)
at io.quarkus.paths.SharedArchivePathTree$CallerOpenPathTree.close(SharedArchivePathTree.java:221)
at io.quarkus.bootstrap.classloading.PathTreeClassPathElement.close(PathTreeClassPathElement.java:204)
at io.quarkus.bootstrap.classloading.QuarkusClassLoader.closeClassPathElements(QuarkusClassLoader.java:791)
at io.quarkus.bootstrap.classloading.QuarkusClassLoader.close(QuarkusClassLoader.java:774)
at io.quarkus.bootstrap.app.CuratedApplication.close(CuratedApplication.java:457)
at io.quarkus.deployment.dev.IsolatedDevModeMain.close(IsolatedDevModeMain.java:359)
at io.quarkus.bootstrap.runner.DevModeMediator$AppProcessCleanup.close(DevModeMediator.java:74)
at io.quarkus.bootstrap.runner.DevModeMediator$ChangeDetector.run(DevModeMediator.java:111)
at java.base/java.util.TimerThread.mainLoop(Timer.java:566)
at java.base/java.util.TimerThread.run(Timer.java:516)
2025-06-03 14:08:47,896 ERROR [io.qua.boo.cla.QuarkusClassLoader] (Classpath Change Timer) Failed to close io.quarkus.bootstrap.classloading.PathTreeClassPathElement[io.quarkus:quarkus-rest-dev /tmp/repro/target/quarkus-app/lib/deployment/io.quarkus.quarkus-rest-dev-999-SNAPSHOT.jar runtime=false resources=null] [Error Occurred After Shutdown]: java.nio.file.NoSuchFileException: /tmp/repro/target/quarkus-app/lib/deployment/io.quarkus.quarkus-rest-dev-999-SNAPSHOT.jar
at java.base/sun.nio.fs.UnixException.translateToIOException(UnixException.java:92)
at java.base/sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:106)
at java.base/sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:111)
at java.base/sun.nio.fs.UnixPath.toRealPath(UnixPath.java:834)
at io.quarkus.fs.util.base.DelegatingPath.toRealPath(DelegatingPath.java:171)
at jdk.zipfs/jdk.nio.zipfs.ZipFileSystemProvider.lambda$removeFileSystem$0(ZipFileSystemProvider.java:324)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:571)
at jdk.zipfs/jdk.nio.zipfs.ZipFileSystemProvider.removeFileSystem(ZipFileSystemProvider.java:326)
at jdk.zipfs/jdk.nio.zipfs.ZipFileSystem.close(ZipFileSystem.java:526)
at io.quarkus.paths.ArchivePathTree$OpenArchivePathTree.close(ArchivePathTree.java:395)
at io.quarkus.paths.SharedArchivePathTree$SharedOpenArchivePathTree.close(SharedArchivePathTree.java:120)
at io.quarkus.paths.SharedArchivePathTree$CallerOpenPathTree.close(SharedArchivePathTree.java:221)
at io.quarkus.bootstrap.classloading.PathTreeClassPathElement.close(PathTreeClassPathElement.java:204)
at io.quarkus.bootstrap.classloading.QuarkusClassLoader.closeClassPathElements(QuarkusClassLoader.java:791)
at io.quarkus.bootstrap.classloading.QuarkusClassLoader.close(QuarkusClassLoader.java:774)
at io.quarkus.bootstrap.app.CuratedApplication.close(CuratedApplication.java:457)
at io.quarkus.deployment.dev.IsolatedDevModeMain.close(IsolatedDevModeMain.java:359)
at io.quarkus.bootstrap.runner.DevModeMediator$AppProcessCleanup.close(DevModeMediator.java:74)
at io.quarkus.bootstrap.runner.DevModeMediator$ChangeDetector.run(DevModeMediator.java:111)
at java.base/java.util.TimerThread.mainLoop(Timer.java:566)
at java.base/java.util.TimerThread.run(Timer.java:516)
2025-06-03 14:08:47,897 ERROR [io.qua.boo.cla.QuarkusClassLoader] (Classpath Change Timer) Failed to close io.quarkus.bootstrap.classloading.PathTreeClassPathElement[io.quarkus:quarkus-arc-dev /tmp/repro/target/quarkus-app/lib/deployment/io.quarkus.quarkus-arc-dev-999-SNAPSHOT.jar runtime=false resources=null] [Error Occurred After Shutdown]: java.nio.file.NoSuchFileException: /tmp/repro/target/quarkus-app/lib/deployment/io.quarkus.quarkus-arc-dev-999-SNAPSHOT.jar
at java.base/sun.nio.fs.UnixException.translateToIOException(UnixException.java:92)
at java.base/sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:106)
at java.base/sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:111)
at java.base/sun.nio.fs.UnixPath.toRealPath(UnixPath.java:834)
at io.quarkus.fs.util.base.DelegatingPath.toRealPath(DelegatingPath.java:171)
at jdk.zipfs/jdk.nio.zipfs.ZipFileSystemProvider.lambda$removeFileSystem$0(ZipFileSystemProvider.java:324)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:571)
at jdk.zipfs/jdk.nio.zipfs.ZipFileSystemProvider.removeFileSystem(ZipFileSystemProvider.java:326)
at jdk.zipfs/jdk.nio.zipfs.ZipFileSystem.close(ZipFileSystem.java:526)
at io.quarkus.paths.ArchivePathTree$OpenArchivePathTree.close(ArchivePathTree.java:395)
at io.quarkus.paths.SharedArchivePathTree$SharedOpenArchivePathTree.close(SharedArchivePathTree.java:120)
at io.quarkus.paths.SharedArchivePathTree$CallerOpenPathTree.close(SharedArchivePathTree.java:221)
at io.quarkus.bootstrap.classloading.PathTreeClassPathElement.close(PathTreeClassPathElement.java:204)
at io.quarkus.bootstrap.classloading.QuarkusClassLoader.closeClassPathElements(QuarkusClassLoader.java:791)
at io.quarkus.bootstrap.classloading.QuarkusClassLoader.close(QuarkusClassLoader.java:774)
at io.quarkus.bootstrap.app.CuratedApplication.close(CuratedApplication.java:457)
at io.quarkus.deployment.dev.IsolatedDevModeMain.close(IsolatedDevModeMain.java:359)
at io.quarkus.bootstrap.runner.DevModeMediator$AppProcessCleanup.close(DevModeMediator.java:74)
at io.quarkus.bootstrap.runner.DevModeMediator$ChangeDetector.run(DevModeMediator.java:111)
at java.base/java.util.TimerThread.mainLoop(Timer.java:566)
at java.base/java.util.TimerThread.run(Timer.java:516)
How to Reproduce?
Reproducer:
quarkus create app repro -x=quarkus-rest
cd repro
export QUARKUS_LAUNCH_DEVMODE=true
mvn clean install -DskipITs -DskipTests -Dquarkus.package.jar.type=mutable-jar -Dquarkus.platform.version=999-SNAPSHOT -Dquarkus.platform.group-id=io.quarkus
java -Dquarkus.live-reload.password=qe -Dquarkus.http.port=1105 -jar target/quarkus-app/quarkus-run.jar
mvn -Dquarkus.package.jar.type=mutable-jar -Dquarkus.live-reload.password=qe -Dquarkus.live-reload.url=http://localhost:1105 quarkus:remote-dev -Dquarkus.platform.version=999-SNAPSHOT -Dquarkus.platform.group-id=io.quarkus
Output of uname -a
or ver
Fedora 39, Ubuntu latest
Output of java -version
JDK 21
Quarkus version or git rev
999-snapshot
Build tool (ie. output of mvnw --version
or gradlew --version
)
Apache Maven 3.9.9
Additional information
No response