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

Michael Osipov edited comment on MRESOLVER-325 at 2/20/23 2:18 PM:
-------------------------------------------------------------------

Provide the FQCN of the factory you see.

> Beside that I think there is a potential race if one thread resolves the main 
> artifact and the other resolves the source (or javadoc or ...) then both 
> resolve operation still compete to the same  _remote.repositories file, what 
> seems a possible case here ... so my point still stands that actually there 
> is no guarantee that the process has acquired exclusive r/w access to that 
> _remote.repositories file even if it might has exclusive access to the passed 
> artifacts...

This cannot happen, the GAV name mapper will make sure that all artifacts, 
regardless of type and classifier will lock the necessary content. Downloading 
main JAR will lock for javadoc, sources, etc. as well.


was (Author: michael-o):
Provide the FQCN or the Factory you see.

> Beside that I think there is a potential race if one thread resolves the main 
> artifact and the other resolves the source (or javadoc or ...) then both 
> resolve operation still compete to the same  _remote.repositories file, what 
> seems a possible case here ... so my point still stands that actually there 
> is no guarantee that the process has acquired exclusive r/w access to that 
> _remote.repositories file even if it might has exclusive access to the passed 
> artifacts...

This cannot happen, the GAV name mapper will make sure that all artifacts, 
regardless of type and classifier will lock the necessary content. Downloading 
main JAR will lock for javadoc, sources, etc. as well.

