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