[
https://issues.apache.org/jira/browse/MNG-7868?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17869448#comment-17869448
]
Daniel Johnson commented on MNG-7868:
-------------------------------------
I set out to get a shareable project that can reproduce this. I messed up as I
was creating it, but I did still in fact hit the issue, so I am going to share
the project as-is when issue was hit. This is a simple multi-module project.
The aggregator is set also as the parent, and declares a few common
dependencies. There are 4 modules, modules 1-3 are just inheriting the
dependencies of the parent POM. Module4 is also inheriting, but also declares
dependencies to modules 2 and 3. I ran the build with `mvn clean install -T 5`
The reason the project is messed up, the `jetty-webapp` and `jetty-servlets`
dependencies don't actually exist in version 12.0.11, which triggers its own
failure;
{noformat}
org.apache.maven.project.DependencyResolutionException: Could not resolve
dependencies for project org.apache.maven:module1:jar:0.1-SNAPSHOT
dependency: org.eclipse.jetty:jetty-webapp:jar:12.0.11 (compile){noformat}
However, in this example I did hit the lock issue, and I hope it may be easier
with these open-source dependencies to identify what and where the code is
going wrong.
{noformat}
12:17:58.290 [mvn-builder-module2] [INFO] Diagnostic dump of lock factory
12:17:58.290 [mvn-builder-module2] [INFO] ===============================
12:17:58.290 [mvn-builder-module2] [INFO] Implementation:
org.eclipse.aether.named.providers.LocalReadWriteLockNamedLockFactory
12:17:58.290 [mvn-builder-module2] [INFO] Active locks: 1
12:17:58.291 [mvn-builder-module2] [INFO]
12:17:58.291 [mvn-builder-module2] [INFO] Name:
artifact:org.eclipse.jetty:jetty-webapp:12.0.11
12:17:58.291 [mvn-builder-module2] [INFO] RefCount: 2
12:17:58.291 [mvn-builder-module2] [INFO] Thread[mvn-builder-module2,5,main]
-> [exclusive]
12:17:58.291 [mvn-builder-module2] [INFO] Thread[mvn-builder-module3,5,main]
-> [wait-exclusive]
12:17:58.291 [mvn-builder-module2] [INFO] Thread[mvn-builder-module1,5,main]
-> []
12:17:58.291 [mvn-builder-module2] [INFO]
Downloading from internal-repo:
https://<our_internal_repo>/mirror-repo/org/eclipse/jetty/jetty-client/12.0.11/jetty-client-12.0.11.pom
12:17:58.291 [mvn-builder-module3] [INFO] Diagnostic dump of lock factory
12:17:58.291 [mvn-builder-module3] [INFO] ===============================
12:17:58.291 [mvn-builder-module3] [INFO] Implementation:
org.eclipse.aether.named.providers.LocalReadWriteLockNamedLockFactory
12:17:58.291 [mvn-builder-module3] [INFO] Active locks: 2
12:17:58.291 [mvn-builder-module3] [INFO]
12:17:58.291 [mvn-builder-module3] [INFO] Name:
artifact:org.eclipse.jetty:jetty-webapp:12.0.11
12:17:58.291 [mvn-builder-module3] [INFO] RefCount: 1
12:17:58.292 [mvn-builder-module3] [INFO] Thread[BuilderThread 2,5,] -> []
12:17:58.292 [mvn-builder-module3] [INFO] Thread[mvn-builder-module3,5,main]
-> [exclusive]
12:17:58.292 [mvn-builder-module3] [INFO] Thread[mvn-builder-module1,5,main]
-> []
12:17:58.292 [mvn-builder-module3] [INFO] Name:
artifact:org.eclipse.jetty:jetty-client:12.0.11
12:17:58.292 [mvn-builder-module3] [INFO] RefCount: 1
12:17:58.292 [mvn-builder-module3] [INFO] Thread[mvn-builder-module1,5,main]
-> [exclusive]
...
java.lang.IllegalStateException: Attempt 1: Could not acquire write lock for
'artifact:org.eclipse.jetty:jetty-webapp:12.0.11' in 30 SECONDS{noformat}
Unfortunately I could not easily reproduce even if deleting my local maven repo
and building again and again.
[^MNG-7868-reproduce.txt]
[^MNG-7868.zip]
> "Could not acquire lock(s)" error in concurrent maven builds
> ------------------------------------------------------------
>
> Key: MNG-7868
> URL: https://issues.apache.org/jira/browse/MNG-7868
> Project: Maven
> Issue Type: Bug
> Environment: windows, maven 3.9.4
> Reporter: Jörg Hohwiller
> Priority: Major
> Attachments: MNG-7868-pz_ai_37_lock.txt, MNG-7868-reproduce.txt,
> MNG-7868.zip, image-2024-04-10-15-44-37-013.png, screenshot-1.png
>
>
> {code}
> [ERROR] Failed to execute goal
> org.apache.maven.plugins:maven-install-plugin:3.1.1:install (default-install)
> on project foo.bar: Execution default-install of goal
> org.apache.maven.plugins:maven-install-plugin:3.1.1:install failed: Could not
> acquire lock(s) -> [Help 1]
> {code}
> I am using maven 3.9.4 on windows:
> {code}
> $ mvn -v
> Apache Maven 3.9.4 (dfbb324ad4a7c8fb0bf182e6d91b0ae20e3d2dd9)
> Maven home: D:\projects\test\software\mvn
> Java version: 17.0.5, vendor: Eclipse Adoptium, runtime:
> D:\projects\test\software\java
> Default locale: en_US, platform encoding: UTF-8
> OS name: "windows 10", version: "10.0", arch: "amd64", family: "windows"
> {code}
> I searched for this bug and found issues like MRESOLVER-332 that first look
> identical or similar but do not really seem to be related so I decided to
> create this issue.
> For this bug I made the following observations:
> * it only happens with concurrent builds: {{mvn -T ...}}
> * is seems to be windows related (at least mainly happens on windows)
> * it is in-deterministic and is not so easy to create an isolated and simple
> project and a reproducible scenario that always results in this error.
> However, I get this very often in my current project with many modules (500+).
> * it is not specific to the maven-install-plugin and also happens from other
> spots in maven:
> I also got this stacktrace:
> {code}
> Suppressed: java.lang.IllegalStateException: Attempt 1: Could not acquire
> write lock for
> 'C:\Users\hohwille\.m2\repository\.locks\artifact~com.caucho~com.springsource.com.caucho~3.2.1.lock'
> in 30 SECONDS
> at
> org.eclipse.aether.internal.impl.synccontext.named.NamedLockFactoryAdapter$AdaptedLockSyncContext.acquire
> (NamedLockFactoryAdapter.java:202)
> at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve
> (DefaultArtifactResolver.java:271)
> at
> org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifacts
> (DefaultArtifactResolver.java:259)
> at
> org.eclipse.aether.internal.impl.DefaultRepositorySystem.resolveDependencies
> (DefaultRepositorySystem.java:352)
> {code}
> See also this related discussion:
> https://github.com/apache/maven-mvnd/issues/836#issuecomment-1702488377
--
This message was sent by Atlassian Jira
(v8.20.10#820010)