You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Guillaume Nodet (Jira)" <ji...@apache.org> on 2022/10/20 08:11:03 UTC

[jira] [Updated] (MNG-5592) Maven dependency resolution locks up

     [ https://issues.apache.org/jira/browse/MNG-5592?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Guillaume Nodet updated MNG-5592:
---------------------------------
    Fix Version/s: 4.0.0-alpha-2

> Maven dependency resolution locks up
> ------------------------------------
>
>                 Key: MNG-5592
>                 URL: https://issues.apache.org/jira/browse/MNG-5592
>             Project: Maven
>          Issue Type: Bug
>          Components: Artifacts and Repositories
>    Affects Versions: 3.1.1, 3.2.1, 3.5.0
>         Environment: OS/X,  Java 7 and Java 8
>            Reporter: Mark Derricutt
>            Assignee: Michael Osipov
>            Priority: Major
>             Fix For: 3.8.1, 4.0.0-alpha-1, 4.0.0-alpha-2, 4.0.0
>
>         Attachments: MNG-5592.zip, MNG-5592_testcase.zip, MNG-5592_testcase_locked_nocyclic.zip, mjml-cli.log, mng-5592-simplified.zip, mng-5592.zip
>
>
> One one of my larger integration projects that involves A LOT of version ranges across a broad range of dependencies I'm seeing that Maven locks up resolving dependencies.
> I've recently seen this in 3.1.1 but it's happening more and more often under 3.2.1.
> It appears that Eclipse Aether is falling into a circular loop somewhere and locking up.
> {code}
> "main" #1 prio=5 os_prio=31 tid=0x00007f966b001000 nid=0x1903 runnable [0x0000000103559000]
>    java.lang.Thread.State: RUNNABLE
> 	at org.eclipse.aether.util.graph.transformer.ConflictResolver$ConflictContext.isIncluded(ConflictResolver.java:1062)
> 	at org.eclipse.aether.util.graph.transformer.NearestVersionSelector$1.accept(NearestVersionSelector.java:145)
> 	at org.eclipse.aether.util.graph.visitor.PathRecordingDependencyVisitor.visitEnter(PathRecordingDependencyVisitor.java:88)
> 	at org.eclipse.aether.graph.DefaultDependencyNode.accept(DefaultDependencyNode.java:324)
> 	at org.eclipse.aether.graph.DefaultDependencyNode.accept(DefaultDependencyNode.java:329)
> 	at org.eclipse.aether.graph.DefaultDependencyNode.accept(DefaultDependencyNode.java:329)
> 	at org.eclipse.aether.graph.DefaultDependencyNode.accept(DefaultDependencyNode.java:329)
> 	at org.eclipse.aether.graph.DefaultDependencyNode.accept(DefaultDependencyNode.java:329)
> 	at org.eclipse.aether.graph.DefaultDependencyNode.accept(DefaultDependencyNode.java:329)
> 	at org.eclipse.aether.graph.DefaultDependencyNode.accept(DefaultDependencyNode.java:329)
> 	at org.eclipse.aether.graph.DefaultDependencyNode.accept(DefaultDependencyNode.java:329)
> 	at org.eclipse.aether.graph.DefaultDependencyNode.accept(DefaultDependencyNode.java:329)
> 	at org.eclipse.aether.graph.DefaultDependencyNode.accept(DefaultDependencyNode.java:329)
> 	at org.eclipse.aether.graph.DefaultDependencyNode.accept(DefaultDependencyNode.java:329)
> 	at org.eclipse.aether.graph.DefaultDependencyNode.accept(DefaultDependencyNode.java:329)
> 	at org.eclipse.aether.graph.DefaultDependencyNode.accept(DefaultDependencyNode.java:329)
> 	at org.eclipse.aether.graph.DefaultDependencyNode.accept(DefaultDependencyNode.java:329)
> 	at org.eclipse.aether.util.graph.transformer.NearestVersionSelector.newFailure(NearestVersionSelector.java:149)
> 	at org.eclipse.aether.util.graph.transformer.NearestVersionSelector.backtrack(NearestVersionSelector.java:111)
> 	at org.eclipse.aether.util.graph.transformer.NearestVersionSelector.selectVersion(NearestVersionSelector.java:84)
> 	at org.eclipse.aether.util.graph.transformer.ConflictResolver.transformGraph(ConflictResolver.java:187)
> 	at org.eclipse.aether.internal.impl.DefaultDependencyCollector.collectDependencies(DefaultDependencyCollector.java:275)
> 	at org.eclipse.aether.internal.impl.DefaultRepositorySystem.collectDependencies(DefaultRepositorySystem.java:317)
> 	at org.apache.maven.project.DefaultProjectDependenciesResolver.resolve(DefaultProjectDependenciesResolver.java:159)
> 	at org.apache.maven.lifecycle.internal.LifecycleDependencyResolver.getDependencies(LifecycleDependencyResolver.java:195)
> 	at org.apache.maven.lifecycle.internal.LifecycleDependencyResolver.resolveProjectDependencies(LifecycleDependencyResolver.java:127)
> 	at org.apache.maven.lifecycle.internal.MojoExecutor.ensureDependenciesAreResolved(MojoExecutor.java:257)
> 	at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:200)
> 	at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
> 	at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
> 	at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:108)
> 	at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:76)
> 	at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51)
> 	at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:116)
> 	at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:361)
> 	at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:155)
> 	at org.apache.maven.cli.MavenCli.execute(MavenCli.java:584)
> 	at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:213)
> 	at org.apache.maven.cli.MavenCli.main(MavenCli.java:157)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
> {code}
> Running with {{-X -U}} I can see that Maven/Aether seems to be looking up A LOT of external repositories:
> {code}
> [DEBUG] Using mirror Nexus (http://nexus.smxemail.com/nexus/content/groups/public/) for central (http://repo.maven.apache.org/maven2).
> [DEBUG] Using mirror Nexus (http://nexus.smxemail.com/nexus/content/groups/public/) for apache.snapshots (http://repository.apache.org/snapshots).
> [DEBUG] Using mirror Nexus (http://nexus.smxemail.com/nexus/content/groups/public/) for central (http://repo.maven.apache.org/maven2).
> [DEBUG] Using mirror Nexus (http://nexus.smxemail.com/nexus/content/groups/public/) for apache.snapshots (http://repository.apache.org/snapshots).
> [DEBUG] Using mirror Nexus (http://nexus.smxemail.com/nexus/content/groups/public/) for central (http://repo.maven.apache.org/maven2).
> [DEBUG] Using mirror Nexus (http://nexus.smxemail.com/nexus/content/groups/public/) for apache.snapshots (http://repository.apache.org/snapshots).
> [DEBUG] Using mirror Nexus (http://nexus.smxemail.com/nexus/content/groups/public/) for apache.snapshots (http://repository.apache.org/snapshots).
> [DEBUG] Using mirror Nexus (http://nexus.smxemail.com/nexus/content/groups/public/) for central (http://repo.maven.apache.org/maven2).
> [DEBUG] Using mirror Nexus (http://nexus.smxemail.com/nexus/content/groups/public/) for apache.snapshots (http://repository.apache.org/snapshots).
> [DEBUG] Using mirror Nexus (http://nexus.smxemail.com/nexus/content/groups/public/) for central (http://repo.maven.apache.org/maven2).
> [DEBUG] Using mirror Nexus (http://nexus.smxemail.com/nexus/content/groups/public/) for apache.snapshots (http://repository.apache.org/snapshots).
> [DEBUG] Using mirror Nexus (http://nexus.smxemail.com/nexus/content/groups/public/) for apache.snapshots (http://repository.apache.org/snapshots).
> [DEBUG] Using mirror Nexus (http://nexus.smxemail.com/nexus/content/groups/public/) for central (http://repo.maven.apache.org/maven2).
> [DEBUG] Using mirror Nexus (http://nexus.smxemail.com/nexus/content/groups/public/) for apache.snapshots (http://repository.apache.org/snapshots).
> [DEBUG] Using mirror Nexus (http://nexus.smxemail.com/nexus/content/groups/public/) for central (http://repo.maven.apache.org/maven2).
> [DEBUG] Using mirror Nexus (http://nexus.smxemail.com/nexus/content/groups/public/) for apache.snapshots (http://repository.apache.org/snapshots).
> [DEBUG] Using mirror Nexus (http://nexus.smxemail.com/nexus/content/groups/public/) for central (http://repo.maven.apache.org/maven2).
> [DEBUG] Using mirror Nexus (http://nexus.smxemail.com/nexus/content/groups/public/) for apache.snapshots (http://repository.apache.org/snapshots).
> [DEBUG] Using mirror Nexus (http://nexus.smxemail.com/nexus/content/groups/public/) for apache.snapshots (http://repository.apache.org/snapshots).
> [DEBUG] Using mirror Nexus (http://nexus.smxemail.com/nexus/content/groups/public/) for central (http://repo.maven.apache.org/maven2).
> [DEBUG] Using mirror Nexus (http://nexus.smxemail.com/nexus/content/groups/public/) for apache.snapshots (http://repository.apache.org/snapshots).
> [DEBUG] Using mirror Nexus (http://nexus.smxemail.com/nexus/content/groups/public/) for central (http://repo.maven.apache.org/maven2).
> [DEBUG] Using mirror Nexus (http://nexus.smxemail.com/nexus/content/groups/public/) for apache.snapshots (http://repository.apache.org/snapshots).
> [DEBUG] Using mirror Nexus (http://nexus.smxemail.com/nexus/content/groups/public/) for central (http://repo.maven.apache.org/maven2).
> [DEBUG] Using mirror Nexus (http://nexus.smxemail.com/nexus/content/groups/public/) for apache.snapshots (http://repository.apache.org/snapshots).
> [DEBUG] Using mirror Nexus (http://nexus.smxemail.com/nexus/content/groups/public/) for apache.snapshots (http://repository.apache.org/snapshots).
> [DEBUG] Using mirror Nexus (http://nexus.smxemail.com/nexus/content/groups/public/) for central (http://repo.maven.apache.org/maven2).
> [DEBUG] Using mirror Nexus (http://nexus.smxemail.com/nexus/content/groups/public/) for apache.snapshots (http://repository.apache.org/snapshots).
> [DEBUG] Using mirror Nexus (http://nexus.smxemail.com/nexus/content/groups/public/) for central (http://repo.maven.apache.org/maven2).
> [DEBUG] Using mirror Nexus (http://nexus.smxemail.com/nexus/content/groups/public/) for apache.snapshots (http://repository.apache.org/snapshots).
> [DEBUG] Using mirror Nexus (http://nexus.smxemail.com/nexus/content/groups/public/) for central (http://repo.maven.apache.org/maven2).
> [DEBUG] Could not find metadata smx3:smx3.applicationmanager.api/maven-metadata.xml in local (/Users/amrk/.m2/repository)
> [DEBUG] Using connector WagonRepositoryConnector with priority 0.0 for http://nexus.smxemail.com/nexus/content/groups/public/
> Downloading: http://nexus.smxemail.com/nexus/content/groups/public/smx3/smx3.applicationmanager.api/maven-metadata.xml
> Downloaded: http://nexus.smxemail.com/nexus/content/groups/public/smx3/smx3.applicationmanager.api/maven-metadata.xml (489 B at 0.1 KB/sec)
> [DEBUG] Writing tracking file /Users/amrk/.m2/repository/smx3/smx3.applicationmanager.api/resolver-status.properties
> [DEBUG] Using mirror Nexus (http://nexus.smxemail.com/nexus/content/groups/public/) for central (http://repo.maven.apache.org/maven2).
> [DEBUG] Using connector WagonRepositoryConnector with priority 0.0 for http://nexus.smxemail.com/nexus/content/groups/public/
> Downloading: http://nexus.smxemail.com/nexus/content/groups/public/smx3/smx3.applicationmanager/maven-metadata.xml
> Downloaded: http://nexus.smxemail.com/nexus/content/groups/public/smx3/smx3.applicationmanager/maven-metadata.xml (7 KB at 1.5 KB/sec)
> [DEBUG] Writing tracking file /Users/amrk/.m2/repository/smx3/smx3.applicationmanager/resolver-status.properties
> [DEBUG] Using mirror Nexus (http://nexus.smxemail.com/nexus/content/groups/public/) for central (http://repo.maven.apache.org/maven2).
> [DEBUG] Could not find metadata smx3:smx3.applicationmanager.api/maven-metadata.xml in local (/Users/amrk/.m2/repository)
> [DEBUG] Skipped remote update check for smx3:smx3.applicationmanager.api/maven-metadata.xml, already updated during this session.
> [DEBUG] Using mirror Nexus (http://nexus.smxemail.com/nexus/content/groups/public/) for central (http://repo.maven.apache.org/maven2).
> [DEBUG] Using mirror Nexus (http://nexus.smxemail.com/nexus/content/groups/public/) for sonatype-nexus-snapshots (https://oss.sonatype.org/content/repositories/snapshots).
> [DEBUG] Using mirror Nexus (http://nexus.smxemail.com/nexus/content/groups/public/) for sonatype-nexus-snapshots (https://oss.sonatype.org/content/repositories/snapshots).
> [DEBUG] Using mirror Nexus (http://nexus.smxemail.com/nexus/content/groups/public/) for central (http://repo.maven.apache.org/maven2).
> [DEBUG] Using mirror Nexus (http://nexus.smxemail.com/nexus/content/groups/public/) for apache.snapshots (http://people.apache.org/repo/m2-snapshot-repository).
> [DEBUG] Using mirror Nexus (http://nexus.smxemail.com/nexus/content/groups/public/) for central (http://repo.maven.apache.org/maven2).
> {code}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)