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