[ 
https://issues.apache.org/jira/browse/MNG-7705?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17697502#comment-17697502
 ] 

Jim Sellers commented on MNG-7705:
----------------------------------

I'll do a search around to try to figure out why the file lock might not be 
working. It's very strange. I did reproduce the original issue on my old mac 
through, so I don't think that the issue is exclusively with this RHEL vm.

Here is what I have.
{code:title=the vm}
cat /etc/redhat-release && java -version
Red Hat Enterprise Linux release 8.7 (Ootpa)
openjdk version "1.8.0_362"
OpenJDK Runtime Environment (build 1.8.0_362-b09)
OpenJDK 64-Bit Server VM (build 25.362-b09, mixed mode)
{code}

{code:title=command run}
strace -f -tt -o out-1 java -cp . demo.TestNioLock perform /tmp/my-lock  15000
{code}

{code:title=logs around the similar part}
1033373 10:34:51.704179 openat(AT_FDCWD, "/tmp/my-lock", O_RDWR|O_CREAT, 0666) 
= 8
1033373 10:34:51.704285 fstat(8, {st_mode=S_IFREG|0644, st_size=0, ...}) = 0
1033373 10:34:51.704356 fcntl(8, F_SETLK, {l_type=F_WRLCK, l_whence=SEEK_SET, 
l_start=0, l_len=1}) = 0
1033373 10:34:51.704450 write(1, "1033372@hpvsdev268 > WON", 24) = 24
1033373 10:34:51.704513 write(1, "\n", 1) = 1

# ... a lot of these lines
1033388 10:35:03.215731 futex(0x7f0834137d78, FUTEX_WAIT_PRIVATE, 0, {tv_sec=0, 
tv_nsec=49999495}) = -1 ETIMEDOUT (Connection timed out)
1033388 10:35:03.265923 futex(0x7f0834137d28, FUTEX_WAKE_PRIVATE, 1) = 0
1033388 10:35:03.265981 futex(0x7f0834137d78, FUTEX_WAIT_PRIVATE, 0, {tv_sec=0, 
tv_nsec=49999498}) = -1 ETIMEDOUT (Connection timed out)
1033388 10:35:03.318878 futex(0x7f0834137d28, FUTEX_WAKE_PRIVATE, 1) = 0
1033388 10:35:03.318937 futex(0x7f0834137d78, FUTEX_WAIT_PRIVATE, 0, {tv_sec=0, 
tv_nsec=49999395}) = -1 ETIMEDOUT (Connection timed out)
1033388 10:35:03.369074 futex(0x7f0834137d28, FUTEX_WAKE_PRIVATE, 1) = 0
# ...
1033380 10:35:06.654916 <... futex resumed>) = -1 ETIMEDOUT (Connection timed 
out)
1033380 10:35:06.654976 futex(0x7f08340db128, FUTEX_WAKE_PRIVATE, 1) = 0
1033380 10:35:06.655046 futex(0x7f08340db178, FUTEX_WAIT_PRIVATE, 0, {tv_sec=0, 
tv_nsec=999999671} <unfinished ...>
1033388 10:35:06.698991 <... futex resumed>) = -1 ETIMEDOUT (Connection timed 
out)
1033388 10:35:06.699049 futex(0x7f0834137d28, FUTEX_WAKE_PRIVATE, 1) = 0
1033388 10:35:06.699098 futex(0x7f0834137d78, FUTEX_WAIT_PRIVATE, 0, {tv_sec=0, 
tv_nsec=25999660} <unfinished ...>
1033373 10:35:06.704960 <... futex resumed>) = -1 ETIMEDOUT (Connection timed 
out)
1033373 10:35:06.705350 futex(0x7f0834003d28, FUTEX_WAKE_PRIVATE, 1) = 0
1033373 10:35:06.705523 fcntl(8, F_SETLK, {l_type=F_UNLCK, l_whence=SEEK_SET, 
l_start=0, l_len=1}) = 0
1033373 10:35:06.705835 close(8)        = 0
1033373 10:35:06.705922 fcntl(6, F_SETLK, {l_type=F_UNLCK, l_whence=SEEK_SET, 
l_start=0, l_len=1}) = 0
1033373 10:35:06.706023 close(6)        = 0
{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: 2023-02-28_failure.zip, MNG-7705-2023-02-27.zip, 
> MNG-7705-2023-03-07.zip, MNG-7705.zip, MNG-7705_strace_2023-02-27.zip, 
> apache-maven-3.9.1-SNAPSHOT-bin.tar.gz, maven-resolver-util-1.9.6-SNAPSHOT.jar
>
>
> 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