Skip to content

Maven dependency collection fails: java.io.FileNotFoundException: /path/to/dependency-3.x.x.pom.part (No such file or directory) #48704

@rgmz

Description

@rgmz

Describe the bug

When building a Quarkus application in a CI environment (private), I am frequently encountering build failures similar to below. It is not caused by a specific dependency, the "No such file or directory" differs every time.

The issue appears to stem from NonBlockingModelResolutionTaskRunner and related classes. This has not been an issue with Spring or other frameworks.

Expected behavior

The error /home/runner/.m2/repository/io/quarkus/arc/arc-processor/3.19.1/arc-processor-3.19.1.pom.part (No such file or directory) is quite strange, it's unclear to me what the specific failure is.

If it's a transport failure, could there be better handling or retries? Otherwise, try to make the issue more explicit.

Actual behavior

The build fails with the aforementioned issue, though like I said the actual issue isn't clear to me.

Some ideas:

  • Issue downloading the complete file from the remote repository
  • Issue writing the file to disk
  • A race condition where repository $c says "dependency has been downloaded" despite it returning a 404 because the dependency only exists in repository $a.
[ERROR] [io.quarkus.bootstrap.resolver.maven.NonBlockingModelResolutionTaskRunner] The following errors were encountered while processing Quarkus application dependencies:
[ERROR] [io.quarkus.bootstrap.resolver.maven.NonBlockingModelResolutionTaskRunner] 1)
 io.quarkus.bootstrap.resolver.maven.DeploymentInjectionException: Failed to collect dependencies for io.quarkus:quarkus-vertx-kotlin-deployment:jar:3.19.1
     at io.quarkus.bootstrap.resolver.maven.ApplicationDependencyResolver.collectDependencies (ApplicationDependencyResolver.java:831)
     at io.quarkus.bootstrap.resolver.maven.ApplicationDependencyResolver$ExtensionDependency.collectDeploymentDeps (ApplicationDependencyResolver.java:911)
     at io.quarkus.bootstrap.resolver.maven.ApplicationDependencyResolver$AppDep.collectDeploymentDeps (ApplicationDependencyResolver.java:766)
     at io.quarkus.bootstrap.resolver.maven.NonBlockingModelResolutionTaskRunner.lambda$run$0 (NonBlockingModelResolutionTaskRunner.java:34)
     at java.util.concurrent.CompletableFuture$AsyncRun.run (CompletableFuture.java:1804)
     at java.lang.Thread.run (Thread.java:1583)
 Caused by: org.eclipse.aether.collection.DependencyCollectionException: Failed to collect dependencies at io.quarkus:quarkus-vertx-kotlin-deployment:jar:3.19.1 -> io.quarkus:quarkus-arc-deployment:jar:3.19.1 -> io.quarkus.arc:arc-processor:jar:3.19.1
     at org.eclipse.aether.internal.impl.collect.DefaultDependencyCollector.collectDependencies (DefaultDependencyCollector.java:288)
     at org.eclipse.aether.internal.impl.DefaultRepositorySystem.collectDependencies (DefaultRepositorySystem.java:284)
     at io.quarkus.bootstrap.resolver.maven.ApplicationDependencyResolver.collectDependencies (ApplicationDependencyResolver.java:828)
     at io.quarkus.bootstrap.resolver.maven.ApplicationDependencyResolver$ExtensionDependency.collectDeploymentDeps (ApplicationDependencyResolver.java:911)
     at io.quarkus.bootstrap.resolver.maven.ApplicationDependencyResolver$AppDep.collectDeploymentDeps (ApplicationDependencyResolver.java:766)
     at io.quarkus.bootstrap.resolver.maven.NonBlockingModelResolutionTaskRunner.lambda$run$0 (NonBlockingModelResolutionTaskRunner.java:34)
     at java.util.concurrent.CompletableFuture$AsyncRun.run (CompletableFuture.java:1804)
     at java.lang.Thread.run (Thread.java:1583)
 Caused by: org.eclipse.aether.resolution.ArtifactDescriptorException: Failed to read artifact descriptor for io.quarkus.arc:arc-processor:jar:3.19.1
     at org.apache.maven.repository.internal.DefaultArtifactDescriptorReader.loadPom (DefaultArtifactDescriptorReader.java:255)
     at org.apache.maven.repository.internal.DefaultArtifactDescriptorReader.readArtifactDescriptor (DefaultArtifactDescriptorReader.java:171)
     at org.eclipse.aether.internal.impl.collect.DefaultDependencyCollector.resolveCachedArtifactDescriptor (DefaultDependencyCollector.java:538)
     at org.eclipse.aether.internal.impl.collect.DefaultDependencyCollector.getArtifactDescriptorResult (DefaultDependencyCollector.java:523)
     at org.eclipse.aether.internal.impl.collect.DefaultDependencyCollector.processDependency (DefaultDependencyCollector.java:410)
     at org.eclipse.aether.internal.impl.collect.DefaultDependencyCollector.processDependency (DefaultDependencyCollector.java:362)
     at org.eclipse.aether.internal.impl.collect.DefaultDependencyCollector.process (DefaultDependencyCollector.java:349)
     at org.eclipse.aether.internal.impl.collect.DefaultDependencyCollector.doRecurse (DefaultDependencyCollector.java:506)
     at org.eclipse.aether.internal.impl.collect.DefaultDependencyCollector.processDependency (DefaultDependencyCollector.java:458)
     at org.eclipse.aether.internal.impl.collect.DefaultDependencyCollector.processDependency (DefaultDependencyCollector.java:362)
     at org.eclipse.aether.internal.impl.collect.DefaultDependencyCollector.process (DefaultDependencyCollector.java:349)
     at org.eclipse.aether.internal.impl.collect.DefaultDependencyCollector.doRecurse (DefaultDependencyCollector.java:506)
     at org.eclipse.aether.internal.impl.collect.DefaultDependencyCollector.processDependency (DefaultDependencyCollector.java:458)
     at org.eclipse.aether.internal.impl.collect.DefaultDependencyCollector.processDependency (DefaultDependencyCollector.java:362)
     at org.eclipse.aether.internal.impl.collect.DefaultDependencyCollector.process (DefaultDependencyCollector.java:349)
     at org.eclipse.aether.internal.impl.collect.DefaultDependencyCollector.collectDependencies (DefaultDependencyCollector.java:254)
     at org.eclipse.aether.internal.impl.DefaultRepositorySystem.collectDependencies (DefaultRepositorySystem.java:284)
     at io.quarkus.bootstrap.resolver.maven.ApplicationDependencyResolver.collectDependencies (ApplicationDependencyResolver.java:828)
     at io.quarkus.bootstrap.resolver.maven.ApplicationDependencyResolver$ExtensionDependency.collectDeploymentDeps (ApplicationDependencyResolver.java:911)
     at io.quarkus.bootstrap.resolver.maven.ApplicationDependencyResolver$AppDep.collectDeploymentDeps (ApplicationDependencyResolver.java:766)
     at io.quarkus.bootstrap.resolver.maven.NonBlockingModelResolutionTaskRunner.lambda$run$0 (NonBlockingModelResolutionTaskRunner.java:34)
     at java.util.concurrent.CompletableFuture$AsyncRun.run (CompletableFuture.java:1804)
     at java.lang.Thread.run (Thread.java:1583)
 Caused by: org.eclipse.aether.resolution.ArtifactResolutionException: Could not transfer artifact io.quarkus.arc:arc-processor:pom:3.19.1 from/to central-mirror (https://<redacted>:443/artifactory/oss-maven-central/): /home/runner/.m2/repository/io/quarkus/arc/arc-processor/3.19.1/arc-processor-3.19.1.pom.part (No such file or directory)
     at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve (DefaultArtifactResolver.java:425)
     at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifacts (DefaultArtifactResolver.java:229)
     at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifact (DefaultArtifactResolver.java:207)
     at org.apache.maven.repository.internal.DefaultArtifactDescriptorReader.loadPom (DefaultArtifactDescriptorReader.java:240)
     at org.apache.maven.repository.internal.DefaultArtifactDescriptorReader.readArtifactDescriptor (DefaultArtifactDescriptorReader.java:171)
     at org.eclipse.aether.internal.impl.collect.DefaultDependencyCollector.resolveCachedArtifactDescriptor (DefaultDependencyCollector.java:538)
     at org.eclipse.aether.internal.impl.collect.DefaultDependencyCollector.getArtifactDescriptorResult (DefaultDependencyCollector.java:523)
     at org.eclipse.aether.internal.impl.collect.DefaultDependencyCollector.processDependency (DefaultDependencyCollector.java:410)
     at org.eclipse.aether.internal.impl.collect.DefaultDependencyCollector.processDependency (DefaultDependencyCollector.java:362)
     at org.eclipse.aether.internal.impl.collect.DefaultDependencyCollector.process (DefaultDependencyCollector.java:349)
     at org.eclipse.aether.internal.impl.collect.DefaultDependencyCollector.doRecurse (DefaultDependencyCollector.java:506)
     at org.eclipse.aether.internal.impl.collect.DefaultDependencyCollector.processDependency (DefaultDependencyCollector.java:458)
     at org.eclipse.aether.internal.impl.collect.DefaultDependencyCollector.processDependency (DefaultDependencyCollector.java:362)
     at org.eclipse.aether.internal.impl.collect.DefaultDependencyCollector.process (DefaultDependencyCollector.java:349)
     at org.eclipse.aether.internal.impl.collect.DefaultDependencyCollector.doRecurse (DefaultDependencyCollector.java:506)
     at org.eclipse.aether.internal.impl.collect.DefaultDependencyCollector.processDependency (DefaultDependencyCollector.java:458)
     at org.eclipse.aether.internal.impl.collect.DefaultDependencyCollector.processDependency (DefaultDependencyCollector.java:362)
     at org.eclipse.aether.internal.impl.collect.DefaultDependencyCollector.process (DefaultDependencyCollector.java:349)
     at org.eclipse.aether.internal.impl.collect.DefaultDependencyCollector.collectDependencies (DefaultDependencyCollector.java:254)
     at org.eclipse.aether.internal.impl.DefaultRepositorySystem.collectDependencies (DefaultRepositorySystem.java:284)
     at io.quarkus.bootstrap.resolver.maven.ApplicationDependencyResolver.collectDependencies (ApplicationDependencyResolver.java:828)
     at io.quarkus.bootstrap.resolver.maven.ApplicationDependencyResolver$ExtensionDependency.collectDeploymentDeps (ApplicationDependencyResolver.java:911)
     at io.quarkus.bootstrap.resolver.maven.ApplicationDependencyResolver$AppDep.collectDeploymentDeps (ApplicationDependencyResolver.java:766)
     at io.quarkus.bootstrap.resolver.maven.NonBlockingModelResolutionTaskRunner.lambda$run$0 (NonBlockingModelResolutionTaskRunner.java:34)
     at java.util.concurrent.CompletableFuture$AsyncRun.run (CompletableFuture.java:1804)
     at java.lang.Thread.run (Thread.java:1583)
 Caused by: org.eclipse.aether.transfer.ArtifactTransferException: Could not transfer artifact io.quarkus.arc:arc-processor:pom:3.19.1 from/to central-mirror (https://<redacted>:443/artifactory/oss-maven-central/): /home/runner/.m2/repository/io/quarkus/arc/arc-processor/3.19.1/arc-processor-3.19.1.pom.part (No such file or directory)
     at org.eclipse.aether.connector.basic.ArtifactTransportListener.transferFailed (ArtifactTransportListener.java:52)
     at org.eclipse.aether.connector.basic.BasicRepositoryConnector$TaskRunner.run (BasicRepositoryConnector.java:369)
     at org.eclipse.aether.util.concurrency.RunnableErrorForwarder$1.run (RunnableErrorForwarder.java:75)
     at org.eclipse.aether.connector.basic.BasicRepositoryConnector$DirectExecutor.execute (BasicRepositoryConnector.java:628)
     at org.eclipse.aether.connector.basic.BasicRepositoryConnector.get (BasicRepositoryConnector.java:262)
     at org.eclipse.aether.internal.impl.DefaultArtifactResolver.performDownloads (DefaultArtifactResolver.java:514)
     at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve (DefaultArtifactResolver.java:402)
     at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifacts (DefaultArtifactResolver.java:229)
     at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifact (DefaultArtifactResolver.java:207)
     at org.apache.maven.repository.internal.DefaultArtifactDescriptorReader.loadPom (DefaultArtifactDescriptorReader.java:240)
     at org.apache.maven.repository.internal.DefaultArtifactDescriptorReader.readArtifactDescriptor (DefaultArtifactDescriptorReader.java:171)
     at org.eclipse.aether.internal.impl.collect.DefaultDependencyCollector.resolveCachedArtifactDescriptor (DefaultDependencyCollector.java:538)
     at org.eclipse.aether.internal.impl.collect.DefaultDependencyCollector.getArtifactDescriptorResult (DefaultDependencyCollector.java:523)
     at org.eclipse.aether.internal.impl.collect.DefaultDependencyCollector.processDependency (DefaultDependencyCollector.java:410)
     at org.eclipse.aether.internal.impl.collect.DefaultDependencyCollector.processDependency (DefaultDependencyCollector.java:362)
     at org.eclipse.aether.internal.impl.collect.DefaultDependencyCollector.process (DefaultDependencyCollector.java:349)
     at org.eclipse.aether.internal.impl.collect.DefaultDependencyCollector.doRecurse (DefaultDependencyCollector.java:506)
     at org.eclipse.aether.internal.impl.collect.DefaultDependencyCollector.processDependency (DefaultDependencyCollector.java:458)
     at org.eclipse.aether.internal.impl.collect.DefaultDependencyCollector.processDependency (DefaultDependencyCollector.java:362)
     at org.eclipse.aether.internal.impl.collect.DefaultDependencyCollector.process (DefaultDependencyCollector.java:349)
     at org.eclipse.aether.internal.impl.collect.DefaultDependencyCollector.doRecurse (DefaultDependencyCollector.java:506)
     at org.eclipse.aether.internal.impl.collect.DefaultDependencyCollector.processDependency (DefaultDependencyCollector.java:458)
     at org.eclipse.aether.internal.impl.collect.DefaultDependencyCollector.processDependency (DefaultDependencyCollector.java:362)
     at org.eclipse.aether.internal.impl.collect.DefaultDependencyCollector.process (DefaultDependencyCollector.java:349)
     at org.eclipse.aether.internal.impl.collect.DefaultDependencyCollector.collectDependencies (DefaultDependencyCollector.java:254)
     at org.eclipse.aether.internal.impl.DefaultRepositorySystem.collectDependencies (DefaultRepositorySystem.java:284)
     at io.quarkus.bootstrap.resolver.maven.ApplicationDependencyResolver.collectDependencies (ApplicationDependencyResolver.java:828)
     at io.quarkus.bootstrap.resolver.maven.ApplicationDependencyResolver$ExtensionDependency.collectDeploymentDeps (ApplicationDependencyResolver.java:911)
     at io.quarkus.bootstrap.resolver.maven.ApplicationDependencyResolver$AppDep.collectDeploymentDeps (ApplicationDependencyResolver.java:766)
     at io.quarkus.bootstrap.resolver.maven.NonBlockingModelResolutionTaskRunner.lambda$run$0 (NonBlockingModelResolutionTaskRunner.java:34)
     at java.util.concurrent.CompletableFuture$AsyncRun.run (CompletableFuture.java:1804)
     at java.lang.Thread.run (Thread.java:1583)
Caused by: java.io.FileNotFoundException: /home/runner/.m2/repository/io/quarkus/arc/arc-processor/3.19.1/arc-processor-3.19.1.pom.part (No such file or directory)
    at java.io.FileInputStream.open0 (Native Method)
    at java.io.FileInputStream.open (FileInputStream.java:213)
    at java.io.FileInputStream.<init> (FileInputStream.java:152)
    at org.eclipse.aether.internal.impl.DefaultFileProcessor.copy (DefaultFileProcessor.java:163)
    at org.eclipse.aether.internal.impl.DefaultFileProcessor.copy (DefaultFileProcessor.java:151)
    at org.eclipse.aether.internal.impl.DefaultFileProcessor.move (DefaultFileProcessor.java:252)
    at org.eclipse.aether.connector.basic.BasicRepositoryConnector$GetTaskRunner.runTask (BasicRepositoryConnector.java:482)
    at org.eclipse.aether.connector.basic.BasicRepositoryConnector$TaskRunner.run (BasicRepositoryConnector.java:364)
    at org.eclipse.aether.util.concurrency.RunnableErrorForwarder$1.run (RunnableErrorForwarder.java:75)
    at org.eclipse.aether.connector.basic.BasicRepositoryConnector$DirectExecutor.execute (BasicRepositoryConnector.java:628)
    at org.eclipse.aether.connector.basic.BasicRepositoryConnector.get (BasicRepositoryConnector.java:262)
    at org.eclipse.aether.internal.impl.DefaultArtifactResolver.performDownloads (DefaultArtifactResolver.java:514)
    at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve (DefaultArtifactResolver.java:402)
    at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifacts (DefaultArtifactResolver.java:229)
    at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifact (DefaultArtifactResolver.java:207)
    at org.apache.maven.repository.internal.DefaultArtifactDescriptorReader.loadPom (DefaultArtifactDescriptorReader.java:240)
    at org.apache.maven.repository.internal.DefaultArtifactDescriptorReader.readArtifactDescriptor (DefaultArtifactDescriptorReader.java:171)
    at org.eclipse.aether.internal.impl.collect.DefaultDependencyCollector.resolveCachedArtifactDescriptor (DefaultDependencyCollector.java:538)
    at org.eclipse.aether.internal.impl.collect.DefaultDependencyCollector.getArtifactDescriptorResult (DefaultDependencyCollector.java:523)
    at org.eclipse.aether.internal.impl.collect.DefaultDependencyCollector.processDependency (DefaultDependencyCollector.java:410)
    at org.eclipse.aether.internal.impl.collect.DefaultDependencyCollector.processDependency (DefaultDependencyCollector.java:362)
    at org.eclipse.aether.internal.impl.collect.DefaultDependencyCollector.process (DefaultDependencyCollector.java:349)
    at org.eclipse.aether.internal.impl.collect.DefaultDependencyCollector.doRecurse (DefaultDependencyCollector.java:506)
    at org.eclipse.aether.internal.impl.collect.DefaultDependencyCollector.processDependency (DefaultDependencyCollector.java:458)
    at org.eclipse.aether.internal.impl.collect.DefaultDependencyCollector.processDependency (DefaultDependencyCollector.java:362)
    at org.eclipse.aether.internal.impl.collect.DefaultDependencyCollector.process (DefaultDependencyCollector.java:349)
    at org.eclipse.aether.internal.impl.collect.DefaultDependencyCollector.doRecurse (DefaultDependencyCollector.java:506)
    at org.eclipse.aether.internal.impl.collect.DefaultDependencyCollector.processDependency (DefaultDependencyCollector.java:458)
    at org.eclipse.aether.internal.impl.collect.DefaultDependencyCollector.processDependency (DefaultDependencyCollector.java:362)
    at org.eclipse.aether.internal.impl.collect.DefaultDependencyCollector.process (DefaultDependencyCollector.java:349)
    at org.eclipse.aether.internal.impl.collect.DefaultDependencyCollector.collectDependencies (DefaultDependencyCollector.java:254)
    at org.eclipse.aether.internal.impl.DefaultRepositorySystem.collectDependencies (DefaultRepositorySystem.java:284)
    at io.quarkus.bootstrap.resolver.maven.ApplicationDependencyResolver.collectDependencies (ApplicationDependencyResolver.java:828)
    at io.quarkus.bootstrap.resolver.maven.ApplicationDependencyResolver$ExtensionDependency.collectDeploymentDeps (ApplicationDependencyResolver.java:911)
    at io.quarkus.bootstrap.resolver.maven.ApplicationDependencyResolver$AppDep.collectDeploymentDeps (ApplicationDependencyResolver.java:766)
    at io.quarkus.bootstrap.resolver.maven.NonBlockingModelResolutionTaskRunner.lambda$run$0 (NonBlockingModelResolutionTaskRunner.java:34)
    at java.util.concurrent.CompletableFuture$AsyncRun.run (CompletableFuture.java:1804)
    at java.lang.Thread.run (Thread.java:1583)
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  49.536 s
[INFO] Finished at: 2025-02-27T15:50:52Z
[INFO] ------------------------------------------------------------------------

How to Reproduce?

No response

Output of uname -a or ver

No response

Output of java -version

21

Quarkus version or git rev

3.23.4

Build tool (ie. output of mvnw --version or gradlew --version)

No response

Additional information

  1. We have multiple repositories. There are attempts to download each dependency from multiple places, some of which may fail or return a 404.
  2. I am happy to share the mvn -X debug log privately. I've elected not to upload it, as I couldn't guarantee that it was free of sensitive information.

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions