You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In my case, I setup a jenkins task, in the container configuration, I mounted a volume with the default m2 to ~/.m2 to speed up the build speed, since the volume can be used by other instance, so I create a directory soft link for the ~/.m2/repository/.meta: mkdir -p ~/p2/.meta && ln -s ~/p2/.meta/ ~/.m2/repository/.meta
Then I run the tycho build.
The build worked well until I upgraded the tycho version from 4.0.4 to 4.0.6, now it fails with:
[ERROR] java.nio.file.FileAlreadyExistsException: /home/user/.m2/repository/.meta
java.lang.IllegalStateException: java.nio.file.FileAlreadyExistsException: /home/user/.m2/repository/.meta
at org.eclipse.tycho.core.locking.FileLockerImpl.<init> (FileLockerImpl.java:48)
at org.eclipse.tycho.core.locking.FileLockServiceImpl.lambda$getFileLocker$1 (FileLockServiceImpl.java:71)
at java.util.concurrent.ConcurrentHashMap.computeIfAbsent (ConcurrentHashMap.java:1708)
at org.eclipse.tycho.core.locking.FileLockServiceImpl.getFileLocker (FileLockServiceImpl.java:71)
at org.eclipse.tycho.core.locking.FileLockServiceImpl.lock (FileLockServiceImpl.java:39)
at org.eclipse.tycho.FileLockService.lock (FileLockService.java:32)
at org.eclipse.tycho.p2.repository.FileBasedTychoRepositoryIndex.save (FileBasedTychoRepositoryIndex.java:109)
at org.eclipse.tycho.p2.repository.LocalArtifactRepository.save (LocalArtifactRepository.java:127)
at org.eclipse.tycho.p2resolver.TargetPlatformBaseImpl.saveLocalMavenRepository (TargetPlatformBaseImpl.java:174)
at org.eclipse.tycho.p2resolver.P2ResolverImpl.toResolutionResult (P2ResolverImpl.java:261)
at org.eclipse.tycho.p2resolver.P2ResolverImpl.resolveDependencies (P2ResolverImpl.java:246)
at org.eclipse.tycho.p2resolver.P2ResolverImpl.resolveTargetDependencies (P2ResolverImpl.java:124)
at org.eclipse.tycho.p2resolver.P2DependencyResolver.doResolveDependencies (P2DependencyResolver.java:378)
at org.eclipse.tycho.p2resolver.P2DependencyResolver.resolveDependencies (P2DependencyResolver.java:328)
at org.eclipse.tycho.core.osgitools.AbstractTychoProject.lambda$getDependencyArtifacts$0 (AbstractTychoProject.java:92)
at org.eclipse.tycho.core.osgitools.DefaultReactorProject$LazyValue.get (DefaultReactorProject.java:307)
at org.eclipse.tycho.core.osgitools.DefaultReactorProject.computeContextValue (DefaultReactorProject.java:200)
at org.eclipse.tycho.core.osgitools.AbstractTychoProject.getDependencyArtifacts (AbstractTychoProject.java:82)
at org.eclipse.tycho.core.resolver.DefaultTychoResolver.resolveProject (DefaultTychoResolver.java:98)
at org.eclipse.tycho.core.maven.TychoProjectExecutionListener.beforeProjectLifecycleExecution (TychoProjectExecutionListener.java:111)
at org.apache.maven.lifecycle.internal.CompoundProjectExecutionListener.beforeProjectLifecycleExecution (CompoundProjectExecutionListener.java:42)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:103)
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:261)
at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:173)
at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:101)
at org.apache.maven.cli.MavenCli.execute (MavenCli.java:906)
at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:283)
at org.apache.maven.cli.MavenCli.main (MavenCli.java:206)
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:283)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:226)
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:407)
at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:348)
Caused by: java.nio.file.FileAlreadyExistsException: /home/user/.m2/repository/.meta
at sun.nio.fs.UnixException.translateToIOException (UnixException.java:94)
at sun.nio.fs.UnixException.rethrowAsIOException (UnixException.java:106)
at sun.nio.fs.UnixException.rethrowAsIOException (UnixException.java:111)
at sun.nio.fs.UnixFileSystemProvider.createDirectory (UnixFileSystemProvider.java:398)
at java.nio.file.Files.createDirectory (Files.java:700)
at java.nio.file.Files.createAndCheckIsDirectory (Files.java:807)
at java.nio.file.Files.createDirectories (Files.java:753)
at org.eclipse.tycho.core.locking.FileLockerImpl.<init> (FileLockerImpl.java:46)
at org.eclipse.tycho.core.locking.FileLockServiceImpl.lambda$getFileLocker$1 (FileLockServiceImpl.java:71)
at java.util.concurrent.ConcurrentHashMap.computeIfAbsent (ConcurrentHashMap.java:1708)
at org.eclipse.tycho.core.locking.FileLockServiceImpl.getFileLocker (FileLockServiceImpl.java:71)
at org.eclipse.tycho.core.locking.FileLockServiceImpl.lock (FileLockServiceImpl.java:39)
at org.eclipse.tycho.FileLockService.lock (FileLockService.java:32)
at org.eclipse.tycho.p2.repository.FileBasedTychoRepositoryIndex.save (FileBasedTychoRepositoryIndex.java:109)
at org.eclipse.tycho.p2.repository.LocalArtifactRepository.save (LocalArtifactRepository.java:127)
at org.eclipse.tycho.p2resolver.TargetPlatformBaseImpl.saveLocalMavenRepository (TargetPlatformBaseImpl.java:174)
at org.eclipse.tycho.p2resolver.P2ResolverImpl.toResolutionResult (P2ResolverImpl.java:261)
at org.eclipse.tycho.p2resolver.P2ResolverImpl.resolveDependencies (P2ResolverImpl.java:246)
at org.eclipse.tycho.p2resolver.P2ResolverImpl.resolveTargetDependencies (P2ResolverImpl.java:124)
at org.eclipse.tycho.p2resolver.P2DependencyResolver.doResolveDependencies (P2DependencyResolver.java:378)
at org.eclipse.tycho.p2resolver.P2DependencyResolver.resolveDependencies (P2DependencyResolver.java:328)
at org.eclipse.tycho.core.osgitools.AbstractTychoProject.lambda$getDependencyArtifacts$0 (AbstractTychoProject.java:92)
at org.eclipse.tycho.core.osgitools.DefaultReactorProject$LazyValue.get (DefaultReactorProject.java:307)
at org.eclipse.tycho.core.osgitools.DefaultReactorProject.computeContextValue (DefaultReactorProject.java:200)
at org.eclipse.tycho.core.osgitools.AbstractTychoProject.getDependencyArtifacts (AbstractTychoProject.java:82)
at org.eclipse.tycho.core.resolver.DefaultTychoResolver.resolveProject (DefaultTychoResolver.java:98)
at org.eclipse.tycho.core.maven.TychoProjectExecutionListener.beforeProjectLifecycleExecution (TychoProjectExecutionListener.java:111)
at org.apache.maven.lifecycle.internal.CompoundProjectExecutionListener.beforeProjectLifecycleExecution (CompoundProjectExecutionListener.java:42)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:103)
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:261)
at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:173)
at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:101)
at org.apache.maven.cli.MavenCli.execute (MavenCli.java:906)
at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:283)
at org.apache.maven.cli.MavenCli.main (MavenCli.java:206)
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:283)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:226)
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:407)
at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:348)
The text was updated successfully, but these errors were encountered:
Hi @laeubi , thanks for your response, I'll re-think about the multiple builds issue on my environment;
Anyway, regarding the FileAlreadyExistsException if user creates soft link for ~/.m2/repository/.meta, the issue can also be reproduced on pure local linux machine, just need to create a soft link for ~/.m2/repository/.meta; is it still a bug to be fixed right?
Issue tycho version: 4.0.6
In my case, I setup a jenkins task, in the container configuration, I mounted a volume with the default m2 to
~/.m2
to speed up the build speed, since the volume can be used by other instance, so I create a directory soft link for the~/.m2/repository/.meta
:mkdir -p ~/p2/.meta && ln -s ~/p2/.meta/ ~/.m2/repository/.meta
Then I run the tycho build.
The build worked well until I upgraded the tycho version from 4.0.4 to 4.0.6, now it fails with:
The text was updated successfully, but these errors were encountered: