Ok,

this is def a timeout on lock:
https://github.com/apache/maven-resolver/blob/e439b343d8d94bdcc82965a3d4f2584c31c319c0/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/synccontext/named/NamedLockFactoryAdapter.java#L157-L158

Pls increase the timeout.

T

On Thu, Mar 23, 2023 at 9:32 AM Dan Tran <dant...@gmail.com> wrote:

> this is not a single threaded buld
>
> stack trace:
>
> *9:35:34*  [ERROR] Could not acquire write lock for
> 'artifact:ch.qos.logback:logback-classic:1.2.10'*09:35:34*
> java.lang.IllegalStateException: Could not acquire write lock for
> 'artifact:ch.qos.logback:logback-classic:1.2.10'*09:35:34*      at
>
> org.eclipse.aether.internal.impl.synccontext.named.NamedLockFactoryAdapter$AdaptedLockSyncContext.acquire
> (NamedLockFactoryAdapter.java:158)*09:35:34*      at
> org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifacts
> (DefaultArtifactResolver.java:259)*09:35:34*      at
>
> org.eclipse.aether.internal.impl.DefaultRepositorySystem.resolveDependencies
> (DefaultRepositorySystem.java:352)*09:35:34*      at
>
> org.apache.maven.plugin.internal.DefaultPluginDependenciesResolver.resolveInternal
> (DefaultPluginDependenciesResolver.java:212)*09:35:34*      at
> org.apache.maven.plugin.internal.DefaultPluginDependenciesResolver.resolve
> (DefaultPluginDependenciesResolver.java:158)*09:35:34*      at
>
> org.apache.maven.plugin.internal.DefaultMavenPluginManager.createPluginRealm
> (DefaultMavenPluginManager.java:372)*09:35:34*      at
>
> org.apache.maven.plugin.internal.DefaultMavenPluginManager.lambda$setupPluginRealm$1
> (DefaultMavenPluginManager.java:335)*09:35:34*      at
> org.apache.maven.plugin.DefaultPluginRealmCache.lambda$get$0
> (DefaultPluginRealmCache.java:156)*09:35:34*      at
> java.util.concurrent.ConcurrentHashMap.computeIfAbsent
> (ConcurrentHashMap.java:1737)*09:35:34*      at
> org.apache.maven.plugin.DefaultPluginRealmCache.get
> (DefaultPluginRealmCache.java:154)*09:35:34*      at
> org.apache.maven.plugin.internal.DefaultMavenPluginManager.setupPluginRealm
> (DefaultMavenPluginManager.java:334)*09:35:34*      at
> org.apache.maven.plugin.DefaultBuildPluginManager.getPluginRealm
> (DefaultBuildPluginManager.java:205)*09:35:34*      at
> org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo
> (DefaultBuildPluginManager.java:98)*09:35:34*      at
> org.apache.maven.lifecycle.internal.MojoExecutor.doExecute2
> (MojoExecutor.java:342)*09:35:34*      at
> org.apache.maven.lifecycle.internal.MojoExecutor.doExecute
> (MojoExecutor.java:330)*09:35:34*      at
> org.apache.maven.lifecycle.internal.MojoExecutor.execute
> (MojoExecutor.java:213)*09:35:34*      at
> org.apache.maven.lifecycle.internal.MojoExecutor.execute
> (MojoExecutor.java:175)*09:35:34*      at
> org.apache.maven.lifecycle.internal.MojoExecutor.access$000
> (MojoExecutor.java:76)*09:35:34*      at
> org.apache.maven.lifecycle.internal.MojoExecutor$1.run
> (MojoExecutor.java:163)*09:35:34*      at
> org.apache.maven.plugin.DefaultMojosExecutionStrategy.execute
> (DefaultMojosExecutionStrategy.java:39)*09:35:34*      at
> org.apache.maven.lifecycle.internal.MojoExecutor.execute
> (MojoExecutor.java:160)*09:35:34*      at
> org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject
> (LifecycleModuleBuilder.java:105)*09:35:34*      at
>
> org.apache.maven.lifecycle.internal.builder.multithreaded.MultiThreadedBuilder$1.call
> (MultiThreadedBuilder.java:193)*09:35:34*      at
>
> org.apache.maven.lifecycle.internal.builder.multithreaded.MultiThreadedBuilder$1.call
> (MultiThreadedBuilder.java:180)*09:35:34*      at
> java.util.concurrent.FutureTask.run (FutureTask.java:264)*09:35:34*
>   at java.util.concurrent.Executors$RunnableAdapter.call
> (Executors.java:515)*09:35:34*      at
> java.util.concurrent.FutureTask.run (FutureTask.java:264)*09:35:34*
>   at java.util.concurrent.ThreadPoolExecutor.runWorker
> (ThreadPoolExecutor.java:1128)*09:35:34*      at
> java.util.concurrent.ThreadPoolExecutor$Worker.run
> (ThreadPoolExecutor.java:628)*09:35:34*      at java.lang.Thread.run
> (Thread.java:829)*09:35:34*  [ERROR] java.lang.IllegalStateException:
> Could not acquire write lock for
> 'artifact:ch.qos.logback:logback-classic:1.2.10'*09:35:34*
> java.util.concurrent.ExecutionException:
> java.lang.IllegalStateException: Could not acquire write lock for
> 'artifact:ch.qos.logback:logback-classic:1.2.10'*09:35:34*      at
> java.util.concurrent.FutureTask.report (FutureTask.java:122)*09:35:34*
>      at java.util.concurrent.FutureTask.get
> (FutureTask.java:191)*09:35:34*      at
>
> org.apache.maven.lifecycle.internal.builder.multithreaded.MultiThreadedBuilder.multiThreadedProjectTaskSegmentBuild
> (MultiThreadedBuilder.java:140)*09:35:34*      at
>
> org.apache.maven.lifecycle.internal.builder.multithreaded.MultiThreadedBuilder.build
> (MultiThreadedBuilder.java:101)*09:35:34*      at
> org.apache.maven.lifecycle.internal.LifecycleStarter.execute
> (LifecycleStarter.java:118)*09:35:34*      at
> org.apache.maven.DefaultMaven.doExecute
> (DefaultMaven.java:261)*09:35:34*      at
> org.apache.maven.DefaultMaven.doExecute
> (DefaultMaven.java:173)*09:35:34*      at
> org.apache.maven.DefaultMaven.execute
> (DefaultMaven.java:101)*09:35:34*      at
> org.apache.maven.cli.MavenCli.execute (MavenCli.java:827)*09:35:34*
>   at org.apache.maven.cli.MavenCli.doMain
> (MavenCli.java:272)*09:35:34*      at
> org.apache.maven.cli.MavenCli.main (MavenCli.java:195)*09:35:34*
> at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native
> Method)*09:35:34*      at
> jdk.internal.reflect.NativeMethodAccessorImpl.invoke
> (NativeMethodAccessorImpl.java:62)*09:35:34*      at
> jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke
> (DelegatingMethodAccessorImpl.java:43)*09:35:34*      at
> java.lang.reflect.Method.invoke (Method.java:566)*09:35:34*      at
> org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced
> (Launcher.java:282)*09:35:34*      at
> org.codehaus.plexus.classworlds.launcher.Launcher.launch
> (Launcher.java:225)*09:35:34*      at
> org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode
> (Launcher.java:406)*09:35:34*      at
> org.codehaus.plexus.classworlds.launcher.Launcher.main
> (Launcher.java:347)*09:35:34*      at
> jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native
> Method)*09:35:34*      at
> jdk.internal.reflect.NativeMethodAccessorImpl.invoke
> (NativeMethodAccessorImpl.java:62)*09:35:34*      at
> jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke
> (DelegatingMethodAccessorImpl.java:43)*09:35:34*      at
> java.lang.reflect.Method.invoke (Method.java:566)*09:35:34*      at
> org.apache.maven.wrapper.BootstrapMainStarter.start
> (BootstrapMainStarter.java:52)*09:35:34*      at
> org.apache.maven.wrapper.WrapperExecutor.execute
> (WrapperExecutor.java:161)*09:35:34*      at
> org.apache.maven.wrapper.MavenWrapperMain.main
> (MavenWrapperMain.java:73)
>
>
> thanks
>
>
> -D
>
>
> On Wed, Mar 22, 2023 at 3:23 PM Tamás Cservenák <ta...@cservenak.net>
> wrote:
>
> > Interesting.
> >
> > You did not provide any stack, so I just guessed "timeout". For
> > increasing/decreasing "wait time" (def is 30 sec), see here:
> > https://maven.apache.org/resolver/configuration.html
> > Look for "aether.syncContext.named.time" and
> > "aether.syncContext.named.time.unit".
> > Also good to look at:
> > https://maven.apache.org/resolver/maven-resolver-named-locks/index.html
> >
> > And finally, there are redisson and hazelcast provided locks:
> >
> >
> https://maven.apache.org/resolver/maven-resolver-named-locks-redisson/index.html
> >
> > Also, "So I guess it is using the default file-lock?" -- Maven 3.9.1 does
> > NOT use file locking by default, so unless the docker image you use, or
> > whatever sets it up....
> > It would be good to see some stack and what locking is in use.
> >
> > Note: if it turns out you don't use file locking, but the default (Maven
> > 3.9.1 by default uses in-jvm "rwlock-local" (backed by ReadWriteLock),
> then
> > really just increase time....
> >
> > How about concurrency, I guess this is not a single threaded build?
> >
> > T
> >
> > PS: Is late here, my response to your response will probably come in my
> > morning
> >
> > On Wed, Mar 22, 2023 at 11:08 PM Dan Tran <dant...@gmail.com> wrote:
> >
> > > Thanks for the quick response
> > >
> > > This is a simple switch from 3.8.7 to 3.9.1 ( did not see this issue
> when
> > > tested with  3.9.0). So I guess it is using the default file-lock?
> > >
> > > The build runs inside a docker container on Jenkins agent with no
> > antivirus
> > > checker. The build always starts from scratch
> > >
> > > artifact:ch.qos.logback:logback-classic:1.2.10  is common artifact
> > > used by all components
> > >
> > >
> > > How do I increase timeout?
> > >
> > >
> > > Thanks
> > >
> > >
> > > -D
> > >
> > >
> > > On Wed, Mar 22, 2023 at 11:44 AM Tamás Cservenák <ta...@cservenak.net>
> > > wrote:
> > >
> > > > Howdy Dan,
> > > >
> > > > You did not mention what locking implementation you use, what params
> > etc?
> > > > file-lock? redisson? something else?
> > > >
> > > > At the same time, it is rather strange that you mention "at the same
> > > > artifact" thing... from here and below I will assume you use file
> > locks:
> > > > - can you do something like lsof on Linux? Meaning, can you ensure
> > > nothing
> > > > (some app, IDE or antivirus) is keeping the file open?
> > > > - can you tell a bit more about that artifact? Is it installed one?
> > Maybe
> > > > from the current build? A dependency? In case of HUGE build and
> COMMON
> > > > artifact (ie. slf4j-api) that is used in almost all modules may be
> > "hot",
> > > > maybe try to increase lock timeout? Or even radically lessen (that
> > should
> > > > make problem occur more often perhaps)
> > > >
> > > > HTH
> > > > Tamas
> > > >
> > > > On Wed, Mar 22, 2023 at 7:32 PM Dan Tran <dant...@gmail.com> wrote:
> > > >
> > > > > Hi
> > > > >
> > > > > My large 400+ modules build facing the mentioned locking issue
> > > > consistently
> > > > > at the same artifact
> > > > >
> > > > > artifact:ch.qos.logback:logback-classic:1.2.10
> > > > >
> > > > >
> > > > > any one see this issue at your build?
> > > > >
> > > > >
> > > > > Thanks
> > > > >
> > > > >
> > > > > -D
> > > > >
> > > > >
> > > > > dont see same issue at smaller build
> > > > >
> > > >
> > >
> >
>

Reply via email to