> [REGRESSION] Suddenly seeing I/O errors under windows aborting the build
> ------------------------------------------------------------------------
>
>                 Key: MRESOLVER-325
>                 URL: https://issues.apache.org/jira/browse/MRESOLVER-325
>             Project: Maven Resolver
>          Issue Type: Bug
>          Components: Resolver
>    Affects Versions: 1.9.4
>            Reporter: Christoph Läubrich
>            Priority: Major
>
> If one runs a build that otherwise works fine on 3.8.x with 3.9 we now get 
> the following exception (full output can be found here 
> https://github.com/eclipse-platform/eclipse.platform/actions/runs/4211467991/jobs/7309831666):
> {code:java}
> Error: 5.889 [ERROR] Internal error: java.io.UncheckedIOException: 
> java.nio.file.AccessDeniedException: 
> C:\Users\runneradmin\.m2\repository\com\google\code\gson\gson\2.10.1\_remote.repositories.15650462061630955031.tmp
>  -> 
> C:\Users\runneradmin\.m2\repository\com\google\code\gson\gson\2.10.1\_remote.repositories
>  -> [Help 1]
> org.apache.maven.InternalErrorException: Internal error: 
> java.io.UncheckedIOException: java.nio.file.AccessDeniedException: 
> C:\Users\runneradmin\.m2\repository\com\google\code\gson\gson\2.10.1\_remote.repositories.15650462061630955031.tmp
>  -> 
> C:\Users\runneradmin\.m2\repository\com\google\code\gson\gson\2.10.1\_remote.repositories
>     at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:108)
>     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 jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
>     at jdk.internal.reflect.NativeMethodAccessorImpl.invoke 
> (NativeMethodAccessorImpl.java:77)
>     at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke 
> (DelegatingMethodAccessorImpl.java:43)
>     at java.lang.reflect.Method.invoke (Method.java:568)
>     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)
> Caused by: java.io.UncheckedIOException: java.nio.file.AccessDeniedException: 
> C:\Users\runneradmin\.m2\repository\com\google\code\gson\gson\2.10.1\_remote.repositories.15650462061630955031.tmp
>  -> 
> C:\Users\runneradmin\.m2\repository\com\google\code\gson\gson\2.10.1\_remote.repositories
>     at org.eclipse.aether.internal.impl.DefaultTrackingFileManager.update 
> (DefaultTrackingFileManager.java:121)
>     at 
> org.eclipse.aether.internal.impl.EnhancedLocalRepositoryManager.addRepo 
> (EnhancedLocalRepositoryManager.java:274)
>     at 
> org.eclipse.aether.internal.impl.EnhancedLocalRepositoryManager.addArtifact 
> (EnhancedLocalRepositoryManager.java:252)
>     at org.eclipse.aether.internal.impl.EnhancedLocalRepositoryManager.add 
> (EnhancedLocalRepositoryManager.java:225)
>     at 
> org.eclipse.aether.internal.impl.DefaultArtifactResolver.evaluateDownloads 
> (DefaultArtifactResolver.java:680)
>     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.artifact.resolver.DefaultArtifactResolver.resolve 
> (DefaultArtifactResolver.java:197)
>     at org.apache.maven.artifact.resolver.DefaultArtifactResolver.resolve 
> (DefaultArtifactResolver.java:413)
>     at org.apache.maven.repository.legacy.LegacyRepositorySystem.resolve 
> (LegacyRepositorySystem.java:332)
>     at 
> org.eclipse.tycho.osgi.configuration.MavenDependenciesResolverConfigurer.resolve
>  (MavenDependenciesResolverConfigurer.java:104)
>     at org.eclipse.tycho.core.shared.MavenDependenciesResolver.resolve 
> (MavenDependenciesResolver.java:60)
>     at org.eclipse.tycho.core.resolver.MavenTargetDefinitionContent.<init> 
> (MavenTargetDefinitionContent.java:262)
>     at 
> org.eclipse.tycho.p2resolver.TargetDefinitionResolver.resolveContentWithExceptions
>  (TargetDefinitionResolver.java:179)
>     at org.eclipse.tycho.p2resolver.TargetDefinitionResolver.resolveContent 
> (TargetDefinitionResolver.java:110)
>     at 
> org.eclipse.tycho.p2resolver.TargetDefinitionResolverService.resolveFromArguments
>  (TargetDefinitionResolverService.java:90)
>     at java.util.concurrent.ConcurrentHashMap.computeIfAbsent 
> (ConcurrentHashMap.java:1708)
>     at 
> org.eclipse.tycho.p2resolver.TargetDefinitionResolverService.getTargetDefinitionContent
>  (TargetDefinitionResolverService.java:65)
>     at 
> org.eclipse.tycho.p2resolver.TargetPlatformFactoryImpl.resolveTargetDefinitions
>  (TargetPlatformFactoryImpl.java:214)
>     at 
> org.eclipse.tycho.p2resolver.TargetPlatformFactoryImpl.createTargetPlatform 
> (TargetPlatformFactoryImpl.java:164)
>     at 
> org.eclipse.tycho.p2resolver.TargetPlatformFactoryImpl.createTargetPlatform 
> (TargetPlatformFactoryImpl.java:137)
>     at 
> org.eclipse.tycho.p2resolver.TargetPlatformFactoryImpl.createTargetPlatform 
> (TargetPlatformFactoryImpl.java:88)
>     at 
> org.eclipse.tycho.p2resolver.ReactorRepositoryManagerImpl.computePreliminaryTargetPlatform
>  (ReactorRepositoryManagerImpl.java:61)
>     at 
> org.eclipse.tycho.p2resolver.P2DependencyResolver.computePreliminaryTargetPlatform
>  (P2DependencyResolver.java:202)
>     at org.eclipse.tycho.core.resolver.DefaultTychoResolver.resolveProject 
> (DefaultTychoResolver.java:130)
>     at 
> org.eclipse.tycho.core.maven.TychoMavenLifecycleParticipant.lambda$resolveProjects$2
>  (TychoMavenLifecycleParticipant.java:256)
>     at java.util.stream.ForEachOps$ForEachOp$OfRef.accept 
> (ForEachOps.java:183)
>     at java.util.stream.SpinedBuffer$1Splitr.forEachRemaining 
> (SpinedBuffer.java:364)
>     at java.util.stream.AbstractPipeline.copyInto (AbstractPipeline.java:509)
>     at java.util.stream.ForEachOps$ForEachTask.compute (ForEachOps.java:290)
>     at java.util.concurrent.CountedCompleter.exec (CountedCompleter.java:754)
>     at java.util.concurrent.ForkJoinTask.doExec (ForkJoinTask.java:373)
>     at java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec 
> (ForkJoinPool.java:1182)
>     at java.util.concurrent.ForkJoinPool.scan (ForkJoinPool.java:1655)
>     at java.util.concurrent.ForkJoinPool.runWorker (ForkJoinPool.java:1622)
>     at java.util.concurrent.ForkJoinWorkerThread.run 
> (ForkJoinWorkerThread.java:165)
> {code}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to