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

Michael Osipov commented on MRESOLVER-325:
------------------------------------------

Another Windows test:
{code:java}
import java.io.BufferedReader;
import java.io.IOException;
import java.io.Writer;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.nio.file.StandardCopyOption;

import com.sun.jna.platform.win32.Kernel32;
import com.sun.jna.platform.win32.WinBase;
import com.sun.jna.platform.win32.WinDef.DWORD;

public class AtomicMove {

        public static void main(String[] args) throws IOException, 
InterruptedException {

                Path target = Paths.get("mumu");

                for (int i = 0; i < 100; i++) {
                        Path temp = Paths.get("mumu." + i);
                        try (Writer w = Files.newBufferedWriter(temp)) {
                                w.write(i + ": I was made for crashing your, 
baby!");
                        }
                        //Files.move(temp, target, 
StandardCopyOption.ATOMIC_MOVE);
                        Kernel32.INSTANCE.MoveFileEx( 
temp.toAbsolutePath().toString(), target.toAbsolutePath().toString(),
                                        new DWORD( 
WinBase.MOVEFILE_REPLACE_EXISTING | WinBase.MOVEFILE_WRITE_THROUGH ) );
                        try (BufferedReader r = 
Files.newBufferedReader(target)) {
                                System.out.println(r.readLine());
                        }
                }
        }

}
{code}

Output:
{noformat}
0: I was made for crashing your, baby!
1: I was made for crashing your, baby!
2: I was made for crashing your, baby!
3: I was made for crashing your, baby!
4: I was made for crashing your, baby!
5: I was made for crashing your, baby!
6: I was made for crashing your, baby!
7: I was made for crashing your, baby!
8: I was made for crashing your, baby!
9: I was made for crashing your, baby!
10: I was made for crashing your, baby!
11: I was made for crashing your, baby!
12: I was made for crashing your, baby!
13: I was made for crashing your, baby!
14: I was made for crashing your, baby!
15: I was made for crashing your, baby!
16: I was made for crashing your, baby!
17: I was made for crashing your, baby!
18: I was made for crashing your, baby!
19: I was made for crashing your, baby!
20: I was made for crashing your, baby!
21: I was made for crashing your, baby!
22: I was made for crashing your, baby!
23: I was made for crashing your, baby!
24: I was made for crashing your, baby!
25: I was made for crashing your, baby!
26: I was made for crashing your, baby!
27: I was made for crashing your, baby!
28: I was made for crashing your, baby!
29: I was made for crashing your, baby!
30: I was made for crashing your, baby!
31: I was made for crashing your, baby!
32: I was made for crashing your, baby!
33: I was made for crashing your, baby!
34: I was made for crashing your, baby!
35: I was made for crashing your, baby!
36: I was made for crashing your, baby!
37: I was made for crashing your, baby!
38: I was made for crashing your, baby!
39: I was made for crashing your, baby!
40: I was made for crashing your, baby!
41: I was made for crashing your, baby!
42: I was made for crashing your, baby!
43: I was made for crashing your, baby!
44: I was made for crashing your, baby!
45: I was made for crashing your, baby!
46: I was made for crashing your, baby!
47: I was made for crashing your, baby!
48: I was made for crashing your, baby!
49: I was made for crashing your, baby!
50: I was made for crashing your, baby!
51: I was made for crashing your, baby!
52: I was made for crashing your, baby!
53: I was made for crashing your, baby!
54: I was made for crashing your, baby!
55: I was made for crashing your, baby!
56: I was made for crashing your, baby!
57: I was made for crashing your, baby!
58: I was made for crashing your, baby!
59: I was made for crashing your, baby!
60: I was made for crashing your, baby!
61: I was made for crashing your, baby!
62: I was made for crashing your, baby!
63: I was made for crashing your, baby!
64: I was made for crashing your, baby!
65: I was made for crashing your, baby!
66: I was made for crashing your, baby!
67: I was made for crashing your, baby!
68: I was made for crashing your, baby!
69: I was made for crashing your, baby!
70: I was made for crashing your, baby!
71: I was made for crashing your, baby!
72: I was made for crashing your, baby!
73: I was made for crashing your, baby!
74: I was made for crashing your, baby!
75: I was made for crashing your, baby!
75: I was made for crashing your, baby!
77: I was made for crashing your, baby!
78: I was made for crashing your, baby!
79: I was made for crashing your, baby!
80: I was made for crashing your, baby!
81: I was made for crashing your, baby!
82: I was made for crashing your, baby!
83: I was made for crashing your, baby!
84: I was made for crashing your, baby!
85: I was made for crashing your, baby!
86: I was made for crashing your, baby!
87: I was made for crashing your, baby!
88: I was made for crashing your, baby!
89: I was made for crashing your, baby!
90: I was made for crashing your, baby!
91: I was made for crashing your, baby!
92: I was made for crashing your, baby!
93: I was made for crashing your, baby!
94: I was made for crashing your, baby!
95: I was made for crashing your, baby!
96: I was made for crashing your, baby!
97: I was made for crashing your, baby!
98: I was made for crashing your, baby!
99: I was made for crashing your, baby!
{noformat}

There are a few leftover tempfiles, but the content has arrived.

> [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
>             Fix For: 1.9.6
>
>
> 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