[ https://issues.apache.org/jira/browse/MNG-7705?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17692370#comment-17692370 ]
Jim Sellers commented on MNG-7705: ---------------------------------- I've got the file lock working, but I can still trigger the issue, specifically for the {{.lastUpdated}} files. In the below log snipit, you can see that a file lock is acquired for spring-beans, but then it fails while writing the tracking file (or files). {code:title=partial failing log} 12079 [main] [TRACE] Need 1 write lock(s) for [/home/bamboo/.m2/repository/.locks/org.springframework~spring-beans~3.0.6.RELEASE.lock] 12079 [main] [TRACE] Acquiring write lock for '/home/bamboo/.m2/repository/.locks/org.springframework~spring-beans~3.0.6.RELEASE.lock' 12079 [main] [TRACE] Total locks acquired: 1 12079 [main] [DEBUG] Resolving artifact org.springframework:spring-beans:pom:3.0.6.RELEASE from [asb-repository (https://example.com/maven-proxy/content/groups/all-released, default, releases+snapshots), asb-snapshot-repository (https://example.com/maven-proxy/content/groups/all-snapshots, default, snapshots)] 12079 [main] [DEBUG] Using transporter HttpTransporter with priority 5.0 for https://example.com/maven-proxy/content/groups/all-released 12079 [main] [DEBUG] Using connector BasicRepositoryConnector with priority 0.0 for https://example.com/maven-proxy/content/groups/all-released 12079 [main] [INFO] Downloading from asb-repository: https://example.com/maven-proxy/content/groups/all-released/org/springframework/spring-beans/3.0.6.RELEASE/spring-beans-3.0.6.RELEASE.pom 12084 [main] [INFO] Downloaded from asb-repository: https://example.com/maven-proxy/content/groups/all-released/org/springframework/spring-beans/3.0.6.RELEASE/spring-beans-3.0.6.RELEASE.pom (2.2 kB at 442 kB/s) 12084 [main] [DEBUG] Writing tracking file '/home/bamboo/.m2/repository/org/springframework/spring-beans/3.0.6.RELEASE/_remote.repositories' 12085 [main] [WARNING] Failed to write tracking file '/home/bamboo/.m2/repository/org/springframework/spring-beans/3.0.6.RELEASE/spring-beans-3.0.6.RELEASE.pom.lastUpdated' java.nio.file.NoSuchFileException: /home/bamboo/.m2/repository/org/springframework/spring-beans/3.0.6.RELEASE/spring-beans-3.0.6.RELEASE.pom.lastUpdated at sun.nio.fs.UnixException.translateToIOException (UnixException.java:86) at sun.nio.fs.UnixException.rethrowAsIOException (UnixException.java:102) at sun.nio.fs.UnixException.rethrowAsIOException (UnixException.java:107) at sun.nio.fs.UnixFileSystemProvider.newByteChannel (UnixFileSystemProvider.java:214) at java.nio.file.Files.newByteChannel (Files.java:361) at java.nio.file.Files.newByteChannel (Files.java:407) at java.nio.file.spi.FileSystemProvider.newInputStream (FileSystemProvider.java:384) at java.nio.file.Files.newInputStream (Files.java:152) at org.eclipse.aether.internal.impl.DefaultTrackingFileManager.update (DefaultTrackingFileManager.java:90) at org.eclipse.aether.internal.impl.DefaultUpdateCheckManager.write (DefaultUpdateCheckManager.java:604) at org.eclipse.aether.internal.impl.DefaultUpdateCheckManager.touchArtifact (DefaultUpdateCheckManager.java:539) at org.eclipse.aether.internal.impl.DefaultArtifactResolver.evaluateDownloads (DefaultArtifactResolver.java:701) at org.eclipse.aether.internal.impl.DefaultArtifactResolver.performDownloads (DefaultArtifactResolver.java:592) at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve (DefaultArtifactResolver.java:478) at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifacts (DefaultArtifactResolver.java:278) at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifact (DefaultArtifactResolver.java:255) at org.apache.maven.repository.internal.DefaultArtifactDescriptorReader.loadPom (DefaultArtifactDescriptorReader.java:228) at org.apache.maven.repository.internal.DefaultArtifactDescriptorReader.readArtifactDescriptor (DefaultArtifactDescriptorReader.java:169) at org.eclipse.aether.internal.impl.collect.df.DfDependencyCollector.resolveCachedArtifactDescriptor (DfDependencyCollector.java:316) at org.eclipse.aether.internal.impl.collect.df.DfDependencyCollector.getArtifactDescriptorResult (DfDependencyCollector.java:301) at org.eclipse.aether.internal.impl.collect.df.DfDependencyCollector.processDependency (DfDependencyCollector.java:188) at org.eclipse.aether.internal.impl.collect.df.DfDependencyCollector.processDependency (DfDependencyCollector.java:137) at org.eclipse.aether.internal.impl.collect.df.DfDependencyCollector.process (DfDependencyCollector.java:125) at org.eclipse.aether.internal.impl.collect.df.DfDependencyCollector.doRecurse (DfDependencyCollector.java:284) at org.eclipse.aether.internal.impl.collect.df.DfDependencyCollector.processDependency (DfDependencyCollector.java:236) at org.eclipse.aether.internal.impl.collect.df.DfDependencyCollector.processDependency (DfDependencyCollector.java:137) at org.eclipse.aether.internal.impl.collect.df.DfDependencyCollector.process (DfDependencyCollector.java:125) at org.eclipse.aether.internal.impl.collect.df.DfDependencyCollector.doRecurse (DfDependencyCollector.java:284) at org.eclipse.aether.internal.impl.collect.df.DfDependencyCollector.processDependency (DfDependencyCollector.java:236) at org.eclipse.aether.internal.impl.collect.df.DfDependencyCollector.processDependency (DfDependencyCollector.java:137) at org.eclipse.aether.internal.impl.collect.df.DfDependencyCollector.process (DfDependencyCollector.java:125) at org.eclipse.aether.internal.impl.collect.df.DfDependencyCollector.doRecurse (DfDependencyCollector.java:284) at org.eclipse.aether.internal.impl.collect.df.DfDependencyCollector.processDependency (DfDependencyCollector.java:236) at org.eclipse.aether.internal.impl.collect.df.DfDependencyCollector.processDependency (DfDependencyCollector.java:216) at org.eclipse.aether.internal.impl.collect.df.DfDependencyCollector.processDependency (DfDependencyCollector.java:137) at org.eclipse.aether.internal.impl.collect.df.DfDependencyCollector.process (DfDependencyCollector.java:125) at org.eclipse.aether.internal.impl.collect.df.DfDependencyCollector.doCollectDependencies (DfDependencyCollector.java:107) at org.eclipse.aether.internal.impl.collect.DependencyCollectorDelegate.collectDependencies (DependencyCollectorDelegate.java:247) at org.eclipse.aether.internal.impl.collect.DefaultDependencyCollector.collectDependencies (DefaultDependencyCollector.java:95) at org.eclipse.aether.internal.impl.DefaultRepositorySystem.collectDependencies (DefaultRepositorySystem.java:327) at org.apache.maven.project.DefaultProjectDependenciesResolver.resolve (DefaultProjectDependenciesResolver.java:151) at org.apache.maven.lifecycle.internal.LifecycleDependencyResolver.getDependencies (LifecycleDependencyResolver.java:226) at org.apache.maven.lifecycle.internal.LifecycleDependencyResolver.resolveProjectDependencies (LifecycleDependencyResolver.java:138) at org.apache.maven.lifecycle.internal.MojoExecutor.ensureDependenciesAreResolved (MojoExecutor.java:369) at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute (MojoExecutor.java:327) at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:213) at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:175) at org.apache.maven.lifecycle.internal.MojoExecutor.access$000 (MojoExecutor.java:76) at org.apache.maven.lifecycle.internal.MojoExecutor$1.run (MojoExecutor.java:163) at org.apache.maven.plugin.DefaultMojosExecutionStrategy.execute (DefaultMojosExecutionStrategy.java:39) at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:160) at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:105) at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:73) at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:53) at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:118) at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:260) at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:172) at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:100) at org.apache.maven.cli.MavenCli.execute (MavenCli.java:821) at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:270) at org.apache.maven.cli.MavenCli.main (MavenCli.java:192) at sun.reflect.NativeMethodAccessorImpl.invoke0 (Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke (Method.java:498) at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:282) at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:225) at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:406) at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:347) 12087 [main] [TRACE] Releasing write lock for '/home/bamboo/.m2/repository/.locks/org.springframework~spring-beans~3.0.6.RELEASE.lock' 12087 [main] [TRACE] Total locks released: 1 12087 [main] [INFO] ------------------------------------------------------------------------ 12087 [main] [INFO] BUILD FAILURE 12088 [main] [INFO] ------------------------------------------------------------------------ 12088 [main] [INFO] Total time: 10.569 s 12088 [main] [INFO] Finished at: 2023-02-22T16:02:52-05:00 12088 [main] [INFO] ------------------------------------------------------------------------ 12089 [main] [ERROR] java.nio.file.NoSuchFileException: /home/bamboo/.m2/repository/org/springframework/spring-beans/3.0.6.RELEASE/spring-beans-3.0.6.RELEASE.pom.lastUpdated {code} > Sporadic failures on multiple builds sharing the same local repo when writing > the .lastUpdated file > --------------------------------------------------------------------------------------------------- > > Key: MNG-7705 > URL: https://issues.apache.org/jira/browse/MNG-7705 > Project: Maven > Issue Type: Bug > Affects Versions: 3.9.0 > Environment: Apache Maven 3.9.0 > (9b58d2bad23a66be161c4664ef21ce219c2c8584) > Maven home: /data00/bamboo/maven/maven-next > Java version: 1.8.0_362, vendor: Red Hat, Inc., runtime: > /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.362.b09-2.el8_7.x86_64/jre > Default locale: en_CA, platform encoding: ISO-8859-1 > OS name: "linux", version: "4.18.0-193.el8.x86_64", arch: "amd64", family: > "unix" > Reporter: Jim Sellers > Priority: Minor > Attachments: MNG-7705.zip > > > On a CI server, we have multiple builds running on the same host and sharing > the same repo. > While testing 3.9.0, I started to see a NIO exception for the > {{.lastUpdated}} file. This has worked fine for years, all the way up to > 3.8.7. > If you re-run the build, it will work. I think that it's just a collision > between the different processes. > {code:title=example command} > mvn --batch-mode dependency:sources dependency:resolve -Dclassifier=javadoc > # this uses dependency:3.5.0:sources > {code} > {code:title=stracktrace} > [WARNING] Failed to write tracking file > '/home/bamboo/.m2/repository/io/smallrye/config/smallrye-config/2.3.0/smallrye-config-2.3.0-javadoc.jar.lastUpdated' > java.nio.file.NoSuchFileException: > /home/bamboo/.m2/repository/io/smallrye/config/smallrye-config/2.3.0/smallrye-config-2.3.0-javadoc.jar.lastUpdated > at sun.nio.fs.UnixException.translateToIOException > (UnixException.java:86) > at sun.nio.fs.UnixException.rethrowAsIOException > (UnixException.java:102) > at sun.nio.fs.UnixException.rethrowAsIOException > (UnixException.java:107) > at sun.nio.fs.UnixFileSystemProvider.newByteChannel > (UnixFileSystemProvider.java:214) > at java.nio.file.Files.newByteChannel (Files.java:361) > at java.nio.file.Files.newByteChannel (Files.java:407) > at java.nio.file.spi.FileSystemProvider.newInputStream > (FileSystemProvider.java:384) > at java.nio.file.Files.newInputStream (Files.java:152) > at org.eclipse.aether.internal.impl.DefaultTrackingFileManager.update > (DefaultTrackingFileManager.java:90) > at org.eclipse.aether.internal.impl.DefaultUpdateCheckManager.write > (DefaultUpdateCheckManager.java:604) > at > org.eclipse.aether.internal.impl.DefaultUpdateCheckManager.touchArtifact > (DefaultUpdateCheckManager.java:539) > at > org.eclipse.aether.internal.impl.DefaultArtifactResolver.evaluateDownloads > (DefaultArtifactResolver.java:701) > at > org.eclipse.aether.internal.impl.DefaultArtifactResolver.performDownloads > (DefaultArtifactResolver.java:592) > at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve > (DefaultArtifactResolver.java:478) > at > org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifacts > (DefaultArtifactResolver.java:278) > at > org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifact > (DefaultArtifactResolver.java:255) > at > org.eclipse.aether.internal.impl.DefaultRepositorySystem.resolveArtifact > (DefaultRepositorySystem.java:296) > at > org.apache.maven.shared.transfer.artifact.resolve.internal.Maven31ArtifactResolver.resolveArtifact > (Maven31ArtifactResolver.java:97) > at > org.apache.maven.shared.transfer.artifact.resolve.internal.Maven31ArtifactResolver.resolveArtifact > (Maven31ArtifactResolver.java:78) > at > org.apache.maven.shared.transfer.artifact.resolve.internal.DefaultArtifactResolver.resolveArtifact > (DefaultArtifactResolver.java:70) > at > org.apache.maven.plugins.dependency.fromDependencies.AbstractDependencyFilterMojo.resolve > (AbstractDependencyFilterMojo.java:464) > at > org.apache.maven.plugins.dependency.fromDependencies.AbstractDependencyFilterMojo.getClassifierTranslatedDependencies > (AbstractDependencyFilterMojo.java:408) > at > org.apache.maven.plugins.dependency.fromDependencies.AbstractDependencyFilterMojo.getDependencySets > (AbstractDependencyFilterMojo.java:340) > at > org.apache.maven.plugins.dependency.resolvers.ResolveDependenciesMojo.doExecute > (ResolveDependenciesMojo.java:103) > at > org.apache.maven.plugins.dependency.resolvers.ResolveDependencySourcesMojo.doExecute > (ResolveDependencySourcesMojo.java:52) > at org.apache.maven.plugins.dependency.AbstractDependencyMojo.execute > (AbstractDependencyMojo.java:159) > at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo > (DefaultBuildPluginManager.java:126) > at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute2 > (MojoExecutor.java:342) > at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute > (MojoExecutor.java:330) > at org.apache.maven.lifecycle.internal.MojoExecutor.execute > (MojoExecutor.java:213) > at org.apache.maven.lifecycle.internal.MojoExecutor.execute > (MojoExecutor.java:175) > at org.apache.maven.lifecycle.internal.MojoExecutor.access$000 > (MojoExecutor.java:76) > at org.apache.maven.lifecycle.internal.MojoExecutor$1.run > (MojoExecutor.java:163) > at org.apache.maven.plugin.DefaultMojosExecutionStrategy.execute > (DefaultMojosExecutionStrategy.java:39) > at org.apache.maven.lifecycle.internal.MojoExecutor.execute > (MojoExecutor.java:160) > at > org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject > (LifecycleModuleBuilder.java:105) > at > org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject > (LifecycleModuleBuilder.java:73) > at > org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build > (SingleThreadedBuilder.java:53) > at org.apache.maven.lifecycle.internal.LifecycleStarter.execute > (LifecycleStarter.java:118) > at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:260) > at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:172) > at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:100) > at org.apache.maven.cli.MavenCli.execute (MavenCli.java:821) > at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:270) > at org.apache.maven.cli.MavenCli.main (MavenCli.java:192) > at sun.reflect.NativeMethodAccessorImpl.invoke0 (Native Method) > at sun.reflect.NativeMethodAccessorImpl.invoke > (NativeMethodAccessorImpl.java:62) > at sun.reflect.DelegatingMethodAccessorImpl.invoke > (DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke (Method.java:498) > at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced > (Launcher.java:282) > at org.codehaus.plexus.classworlds.launcher.Launcher.launch > (Launcher.java:225) > at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode > (Launcher.java:406) > at org.codehaus.plexus.classworlds.launcher.Launcher.main > (Launcher.java:347) > {code} -- This message was sent by Atlassian Jira (v8.20.10#820010)