[ 
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)

Reply via email to