[ https://issues.apache.org/jira/browse/MRESOLVER-325?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17691652#comment-17691652 ]
Christoph Läubrich edited comment on MRESOLVER-325 at 2/21/23 2:53 PM: ----------------------------------------------------------------------- [~michael-o] fully agree! I just wanted to mention that it does not seem to be a general usage error (Tycho) because then I would expect it to always fail, but there must be some inherit problem that only shows up because windows is more strict on concurrent writes, so in the end it might work on Linux because actually both "things" write the same content... What I can think of (but thats just a wild guess), is that it might be reproducible with: # Having a core extension (.mvn/extensions.xml) # That extension must have a AbstractMavenLifeCycleParticipant # That participant spawn multiple threads that all resolve the same main + source artifacts (the code is here https://github.com/eclipse-tycho/tycho/blob/master/tycho-core/src/main/java/org/eclipse/tycho/osgi/configuration/MavenDependenciesResolverConfigurer.java#L60-L109) in afterProjectsRead. was (Author: laeubi): [~michael-o] fully agree! I just wanted to mention that it does not seem to be a general usage error (Tycho) because then I would expect it to always fail, but there must be some inherit problem that only shows up because windows is more strict on concurrent writes, so in the end it might work on Linux because actually both "things" write the same content... What I can think of (but thats just a wild guess), is that it might be reproducible with: # Having a core extension (.mvn/extensions.xml) # That extension must have a AbstractMavenLifeCycleParticipant # That participant spawn multiple threads that all resolve the same main + source artifacts (the code is here https://github.com/eclipse-tycho/tycho/blob/master/tycho-core/src/main/java/org/eclipse/tycho/osgi/configuration/MavenDependenciesResolverConfigurer.java#L60-L109) > [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)